规则集中一处 — AI 规则文件怎么写 (2)
如果你每次都在向 AI 重复同样的指示,那就到了该把这些规则汇总进一个文件的时候。本文梳理 CLAUDE.md、AGENTS.md、Cursor 规则、GitHub Copilot 仓库指令这类会在会话开始时被自动读取的规则文件的原理,以及被遵守的规则和被忽略的规则之间的差别。记录型 AI 工作法系列第 2 篇。
如果你正在向 AI 第三次重复同一句话, 那就是个信号:这已经不是对话,而是该写成规则了。
靠嘴反复交代的规则会漏掉
「别动原始数据。」「数字一定要附上依据。」「结果按日期放到这个文件夹。」和 AI 一起工作,往往每次会话都得重复同样的指示。口头交代的规则会随会话结束而消失,到了下一次会话,忘了这条规则的 AI 就会覆盖原始数据,或给出没有依据的数字。
正如上一篇所见,AI 无法跨会话记忆。既然如此,规则就不该放在对话里,而该放进 AI 启动时自己会读的文件。
早已成为标准的那些规则文件
这不是某个特定工具的事,而是在 AI 编程工具里普遍扎根的惯例。
- CLAUDE.md — Anthropic 的 Claude Code 会在开始会话时把这个文件自动载入上下文。可以把全局规则和各项目专属的规则分开放(官方文档、最佳实践)。
- AGENTS.md — 一种不绑定特定公司的开放标准,自称「写给智能体的 README」。据该站点自己统计,已有 6 万个以上的开源项目 在用,OpenAI Codex、Google Jules、Cursor、Copilot 等 20 多种工具予以支持(agents.md)。
- Cursor 规则 — 把项目规则以文件形式放进
.cursor/rules/,就会被注入智能体上下文(单一的.cursorrules已作为遗留方案逐步淘汰,官方文档)。 - GitHub Copilot 仓库指令 — 写进
.github/copilot-instructions.md,就会自动应用于关于该仓库的所有对话。它于 2025 年 1 月 21 日以公开预览形式推出(GitHub 更新日志)。
名字和位置各异,原理却只有一个。把始终要遵守的东西汇总到一处,启动时自动读取。
被遵守的规则和被忽略的规则
做出规则文件,和规则真的被遵守,是两码事。差别就在句子上。
| 被遵守的规则 | 被忽略的规则 |
|---|---|
「原始 data/ 只读,加工件放到 outputs/」 | 「数据小心点」 |
| 「结果数据要并列写上评测集版本与样本数(n)」 | 「认真做」 |
| 「对外发布(追踪器·wiki·消息)须先确认草稿」 | 「上周实验结果大概就那样」 |
原则有三条。
- 用可验证的句子 — 能判断遵守没遵守,才算规则。「小心」是没法判断的。
- 写得简短 — 规则文件每次会话都会被整份读取。越长,每次的成本就越高。Anthropic 的文档也建议保持简洁。
- 剔除一次性事实 — 「上周实验结果」这类进展情况不是规则,该进笔记。规则里只留始终要遵守的东西。
全局文件里放对所有工作都通用的规则,项目文件夹里的文件放只在该项目通用的规则。
规则装不下的东西 — 习惯与事实
有一条边界要注意。「今后 每逢 这种情况就那样做」这类必须毫无遗漏执行的自动化,与其放进规则文件,不如交给程序在指定时点强制执行的装置(钩子)更稳妥。规则没被读到就可能漏掉,而钩子始终会运行。这个话题后续篇章会再谈。
还有,「上次花了半天才查明的陷阱」这类 一次性的事实与教训 不归规则,而归记忆。下一篇接着看 — 一个文件一个事实。
如果你想把规则文件定为团队标准,我们把多个服务作为一套体系运营时所用的规则框架,可以通过联系我们分享给你。
「把 AI 当作会记忆的同事」系列
- AI 为什么会忘记昨天 — 会话的遗忘与上下文成本
- 规则集中一处 — AI 规则文件怎么写(本篇)
- 一个文件一个事实 — 自动记忆
- 写给下一次会话的自己 — 每日笔记与交接
- 升格为团队的语言 — 追踪器·wiki·Git
- 陷阱与四周落地路线图