项目契约:AGENTS/CLAUDE 不是百科全书
把项目规矩固化进项目文件,让 AI 每一轮都能读到。但它是导航,不是把所有话都塞进去。
vibe coding 里,AI 每次对话都不知道你的项目长什么样。想让它在每一轮都守规矩,唯一的办法是把规矩写进项目本身的文件——AGENTS.md、CLAUDE.md,或随身目录下的规则文件。这是「规约落进项目」的最后一步。
读完你能回答:
- 为什么项目契约能省去每轮重复上下文?
- 契约文件该写什么、不该写什么?
- 怎么避免契约文件越来越臃肿?
契约文件解决什么问题
你每次开会都要重新介绍项目背景吗?不会,因为你和团队共享一份「项目记忆」。AGENTS 就是给 AI 的这份共享记忆——它自动出现在每轮对话的上下文里。
- 不用每轮都手打一遍「目录结构、命名习惯」
- 不用重复纠正「我们不用 X 库、用 Y」
- 新对话、新会话,契约自动生效
契约文件该写什么(该写什么就不写什么)
写「代码之外、但影响 AI 判断的信息」,重点写在:
| 类别 | 示例 |
|---|---|
| 项目结构 | 目录怎么分、新文件放哪 |
| 技术约束 | 用哪个框架、不用哪个库、source-of-truth 在哪 |
| 代码规范 | 命名、接口格式、风格、目录惯例 |
| 禁止项 | AI 容易犯的错:别碰哪些文件、别用什么模式 |
反面:别把什么都塞进去。 逐方法、逐文件的解释会又长又容易过期。契约是"导航"不是"百科全书":只放导航入口和真正的约束,细节可以链接到别处。
怎么控制契约不膨胀
- 只有出现「反复纠正同一件事」才加:一次问题先修复,重复路径再沉淀成规则
- 能用机器判断的,就做成脚本/检查,而不是写进契约:契约是提醒,脚本是约束,后者更靠谱
- 删掉不起作用的旧条:跟代码一样,规则也会腐烂,周期性清理
一个测试:契约放一个规则,AI 有没有因此变好? 没有就删 anthropic-sdlc。
契约写法的小建议
- 用「该做什么 / 不该做什么」的清单式,别用长篇散文
- 每条一条,别混在一段里
- 不确定的先标「待补」,别硬填
项目契约立好,AI 就有「常识」了。接下来是真正动手的环节:小步把它做出来,把整块目标拆成能验证的一步步。
