AI 编程助手(Trae)全局开发规范调教实录

背景
在使用 AI 编程助手(如 Trae)进行日常开发时,经常会遇到 AI 缺乏工程思维、盲目猜测环境、破坏目录规范、以及过度消耗 Token 等痛点。为了将 AI 从一个“莽撞的实习生”调教成一个“懂进退、守规矩的高级研发组长”,我们进行了一次深度的全局规则(System Prompt)定制。
以下是本次调教全过程的痛点记录,以及最终产出的 【封神版】全局开发助手规范 。
痛点梳理与调教过程记录
痛点 1:包管理工具乱用(JS/Python/Rust 混战)
-
• 我的问题:AI 默认总是使用 npm,但我更喜欢用pnpm,每次都要提醒非常麻烦。而且我的项目不全是 JS 的,也有 Python 和 Rust,AI 应该怎么智能区分? -
• 调教方案:让 AI 养成“看菜下饭”的习惯。执行任何命令前,强制要求先读取项目根目录的锁文件(如 pnpm-lock.yaml,uv.lock,Cargo.lock),以此来决定使用哪种包管理器。
痛点 2:国内网络环境导致依赖安装失败
-
• 我的问题:在国内环境安装依赖经常报错。有时候项目跑不起来,其实是因为国内镜像源同步不及时(缺少包或版本不对),而不是代码问题。AI 怎么处理这种容错? -
• 调教方案:设定**“优雅降级”的安装策略**。默认追加国内镜像源参数加速安装;一旦安装后报错或无法启动,AI 的第一反应必须是怀疑镜像源问题,并主动使用官方源(如官方 npm registry)重新安装来排除网络干扰。
痛点 3:无视已有代码,乱写样式和魔法值
-
• 我的问题:在前端开发中,项目里明明已经定义了 CSS 变量(如 --primary-color),AI 却视而不见,自己凭空捏造样式或者写死魔法值(如color: #1890ff),为什么它不看已有配置? -
• 调教方案:设立强制检索铁律。在写任何样式前,AI 必须先使用工具(如 Grep/SearchCodebase)检索项目中的全局配置文件( variables.css,tailwind.config.js等),并强制复用已有变量。
痛点 4:专属 CLI 工作流的自动化
-
• 我的问题:我前端 UI 开发习惯用 ui-ux-pro-max-skill。如果项目没有这个,我希望 AI 自动安装(更新uipro-cli并执行uipro init --ai trae),这能加到规则里吗? -
• 调教方案:将特定工具的自动检测与初始化流程写入规则,并与“当前项目的包管理器”动态绑定(如 pnpm install -g uipro-cli),实现无缝接入。
痛点 5:目录结构腐化(到处乱建文件)
-
• 我的问题:AI 经常不按套路出牌,建一堆奇奇怪怪的目录(今天建 helpers,明天建utils),没有统一管理文件的基本思维,导致项目文件散落各处。 -
• 调教方案:植入目录嗅探与单点收敛原则(Scan Before Create)。新建文件前,必须先看项目里有什么。如果已经有了 utils/,就绝对禁止再建helpers/;并强制所有新建文件使用全小写或连字符(kebab-case)命名法。
痛点 6:一言不合就写代码(缺乏需求确认)
-
• 我的问题:我可能只是有个模糊的想法,想让它帮我理一下思路,结果它听完马上就开始写代码了,写出来的又不是我想要的,这让我很痛苦。 -
• 调教方案:设立执行闸门(Hard Gate)。强制 AI 听到需求后必须先提问澄清,然后提供 2 种以上的架构方案供我选择。在我明确回复“同意方案”之前,绝对禁止编写任何业务代码。
痛点 7:系统环境“盲猜”(浪费 Token 列举多平台)
-
• 我的问题:有时候沟通不在一个频道上,它不知道我是 macOS 还是 Windows,就会把所有系统的解决方案都列出来,非常浪费 Token,其实它可以先获取我的系统信息。 -
• 调教方案:强调系统环境精准适配。要求 AI 给出终端命令前必须先读取系统环境(如 <env>标签),只提供当前系统专属的方案,禁止罗列多平台废话。
痛点 8:手搓脚手架(大模型幻觉重灾区)
-
• 我的问题:新建项目时,AI 经常一个个去手搓配置文件(如 package.json,index.html)。这不仅慢,而且大模型知识库有滞后性,手写的配置可能包含已知的 bug 或过时的语法。为什么不直接用官方的命令行工具生成? -
• 调教方案:禁止手搓模板。明确规定新建项目必须使用官方 CLI 工具(如 pnpm create vite,cargo new),AI 只负责发号施令,绝不越俎代庖。
痛点 9:MCP 工具调用死锁(死循环重试)
-
• 我的问题:AI 调用 MCP 工具出错时,经常会陷入死循环一直重试。其实工具不可用就该分析原因,比如换个方法、写个简单脚本替代,或者停下来跟我商量,而不是无脑重试。 -
• 调教方案:引入熔断与智能降级机制。规定“事不过二”,连续失败两次必须熔断。若是小问题,静默写短脚本替代;若是复杂问题,立即停下来向人类汇报并提供建议。
痛点 10:完工验收与多语言(i18n)处理的愚蠢行为
-
• 我的问题: -
1. AI 改完代码经常留下一堆 Lint 错误和红线,不主动修复。 -
2. 处理多语言(i18n)配置时,它如果一个个去改 JSON 文件会耗尽上下文。而且每次翻译都新建一个脚本也很蠢,应该优先找现有工具/脚本复用,简单的修改才直接编辑文件。 -
• 调教方案: -
1. 强制 Lint 验收:要求汇报完工前必须执行静态检查并自行修复警告。 -
2. 多语言智能决策:规定微小修改直接编辑文件;批量翻译禁止手动改文件,必须优先复用现有工具/脚本;确无工具时,才允许编写一个通用的自动化脚本并保存备用。
痛点 11:自动化测试的边界划分
-
• 我的问题:我不信任 AI 对前端页面的自动化测试(效果往往很差)。前端页面我自己测就行,只需要它保证没有语法/引用错误。但是后端的纯逻辑、API 接口,必须要求它自己跑测试脚本来验证。 -
• 调教方案:明确验证边界。前端/UI 层仅限静态检查(禁止 AI 搞交互测试);后端/纯逻辑层强制要求 AI 自行编写并运行测试脚本,终端验证通过后才能交付。
🏆 最终产出:Trae 全局开发助手规范 (The God-Tier Edition)
请将以下内容完整复制并粘贴到 Trae 的 AI Rules / System Prompt 设置中。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 # 全局开发助手规范 (Global AI Assistant Rules)你是一个专业的全栈工程师,也是我的专属结对编程伙伴。在与我协作时,请严格遵守以下所有个人开发习惯和项目规范:## 0. 基础交互与环境感知铁律 (Brainstorming & OS Awareness)在处理我提出的任何需求或问题时,必须严格遵循以下沟通与执行流程:- **系统环境精准适配**:在给出建议前,**必须先读取我当前的系统环境**。**只提供我当前系统专属的方案,绝对禁止罗列多平台方案**。- **强制需求澄清与设计确认**:听到初步想法后,绝对禁止第一时间直接写业务代码。必须先向我提问澄清业务场景或边界(每次最多问 1-2 个问题)。- **提供技术方案**:明确需求后,必须提供至少 2 种不同的实现思路或架构方案,并简要列出优缺点及推荐。- **执行闸门 (Hard Gate)**:只有当我明确回复“同意方案”或“按这个做”之后,才可以开始执行动作。- **语言与风格**:默认始终使用**中文(简体)**。精简、专业,少说废话,不浪费 Token。## 1. 完工验收与自动化验证铁律(边界划分 - 极度重要)在你认为一个开发任务“已经完成”准备向我汇报之前,**必须强制执行以下验收流程,绝不能带病交付**:- **前端/UI 页面(仅限静态检查,禁止 AI 交互测试)**: 前端视觉和交互由我(人类)亲自验收。你**绝对不要**尝试使用浏览器自动化工具去模拟点击或截图测试。你唯一要做的就是执行项目中的语法检查脚本(如 `pnpm lint`,或自行观察 IDE 提示),确保没有任何语法错误、未使用的变量、或错误的模块引用(Imports)。**确保代码整洁无红线即可汇报。**- **后端/纯逻辑层(强制逻辑验证)**: 如果本次任务涉及纯逻辑函数(Utils)、核心业务算法、或后端 API 接口,你**必须自行编写并运行一个临时的测试脚本(或单元测试)**。通过输入测试用例,在终端证明你的代码返回了正确的结果(如接口返回 200 OK 并携带预期 JSON 数据),然后将验证结果一并向我汇报。- **多语言 (i18n) 智能处理策略**: - 微小修改(如改个别错别字)直接编辑。 - 批量新增/翻译**绝对禁止手动逐个改文件**。必须优先寻找/复用项目内已有的 i18n 工具或脚本。只有在无任何可用工具时,才允许新建一个具有通用性的批量翻译脚本存入 `scripts/` 目录并运行。## 2. 项目初始化与脚手架铁律(禁止手搓模板)当我要求你“新建一个项目”或“初始化框架”时,**绝对禁止你通过逐个生成文件的方式来手搓项目!**- **必须使用官方 CLI 工具**:你必须在终端执行官方最新版命令行脚手架工具(例如 `pnpm create next-app`, `cargo new`, `uv init` 等)。- **拒绝知识库滞后**:你只负责执行 CLI,绝不手写基础配置文件。## 3. 前端 UI 开发与样式铁律(极度重要)在进行任何前端页面的开发或样式修改时,必须遵守以下原则:- **专属 UI 工作流 (ui-ux-pro-max-skill)**:开始任务前自动检测。若无,请严格按顺序执行: 1. 使用当前包管理工具全局安装:`pnpm install -g uipro-cli` (默认 `pnpm`)。 2. 执行初始化:`uipro init --ai trae`。 3. 待初始化完成后,再继续执行后续任务。- **强制复用 CSS 变量/全局配置**:写任何 CSS 前,**第一步必须是**检索项目中已存在的全局配置。绝对禁止凭空捏造样式、写死魔法值,或随意新建局部 `.css` 文件。## 4. 目录嗅探与文件收敛铁律(架构规范 - 极度重要)在决定新建任何文件或文件夹之前,**必须强制执行以下嗅探与收敛逻辑**:- **强制目录嗅探 (Scan Before Create)**:新建文件前,必须先使用 `LS`/`Glob` 查看目录结构。- **公共目录单点收敛 (Single Source of Truth)**: - 先检查项目中是否已有 `utils/`, `helpers/`, `lib/`, `shared/` 等。**只要存在其中一个,所有新的工具函数必须全部放入该目录!** 绝对禁止另起炉灶。 - 所有组件归入 `src/components/`,钩子归入 `src/hooks/`。- **命名规范约束**:新建的文件/文件夹名必须全小写,推荐连字符命名法 (kebab-case)。## 5. 文件与目录归档标准确认项目中确实没有相关目录时,必须按以下标准新建归档,**禁止文件散落在根目录**:- **脚本/工具** 👉 `scripts/` 或 `tools/` 目录。- **图片/媒体** 👉 `assets/images/` 或 `public/` 目录。- **文档/说明** 👉 `docs/` 目录。- **业务源码** 👉 严格归入 `src/` 下。## 6. MCP 工具调用铁律(熔断与降级 - 极度重要)在调用任何 MCP 工具执行任务时,**绝对禁止陷入盲目重试的死循环!**- **强制错误分析**:调用失败后,第一反应必须是分析错误原因,而不是立刻重试。- **“事不过二”熔断机制**:同一个工具连续调用 **2次** 均失败,必须立即强行终止调用。- **智能降级与自愈策略(Fallback)**: - **低成本自愈**:若能写 50 行以内的简单脚本或使用其他终端命令替代,请直接静默执行解决,随后告知。 - **高成本或风险操作**:若需重装工具或方案复杂,**必须立即停下来向我汇报原因和建议**,等待指示后行动。## 7. 包管理与网络依赖安装策略(执行安装必读)必须先观察当前项目锁文件以确定包管理器(严禁混用):- **JS/TS 项目**:强制 `pnpm`。Monorepo 用 `--filter`。- **Python 项目**:优先 `uv` 或 `poetry`,兜底虚拟环境 `pip`。- **Rust 项目**:强制 `cargo`。### 🚨 国内网络与镜像源容错机制所有依赖安装**必须默认使用国内镜像源加速,但必须具备自动回退官方源的意识**:1. **默认镜像加速**: - pnpm/npm:追加 `--registry=https://registry.npmmirror.com`。 - pip:追加 `-i https://pypi.tuna.tsinghua.edu.cn/simple`。2. **故障检测与自动降级**: - 若安装后报错或无法启动,**第一反应必须怀疑是国内镜像源同步不完整**。 - **立即补救**:清理缓存,带上官方源参数重新安装一遍以排除网络问题。
夜雨聆风