1.3 建立 AI 规则:Rules、Skills 与 AGENTS.md¶
让 AI 知道“能做什么、该怎么做、哪些不能做”¶
为什么 AI 也需要项目规则
把 AI 看作刚加入项目的开发成员:它很会写代码,却不了解你们的技术栈、目录结构、接口约定和数据库边界。
- 没有规则:它可能根据常见做法自由补全,结果与当前项目不一致;
- 只有一句临时提示:下次对话还要重新说明,团队成员也难以保持一致;
- 有 Rules、Skills 与
AGENTS.md:项目要求被沉淀下来,AI 每次协作都有明确依据。
AI 能力越强,越需要先写清边界。规则不是限制效率,而是减少返工。
本节学习目标
理解 Rules、Skills、MCP 与 AGENTS.md 的分工;为自己的项目写一份简洁、可执行的 AI 协作规则。
🧭 先建立一张“分工图”¶
在 Trae 中,与 AI 协作时经常会接触 Rules、Skills、MCP 和 AGENTS.md。它们解决的问题不同:
| 名称 | 回答的问题 | 适合放什么 |
|---|---|---|
| Rules(规则) | AI 在协作中必须遵守什么? | 语言偏好、代码风格、项目约束 |
| Skills(技能) | AI 应该怎样完成一类任务? | 测试流程、代码审查、文档编写方法 |
| MCP Server | AI 可以调用什么外部能力? | 浏览器、文档检索、仓库或数据库工具 |
AGENTS.md |
当前项目有哪些长期有效的协作说明? | 项目背景、红线、开发流程、验证要求 |
可以用一个简单的比喻理解:
Rules 是施工规范,Skills 是操作手册,MCP 是工具箱,
AGENTS.md是项目现场须知。
不要把所有内容都堆进一个文件
必须始终遵守的少量要求适合写成规则;复杂、可复用的流程适合做成 Skill;需要连接外部资源时再配置 MCP。内容越清晰,AI 越容易稳定执行。
📌 Rules:把反复强调的要求固定下来¶
Rules 用于约束 AI 的日常协作行为,例如回答语言、代码风格、框架约定和安全要求。合理的规则能让每次对话少重复背景,也能让团队成员使用 AI 时保持一致。
哪些内容适合写成 Rules¶
| 适合写入 | 示例 |
|---|---|
| 输出习惯 | 所有解释使用中文;修改后说明验证方式 |
| 技术约束 | 前端使用 Vue 3;后端使用 Spring Boot 3 |
| 代码规范 | 复用现有目录结构;遵循项目已有的命名与异常处理方式 |
| 安全边界 | 不提交密钥;不删除数据;涉及表结构变更必须先说明 |
写规则的三个原则¶
- 保持短小、聚焦:一条规则只表达一类要求,避免写成冗长的项目说明书;
- 避免相互冲突:例如不能同时要求“所有代码立即修改”和“任何修改都必须先确认”;
- 写成可检查的动作:用“修改前先阅读相关文档”“完成后运行测试”,不要只写“注意代码质量”。
规则功能会因 Trae 版本和客户端而变化
Trae 的规则管理入口、作用范围和可用配置会持续更新。请以当前客户端的“设置 → 规则”界面及 Trae 官方规则文档 为准。不要依赖来源不明的目录结构、固定优先级或工具数量上限。
🧠 Skills:把成熟的工作方法交给 AI¶
Skill 通过 SKILL.md 定义,用来描述一类任务的目标、适用场景和执行步骤。与每次对话都加载的规则相比,Skill 通常在任务相关时按需使用,适合承载较长、较完整的工作流程。
Skill 和 Rule 有什么不同¶
| 对比项 | Rules | Skills |
|---|---|---|
| 核心作用 | 约束日常行为与底线 | 指导完成特定类型的任务 |
| 内容特点 | 短小、明确、长期有效 | 有步骤、有模板、可复用 |
| 典型示例 | 使用中文;禁止泄露密钥 | 如何进行 TDD;如何系统化调试 |
| 使用建议 | 少而精,避免冲突 | 按任务选择,不必每次都用 |
例如,“不要擅自修改数据库表结构”是一条 Rule;“遇到报错时先收集证据、提出假设、复现、定位并验证”的完整流程,更适合作为调试 Skill。
一个 Skill 的基本结构¶
SKILL.md 可以从一个简单模板开始:
本课程直接使用 Superpowers-zh
在上一节中安装的 Superpowers-zh 已提供头脑风暴、计划、测试驱动开发、系统化调试和代码审查等 Skills。开始项目时先使用现成方法,等真正出现稳定、重复的需求,再考虑为项目编写自己的 Skill。
🧰 MCP:给 AI 接入需要的工具¶
MCP(Model Context Protocol)让 AI 能够调用外部工具和服务。例如读取最新官方文档、操作浏览器、访问代码仓库或执行特定的数据处理任务。
| 场景 | 可能需要的 MCP 能力 | 你要关注什么 |
|---|---|---|
| 查框架用法 | 官方文档检索 | 确认文档来源和版本 |
| 验证前端页面 | 浏览器自动化或开发者工具 | 用真实页面和控制台结果验收 |
| 团队协作 | Git 仓库、Issue、PR 操作 | 谨慎授予写入、合并和发布权限 |
| 读取外部数据 | 接口、文件或数据库连接 | 最小权限、避免暴露敏感信息 |
MCP 不是装得越多越好
每增加一个工具,就增加了权限、上下文和维护成本。先启用完成当前任务必需的工具;不使用时及时关闭;涉及仓库写入、数据库操作或密钥时,先确认权限范围和操作结果。
📄 AGENTS.md:项目的 AI 协作说明书¶
AGENTS.md 是放在项目根目录的 Markdown 文件,用于描述项目中的 AI 协作规则。它能被支持该约定的工具复用,因此适合记录跨工具、跨成员都应遵守的项目要求。
在 Trae Work 中,要让项目中的 AGENTS.md 生效,需要在“设置 → 规则”的导入设置中开启“将 AGENTS.md 包含在上下文中”。具体入口以你的 Trae 客户端界面为准。
什么该写进 AGENTS.md¶
| 类别 | 应写内容 | 不建议写什么 |
|---|---|---|
| 项目背景 | 系统用途、主要角色、目录说明 | 与当前项目无关的通用教程 |
| 开发边界 | 不得私自改变表结构;不得新增未确认功能 | 模糊的“代码写好一点” |
| 技术约定 | 实际使用的框架、版本、已有公共组件 | 尚未确定的技术选型 |
| 协作流程 | 先读文档、列计划、实施、验证、汇报 | 过细且每个任务都不适用的步骤 |
| 验证要求 | 修改后运行哪些测试、构建或页面检查 | 无法在项目中执行的空泛指标 |
课程项目的最小模板¶
下面是一份适合课程项目起步使用的模板。请根据自己的实际技术栈和文档路径替换内容,不要直接照抄不存在的文件名或框架。
不要把示例当成项目事实
如果项目没有 requirement.md、没有 Spring Boot,或没有统一的 BusinessException,就不要在 AGENTS.md 中强行要求它们。规则必须反映真实项目,否则 AI 会被错误上下文带偏。
🚦 从第一条规则开始¶
现在不需要一次写完所有规范。先为自己的项目完成下面三步:
- 在项目根目录创建
AGENTS.md; - 写清 3—5 条最关键的红线,例如“先读文档”“不改表结构”“不提交密钥”;
- 在 Trae 中确认已启用
AGENTS.md导入,然后用一个小任务验证 AI 是否会先阅读规则。
可以这样向 AI 发出任务:
如果 AI 能先给出计划,而不是直接大段生成代码,说明你的协作规则已经开始发挥作用。
🤝 四类能力如何配合¶
| 你需要解决的问题 | 优先使用什么 | 示例 |
|---|---|---|
| 每次都必须遵守的约束 | Rules 或 AGENTS.md |
禁止提交密钥;修改前先阅读文档 |
| 可复用的复杂工作流 | Skills | TDD、系统化调试、代码审查 |
| 连接外部资源或执行操作 | MCP | 浏览器验收、查询官方文档、仓库协作 |
| 某次具体功能的实现 | 对话任务与人工审核 | 实现借阅申请并运行验证 |
规则守住边界,Skills 提供方法,MCP 扩展能力,而你负责判断与验收。
📝 本节小结¶
- Rules 规定底线:把短小、长期有效、必须遵守的要求固定下来;
- Skills 规定方法:把测试、调试、审查等复杂流程做成可复用的说明;
- MCP 提供工具:只在确有需要时接入外部能力,并控制权限;
AGENTS.md说明项目:记录真实项目的背景、红线、流程和验证要求;- 你始终负责最终决策:AI 的建议和代码必须经过阅读、运行与验证。
后续章节将基于这些规则,进入分模块开发与 AI 代码审查的实战。