Skip to Content
八. 实战与总结30 · 最佳实践

30 · 最佳实践

Trae 最佳实践合集 —— 从模式选型到团队协作,真正用好 AI 原生 IDE


01 · 模式选择决策框架

Trae 提供 Chat / Builder / SOLO 三种协作模式,选错模式是效率低下的首要原因。下面这张决策树帮你一次选对:

你的需求是什么? ├─ 读代码、问问题、修局部 bug ──────────→ Chat 模式 ├─ 从零搭项目、快速出原型 ───────────────→ Builder 模式(半自动) ├─ 要 AI 独立完成一个完整功能 ──────────→ SOLO 模式(全自动) │ │ │ ├─ 新项目/新模块 ──────────────────→ SOLO Builder │ └─ 改已有项目/重构/修复杂 bug ────→ SOLO Coder └─ 不清楚先探索 ─────────────────────→ 用 Chat 问路

三种模式对比速查

维度ChatBuilderSOLO
自主程度人类全程主导人类审核每步 diffAI 自主规划执行
多文件修改手动指定需逐条确认自动完成
执行终端命令是(npm install, git 等)
自我纠错
运行调试
响应速度快(~0.6s)慢(完整规划循环)
适合场景局部修改、问答框架搭建、原型独立功能、重构

实战建议:三段式工作流

最高效的使用方式不是死磕一种模式,而是按阶段切换:

Chat(探路)→ Builder(小改)→ SOLO(干大活)

真实案例:给老项目加”导出 Excel”功能

  1. Chat 探路:「这个项目数据怎么存的?导出 Excel 推荐用什么库?」 → AI 推荐 exceljs
  2. Builder 小改:「在 src/services/report.ts 里加一个 exportToExcel 函数」 → 检查 diff,确认无误
  3. SOLO 干大活:「在报告页面加导出按钮,处理 loading、错误提示、文件名带时间戳」 → AI 自己改组件、加状态、跑验证

经验法则:Chat 消耗最少 Token,Builder 适合你清楚改什么但懒得写,SOLO 适合你只有需求描述、不想管实现细节。能用 Chat 解决的问题,不要开 SOLO。


02 · Builder 模式 Prompt 工程

Builder 模式的核心是 “你描述需求,AI 出代码,你审核”。Prompt 的质量直接决定 Builder 的输出质量。

黄金公式

角色 + 技术栈 + 功能清单 + 约束条件 + 输出格式

实战对比

❌ 差: "做一个博客网站" ✅ 好: "你是一个资深前端架构师。 技术栈:Next.js 14 + Tailwind CSS + shadcn/ui。 功能:首页文章列表、文章详情页、About 页面。 数据:文章用 MDX 文件存储,放在 /content 目录。 约束:使用 App Router,支持深色模式切换。 输出:只返回关键文件代码,忽略 node_modules 和配置文件。"

Builder 专属技巧

  1. 多模态输入:拖入 Figma 截图、手绘草图、竞品截图,AI 分析后生成对应 UI 代码(国际版支持更稳定)
  2. 分步确认:Builder 的每处修改都会展示 diff 对比,逐条 Accept / Reject,不要图快全盘接受
  3. 增量迭代:第一次生成骨架后,继续追加需求 —— 「加一个搜索框」「改成卡片布局」,Builder 会增量更新
  4. 局限于文件:如果只想改某个文件,在 Prompt 里加「仅修改 src/components/Header.tsx

03 · SOLO 模式 Prompt 工程

SOLO 模式的 AI 会自主规划步骤、执行命令、自我纠错。你的 Prompt 更像是一份任务需求说明书

适合 SOLO 的场景

适合不适合
独立的新功能模块级联影响核心逻辑的改动
自包含的组件重构需要领域专家判断的业务
CRUD API 全套安全敏感代码(认证、支付)
测试用例批量生成高并发/金融核心
从零搭建项目框架依赖多人评审的基础设施变更

Prompt 结构模板

## 任务目标 一句话说明要做什么 ## 技术约束 - 框架版本、包管理器 - 已有代码风格(函数式 / OOP) - API 命名规范 ## 功能清单 1. 功能 A 2. 功能 B 3. 功能 C ## 边界条件 - 不改动哪些文件 - 不引入哪些依赖 - 不处理哪些边缘情况 ## 验收标准 - 代码通过 eslint 检查 - 有单元测试覆盖 - 启动后无报错

实战案例

任务目标:在订单管理页面增加批量导出功能。 技术约束: - Vue 3 + Composition API + TypeScript - 后端 API 返回格式统一为 { code, data, message } - 使用 Pinia 管理状态 功能清单: 1. 表格左侧加复选框列 2. 顶部加「批量导出」按钮 3. 点击后调 POST /api/orders/export 4. 导出期间按钮显示 loading 5. 完成后下载文件 / 展示错误提示 边界条件: - 不要修改 src/api 目录下的已有请求封装 - 不要新增 npm 依赖 - 默认全选时最多导出 5000 条 验收标准: - 本地 yarn dev 无报错 - 用户只有选中行才能点击导出

SOLO 使用三大纪律

  1. 先 commit 再干活:每次让 SOLO 干活前先 git commitgit stash,跑偏了可以一键回退 git checkout .
  2. 小步快跑:复杂任务拆成子任务,比如「做电商系统」要拆成用户模块 → 商品模块 → 订单模块,每个模块独立一次 SOLO
  3. 看执行日志,及时干预:SOLO 执行时实时输出计划和操作,花几秒扫一眼,早发现理解偏差早纠正

04 · 模型选择指南

Trae 国内版内置多款国产大模型,不同模型擅长不同任务。不是选最强的,是选最匹配的。

国内版模型选型表

模型定位最佳场景慎用场景
豆包 Doubao-Seed-2.0-Code前端生产力神器UI 生成、设计稿转代码、模板代码复杂架构设计
GLM-5 / GLM-5.1架构师型系统架构设计、复杂推理、从 0 开发 Web 应用简单模板生成(浪费性能)
MiniMax-M2.5后端工程专家跨语言重构、Shell/DevOps 脚本前端 UI 类任务
Kimi-K2.5代码库阅读之王超长上下文、遗留项目接手、文档分析代码生成(偏慢)
DeepSeek R1/V3多面手代码生成、逻辑优化、简单代码片段大型架构设计
千问 Qwen-3-Coder通用编码日常编码、中等复杂度任务专项高难度推理

国际版模型选型速查

模型定位
Claude 3.5/3.7 Sonnet全栈通用,代码质量最佳
GPT-4o / 4.1综合能力强,长上下文
Gemini 2.5 Pro超长上下文(1M+ tokens)
Grok-4偏推理和新技术探索

Auto 模式:新手首选

不知道选哪个模型时,直接用 Auto 模式。Trae 会根据你的任务智能匹配最优模型,不额外收费。

实战建议:像组队一样用模型

前端页面 → 豆包 / Claude Sonnet 后端 API → GLM-5 / GPT-4o 脚本工具 → MiniMax / DeepSeek 遗留代码分析 → Kimi-K2.5 / Gemini 2.5

经验法则:简单任务(改一个函数、加一个组件)用快速模型(豆包、DeepSeek),复杂任务(架构设计、系统重构)用强推理模型(GLM-5、Claude Sonnet)。不要用 SLR 拍苍蝇。


05 · 模式与模型交叉决策矩阵

结合「模式选择」和「模型选择」,完整的决策矩阵如下:

任务类型推荐模式推荐模型原因
技术问答 / 读代码ChatDeepSeek / Kimi快速、上下文大
局部修改(1-2 文件)Chat / Builder豆包 / DeepSeek响应快,够用
新项目搭建BuilderGLM-5 / Claude Sonnet需要架构能力
前端 UI 生成Builder豆包 (Doubao-Seed-2.0)前端专项优化
独立模块开发SOLO CoderGLM-5 / GPT-4o需要规划能力
从零搭全栈SOLO BuilderClaude Sonnet / GLM-5全流程自动化
遗留代码重构SOLO CoderKimi-K2.5 + GLM-5先读懂再动手
批量写测试SOLO Coder豆包 / DeepSeek重复性高,追求效率
DevOps 脚本Chat / BuilderMiniMaxDevOps 专项
跨语言迁移SOLO CoderMiniMax / GPT-4o跨语言理解强

06 · .trae/rules 规则编写指南

.trae/rules 是 Trae 最核心的效率杠杆 —— 花 30 分钟配置,每天省 2 小时

规则目录结构规范

.trae/rules/ ├── general-rules.md # L0: 通用规则(始终生效) ├── frontend/ │ ├── react-best-practices.md # React 编码规范 │ ├── css-naming.md # CSS 命名约定 │ └── testing/ │ └── unit-test-rules.md # 单元测试规范 ├── backend/ │ ├── api-design.md # API 设计规范 │ └── error-handling.md # 错误处理 └── devops/ └── ci-rules.md # CI/CD 规范

支持 3 层嵌套,也支持从子目录(如 packages/admin/.trae/rules/)自动读取。

四种生效模式

生效方式配置字段适用场景
始终生效不设 globs语言偏好、输出格式、通用规范
文件匹配globs: ["*.tsx", "*.ts"]与文件类型强相关的规则
智能生效description 字段偶尔使用但重要的规则
手动触发开头加 #Rule高风险操作、回滚 SOP

规则编写模板

--- globs: "*.ts, *.tsx" --- # TypeScript 编码规范 ## 命名约定 - 组件文件使用 PascalCase:`UserCard.tsx` - 工具函数文件使用 camelCase:`formatDate.ts` - 常量使用 UPPER_SNAKE_CASE:`MAX_RETRY_COUNT` ## 类型规范 - 禁止使用 `any` 类型,必须定义明确类型 - 接口声明加 `I` 前缀是可选项,团队内保持一致 - 优先使用 `type` 而非 `interface`(联合类型场景) ## 代码风格 - 使用 2 空格缩进 - 使用单引号 - 尾部必须加分号 - 函数用 `function` 声明而非箭头函数赋值 ## 导入顺序 1. 外部库(react, lodash 等) 2. 内部模块(@/components, @/utils) 3. 类型导入(import type)

团队级规则示例(git 提交规范)

--- scene: git_message --- - 遵循 Conventional Commits 格式 - 标题不超过 72 字符 - 中文描述变更内容 - 引用 Issue 编号(如果适用) - 禁止使用「修复bug」「更新代码」等无意义描述

三条核心原则

  1. 单一职责:一条规则只解决一个问题。代码风格放一个文件,API 规范放另一个文件
  2. 避免冲突:规则之间不能互相覆盖或矛盾。如果两条规则对同一个问题有不同要求,AI 会困惑
  3. 改完开新对话:每次修改或新增规则后,必须开启全新对话,否则历史上下文可能覆盖新规则

经验法则:判断规则写得好不好的标准 —— 当你说「帮我实现 X 功能」时,AI 自动生成的代码风格是否和团队一致?如果一致,规则系统生效了;如果不一致,规则需要调整。


07 · Commit 策略

AI 生成的代码变化量大、变化速度快,没有扎实的 commit 策略等于在悬崖边 coding。

黄金原则:先 commit,再让 AI 干活

# 改任何东西之前 git add . && git commit -m "chore: save before AI task" # 让 AI 干活... # 审查 AI 改动,满意则保留 git add . && git commit -m "feat: 用户模块 CRUD 实现" # 不满意则一键回退 git checkout .

使用 Trae 内置 /commit 指令

Trae 提供 /commit 斜杠指令,自动分析代码改动并生成规范提交信息:

/commit

AI 会自动分析 diff,生成类似这样的提交信息:

feat(order): 增加批量导出功能 - 添加复选框列和批量导出按钮 - 实现 POST /api/orders/export 调用 - 导出期间展示 loading 状态

/commit 规则配置(可选)

.trae/rules/ 中配置 commit 风格模板:

--- scene: git_message --- - 格式:类型(范围): 简短描述 - 类型:feat / fix / refactor / style / docs / chore / test - 描述不超过 50 中文字符 - 如果有破坏性变更,在描述末尾加 BREAKING CHANGE

三种实用提交策略

场景策略commit 频率
探索阶段(不确定方向)每次 AI 改完就 commit,随时回退高频(每轮对话)
确定功能开发功能完成后 commit,一个功能一个 commit中频(每小时)
多人协作分支开发,PR 前 rebase 整理 commit 历史低频(每天)

08 · 上下文(Context)管理

上下文是 AI 编程的核心燃料。上下文的质量决定了 AI 输出的质量。

Context Engineering:字节跳动的方法论

Trae 背后团队将上下文管理提升到方法论高度 —— Context Engineering,核心理念:

  1. 识别关键信息:区分架构决策、业务规则和历史债务,不是把所有文件塞给 AI
  2. 结构化组织:项目级上下文和模块级上下文分层管理
  3. 精准传递:在有限 Token 窗口内,只给 AI 当前任务最需要的信息
  4. 持续迭代:上下文库随项目演进不断更新

实用上下文管理技巧

1. 精准引用(代替全量提及)

❌ "看看我的项目,帮我改一下" ✅ "参考 src/utils/format.ts 的 formatDate 函数,给 console.ts 的 logWithTime 函数增加时区参数"

2. 使用 @file / @folder 绑定

Trae 支持在对话中通过 @file@folder@terminal 精准绑定文件或目录:

把 @file(src/services/user.ts) 的 getUserInfo 改为异步调用, 同时更新 @folder(src/components/user/) 下的所有调用方

3. 上下文预加载

处理大型项目时,先用 Chat 模式做上下文预加载:

"请通读当前项目 src 目录下的所有文件,生成架构图并总结核心模块,包括: 1. 目录结构和模块划分 2. 数据流向 3. 关键技术选型 4. 潜在的坑"

之后再开新对话开始实际编码,AI 已经具备了全局认知。

4. 节约 Token 的交互策略

策略说明节省量级
新开对话切换任务时重开,不要续聊30-50%
一次问完同类需求一次提出,不要碎片化20-30%
限制输出”只给代码,不要解释”10-20%
先 Plan 再写复杂任务先用 /plan 确认方案避免大规模返工
配置 Ignore排除 dist/node_modules/持续节省

5. 跨会话上下文持久化

对于多天或多次会话的大项目,可以使用 SAVEAGG / LOADAGG 模式:

第一次会话:工作一段时间 → 执行 SAVEAGG 保存进度到 UPDATE_PR.md 后续会话:执行 LOADAGG 恢复上下文 → 继续工作 → SAVEAGG 查看历史:LOADAGG LIST 对比差异:LOADAGG DIFF #1 #2

09 · 国内版 vs 国际版最佳使用

核心差异速览

维度国内版 (trae.cn)国际版 (trae.ai)
内置模型豆包、DeepSeek、GLM-5、Kimi、千问GPT-4o、Claude、Gemini、Grok
计费完全免费(高峰期排队)Free 5000次/月,Pro $10/月
网络直连,低延迟需科学上网
SOLO 模式免费开放需 Pro 订阅
多模态传图暂不支持支持
中文理解深度优化依赖模型自身
登录手机/微信/掘金Google/GitHub 邮箱

选择决策树

你的主要场景是什么? ├─ 学生/轻量使用/中文项目 ──────────→ 国内版(免费版就够) │ └─ 高峰期排队严重?→ 错峰使用或切 Auto 模式 ├─ 职业开发/中文为主但需要国际模型 ──→ 国内版 + 自备 API Key │ └─ 或国际版 Pro(能科学上网则推荐) ├─ 必须用 Claude/GPT-4o ────────────→ 国际版 Pro($10/月) │ └─ 大量使用 → Ultra $100/月 └─ 做 UI 设计稿转代码 ─────────────→ 国际版(国内版不支持)

避坑提醒

  1. 国内版优速通是陷阱:999 元/30 天,远超国际版 Pro 年费(约 1260 元/年)。除非你每天 8 小时高强度使用且排队到无法忍受,否则不要买
  2. 国内版排队策略:白天高峰期严重(有时 3000+ 人排队),建议早上/深夜使用,或开启 Auto 模式由系统智能调度
  3. 国际版 Token 消耗:中文内容 Token 消耗是英文的 1.5 - 2 倍,注意预算
  4. 自备 API Key:国内版也支持接入 OpenAI/Claude(需自备 Key),但有用户反馈接入后可能降智
  5. 90% 的用户用国内免费版就够了 —— 别在工具上花冤枉钱,先把代码写好

10 · 团队协作 Workflow

当代码生成不再是瓶颈,协同规则才是唯一的稀缺资源

团队 AI Coding 第一张表

在团队开始使用 Trae 之前,先填这张表

维度团队约定负责人
上下文:事实源优先级、公共文档位置、禁止提及的内容
行为:AI 可编辑范围、终端命令权限、MCP 白名单
产出:分支策略、PR 习惯、评审补充项、长任务验收人

团队级 Rules 同步

统一所有成员的规则配置:

# docs/team-trae-rules.md(团队共享) ## 通用规范(全员导入为 Global Rules) - TypeScript strict 模式,禁止 any - 2 空格缩进,单引号,必须加分号 - 组件使用 function 声明而非箭头函数 - API 返回值统一为 { code, data, message } ## 安全红线(手动触发规则) - 禁止 AI 修改 src/auth/ 和 src/payment/ 目录 - 禁止 AI 执行 db:migrate 命令 - 禁止 AI 写入 .env 文件

.traeconfig.json 分支绑定

通过 traeconfig.json 将 AI 能力范围与 Git 分支绑定:

{ "scope": "multi-file", "allowed_tools": ["file-creator", "api-contract-sync", "test-gen"], "blocked_files": ["src/config.ts", "docker-compose.yml"], "dependency_rules": [ "models.py → routes.py → templates/", "store.ts → components/" ] }

角色化智能体编排

按角色拆分 AI 的能力范围,避免全量能力暴露:

角色可用工具不可触碰
前端智能体组件创建、样式修改、Story 生成API 层、数据库
后端智能体API 开发、数据库迁移、测试UI 代码
DevOps 智能体Dockerfile、CI 配置业务逻辑

团队 Prompt 库

建立团队共享的 Prompt 仓库:

docs/prompts/ ├── frontend-component.md # 新建组件的标准 Prompt ├── api-crud.md # CRUD API 标准 Prompt ├── fix-bug.md # Bug 修复标准 Prompt └── code-review.md # Code Review Prompt

定期评审,将高效的 Prompt 升级为团队 Skill 技能

安全工作流

  1. 每次让 AI 改代码前:先 commit 当前状态
  2. AI 生成 diff 后:逐条审查,特别关注删除的内容
  3. 生产环境前:有人工 Code Review 环节
  4. 密钥管理:敏感信息不要出现在 prompt 里,用环境变量注入

11 · 技能(Skill)与 MCP 进阶

Skill 机制

Skill 是模块化的能力扩展,一个 Skill 只做一件事:

# 全局 Skill:对所有项目可用 - 通用的开发范式、工具链使用 # 项目 Skill:仅当前项目 - 项目专属业务知识、技术方案约束

最佳实践

  • 最小化原则:一个 Skill 只封装一个任务场景
  • description 中使用精确关键词便于 AI 自动匹配
  • 复杂 Skill 可拆分引用文件(reference.md、examples.md)

Skill 与 Rules 的区别:

维度RulesSkills
作用约束 AI 行为赋予 AI 能力
时机始终/按条件生效AI 按需触发
示例”缩进用 2 空格""按这个模板生成 PR 描述”

MCP(Model Context Protocol)

MCP 让 Trae 连接外部工具和数据源:

Trae ↔ MCP Server ↔ 外部工具(Figma、Jira、数据库等)

实用场景

  • Figma MCP:设计稿直接转代码(国际版)
  • Jira MCP:从 Issue 自动生成任务上下文
  • 数据库 MCP:直连数据库查看 Schema,AI 自动生成查询

MCP 避坑

  • MCP Server 调用失败时,重启 Trae 或重新开关 MCP 服务
  • 非必要不开启 MCP,减少上下文干扰
  • MCP 返回的数据量可能很大,注意 Token 消耗

12 · 上下文压缩与 Token 节省 10 法

编号方法一句话说明
01新开对话切换任务就重开,别续聊
02精准引用函数/类/行号,不是整个项目
03一次问完同类需求合并提出,不碎片化
04限制输出长度”只给最终结果,不要解释”
05先 Plan 再写/plan 确认方案,避免返工
06上下文压缩定期总结长对话,开启新对话粘结论
07规则固化编码规范写入 Rules,不重复说
08配置 Ignore 文件排除 dist、build、日志等噪声
09模型匹配任务简单任务用低成本模型
10删除无用对话不用了的对话及时关,系统缓存也会释放

核心心法:好的 Prompt 省下的 Token,比任何技术技巧都多。每次发消息前想一下 —— 这句话 AI 真的需要吗?


13 · 避坑合集

Trae 使用常见问题与对策

问题原因对策
AI 基于旧记忆回复假代码上下文污染新开对话,或输入「清空你的历史记录和历史记忆」
SOLO 模式思考次数用尽任务太复杂拆分为更小的子任务
AI 擅自修改无关文件上下文边界不清在 Prompt 里加「仅修改 src/my-module/ 下的文件」
Builder 改了大半不对需求描述不精确先用 Chat 沟通确认方案,再用 Builder 出代码
规则不生效修改规则后未开新对话改规则后必须开新对话
排队太久(国内版)高峰期免费用户错峰使用,或开 Auto 模式
MCP Server 连接失败服务异常重启 Trae 或重新开关 MCP
生成的代码和项目风格不一致规则配置不完善完善 .trae/rules 中的代码风格规则

14 · 总结 —— Trae 最佳实践全景图

┌──────────────────────────────────────────────────────────────┐ │ 🎯 模式选型 │ │ Chat(问答)← → Builder(半自动)← → SOLO(全自动) │ │ 三段式工作流:Chat 探路 → Builder 小改 → SOLO 干大活 │ ├──────────────────────────────────────────────────────────────┤ │ 🧠 模型选型 │ │ 豆包→前端 | GLM-5→架构 | MiniMax→后端 | Kimi→读代码 │ │ 简单任务用小模型,复杂任务用强模型 │ ├──────────────────────────────────────────────────────────────┤ │ 📐 规则系统 │ │ .trae/rules/ 三级目录,四种生效模式 │ │ 单一职责、避免冲突、改完开新对话 │ ├──────────────────────────────────────────────────────────────┤ │ 📦 上下文管理 │ │ 精准引用、@file 绑定、新开对话、SAVEAGG 持久化 │ │ 上下文质量 = AI 输出质量 │ ├──────────────────────────────────────────────────────────────┤ │ 🔒 安全与协作 │ │ 先 commit 再 AI → 审查 diff → 人工 CR │ │ 团队统一 Rules + Prompt 库 + 角色化智能体 │ ├──────────────────────────────────────────────────────────────┤ │ 💰 版本选择 │ │ 90% 的用户用国内免费版就够了 │ │ 需要 Claude/GPT → 国际版 Pro │ │ 优速通是陷阱,不要买 │ └──────────────────────────────────────────────────────────────┘

一句话记住所有

模式选对、模型匹配、规则写好、commit 勤快、上下文精炼、安全第一、不花冤枉钱。


15 · 下一篇

👉 31 · 提示词工程合集 —— Trae 专属 Prompt 模板 50 式


最后更新:2026 年 7 月 | Trae 版本 v2.x