乐于分享
好东西不私藏

别再买 AGENTS.md 模板了:真正该抄的不是提示词,是你的工程规矩

别再买 AGENTS.md 模板了:真正该抄的不是提示词,是你的工程规矩

别再买 AGENTS.md 模板了:真正该抄的不是提示词,是你的工程规矩

昨天刚写完“别再花钱买 Codex 资料包了”,今天早上继续用 Agent Reach 看了一圈,我觉得可以再往下拆一层。

现在被包装得最凶的,不只是 Codex 入门资料,而是 AGENTS.md。

B站上已经能搜到一堆“AGENTS.md 基础教程”“12 条规则”“三层约束实测”“附教程文档安装包”;X 上也有不少“复制 Karpathy 的 65 行配置,两分钟领先大多数 Codex 用户”的传播。更有意思的是,OpenAI Developers 在 7 月 21 日刚发了一个更新:Codex Code Review 现在可以使用 AGENTS.md 里的自定义仓库规则。

也就是说,这个文件确实重要。

但越重要,越容易被包装成玄学。

今天这篇不做“万能模板”。我更想讲清楚:AGENTS.md 到底是什么,哪些内容值得写,哪些内容只是把一堆提示词堆成付费资料包。

一、AGENTS.md 不是咒语,它是给 Agent 的入职手册

很多人第一次接触 AGENTS.md,会把它理解成“让 Codex 变聪明的提示词”。

这个理解不算错,但太浅。

更准确地说,AGENTS.md 是给 Agent 的项目入职手册。

人类新同事进一个项目,要知道目录结构、技术栈、常用命令、哪些文件不能乱动、PR 要怎么写、测试怎么跑、线上风险在哪里。Agent 也一样。你不写,它就只能每次从仓库里临时猜。

OpenAI 的 Codex best practices 里也把 AGENTS.md 放在“上下文”这一层:让 Codex 知道项目规范、检查命令、测试方式和团队约定。新出的 Codex Code Review 自定义规则,也正是沿着这个方向走:把团队反复强调的 review 规则写进仓库,让 Codex 在代码评审里按项目规矩看问题。

所以 AGENTS.md 的价值,不是“让模型听话”。

它真正的价值是减少反复沟通,把项目里那些“每次都要提醒”的规矩固化下来。

二、能卖钱的模板,通常只有前 20% 有用

我不反对参考别人公开的 AGENTS.md。

相反,好的公开配置很值得看。比如 Andrej Karpathy 的公开仓库、OpenAI 自己的 codex-rs 项目规则、agents.md 这个开放格式站点,都能帮你快速知道这个文件应该长什么样。

但模板最容易失效的地方也在这里:它不是你的项目。

别人写“用 cargo test”,你的项目可能是 pnpm。
别人写“先开 issue”,你的团队可能只看 TAPD。
别人写“每次都创建 PR”,你可能只是本地小程序临时修复。
别人写“禁止修改全局样式”,你的任务可能正好是重做设计系统。

AGENTS.md 里最值钱的部分,往往不是那些漂亮句子,而是你项目独有的约束。

比如:

这个仓库到底用 npm、pnpm、yarn 还是 uv。
类型检查、lint、构建分别是什么命令。
哪些模块是公共组件,改动要特别小心。
后台枚举应该从字典渲染,不能在页面里硬编码。
微信草稿只创建 draft,不能点击正式发布。
遇到 IP 白名单失败时,不要假装发布成功。

这些内容很土,但它们比“请像资深工程师一样思考”值钱得多。

三、AGENTS.md 最该写的,是 Agent 容易犯错的地方

一个实用的 AGENTS.md,不应该从“我希望 Agent 多厉害”开始,而应该从“它最容易在哪里犯错”开始。

我自己的排序是这样的:

第一,工作边界。

告诉它当前项目是什么,不是什么。比如“这是前端管理后台,优先小改,不做大重构”;或者“这是公众号自动化,只创建草稿,不做最终发布”。

第二,目录和所有权。

页面在哪里,API 在哪里,状态管理在哪里,公共组件在哪里。Agent 很擅长搜索,但如果你先告诉它地图,它会少走很多弯路。

第三,命令和验证。

明确写出 lint、build、test 命令。更重要的是:不能伪造执行结果,没跑就是没跑,失败就报告失败。

第四,危险动作。

什么不能删,什么不能重置,什么需要审批,什么只能只读。Codex 的 permissions 和 approvals 设计,本质上就是把这类风险放到执行层去管。AGENTS.md 也应该告诉 Agent 哪些动作在这个项目里格外敏感。

第五,输出格式。

如果你总是要求“修改文件、改动内容、风险点、验证结果”,那就写进去。不要每次结尾再手动提醒。

一个好文件不是越长越好。它应该像一份高密度的入职备忘录:少讲愿景,多讲边界;少讲口号,多讲验收。

四、别把 AGENTS.md 写成“AI 管理学作文”

现在很多所谓模板,最大的问题不是错,而是空。

“你是顶级专家。”
“你要深度思考。”
“你要保证代码优雅。”
“你要站在用户角度。”
“你要输出生产级方案。”

这些句子看起来很专业,但对 Agent 执行任务帮助有限。

原因很简单:它们没有可操作边界。

什么叫优雅?
什么叫生产级?
什么叫深度思考?
什么叫用户角度?

如果你把它改成下面这种,价值就高很多:

修改后台列表页时,优先复用现有表格和弹窗组件。
新增接口字段必须补充 TypeScript 类型,不允许用 any 逃避。
状态枚举必须从 src/dictionaries 里的 BaseEnum 派生,页面只负责渲染。
完成后至少运行 npm run lintnpm run build;失败要贴出失败原因。
不要重置用户已有改动,不要用 git reset  line-height: 1.75;">这就是区别。

前者是在鼓励模型“表现得像专家”。
后者是在告诉工具“这个项目怎么交付才算合格”。

五、AGENTS.md 不能替代权限系统

这里要泼一盆冷水。

AGENTS.md 很重要,但它管不住 API。

你可以在文件里写一百遍“不要删除数据库”,但如果 Agent 拿着生产写权限,工具层又自动批准所有命令,那你依然是在赌模型每次都记得住。

OpenAI Codex 的 permissions 文档和 approvals 机制,解决的是另一层问题:哪些文件能读写,哪些命令要审批,网络权限怎么放,什么时候需要用户确认。AGENTS.md 负责说清楚项目规则,permissions 负责让危险动作真的被挡住。

这两个东西不要混用。

AGENTS.md 写:

“不要修改生产配置;涉及部署、数据库写入、密钥、外部系统动作必须先确认。”

权限系统做:

默认只允许工作区写入;读取 home 目录、联网、执行危险命令、调用外部系统时要审批。

前者是说明书,后者是刹车。

只有说明书,没有刹车,不叫安全。

六、我建议你先写一个 80 行以内的版本

如果你现在还没有 AGENTS.md,我建议别买模板,也别一上来写 1000 行。

先写 80 行以内。

结构可以很朴素:

一段项目说明。

说清楚这是个什么项目,目标是什么,优先级是什么。

一段技术栈和目录约定。

告诉 Agent 页面、组件、API、store、utils、测试分别在哪里。

一段修改原则。

小改优先,复用现有模式,不新增依赖,不改公共接口,不碰无关文件。

一段验证命令。

列出必须跑的 lint、build、test。如果某个项目没有测试,就写“有测试再执行”,不要编一个命令。

一段安全边界。

不要删除无关代码,不要重置 git,不要改环境变量,不要处理真实发布动作,遇到凭证和生产系统要停下来。

一段结果格式。

让它最后报告改了哪些文件、做了什么、有什么风险、验证结果如何。

这已经能解决大多数问题。

后续怎么扩?不是继续找模板,而是在真实任务失败后补规则。比如 Agent 又一次忘了运行某个专项测试,那就把这个测试写进去;它又一次乱改公共组件,那就把公共组件边界写进去;它又一次把草稿当发布,那就把安全门写得更硬。

AGENTS.md 应该从事故和经验里长出来,而不是从资料包里复制出来。

七、团队版 AGENTS.md 的关键,是分层

如果是团队使用,我会分三层。

第一层,全局习惯。

写在个人全局说明或公司级说明里。比如沟通风格、默认验证态度、不要伪造结果、不要覆盖用户改动、需要审批的危险操作。

第二层,项目规则。

写在仓库根目录的 AGENTS.md。比如技术栈、目录、命令、PR 标准、测试策略、业务边界。

第三层,子目录规则。

写在某些复杂模块里。比如 src/dictionaries 的枚举规范、packages/api 的接口兼容规则、scripts/publish 的发布安全门。

这样做的好处是,规则不会全部堆在一个文件里。

Agent 进入某个目录,就能读到更贴近当前工作的约束。人类维护起来也更容易:公共原则放上层,模块细节放下层。

这比买一个“万能 AGENTS.md”更接近真实工程。

八、一份真正有用的 AGENTS.md,应该能被验证

判断一份 AGENTS.md 有没有用,不要看它写得多像专家。

看它能不能减少返工。

你可以用四个问题检查:

第一,它有没有让 Agent 少问重复问题?

如果每次任务都还要问“怎么构建、怎么测试、目录在哪”,那文件没写到点上。

第二,它有没有挡住常见错误?

比如不再乱用 any,不再硬编码枚举,不再跳过 build,不再碰无关文件。

第三,它有没有让 review 更容易?

最终汇报能不能直接看到修改范围、设计考虑、风险点和验证结果。

第四,它有没有随任务迭代?

如果 AGENTS.md 写完三个月没人改,那大概率不是成熟,而是没人真的用它。

好规则是会变的,但不会乱变。每次补充都应该来自真实失败、真实约定或真实检查项。

结尾:别买模板,买回来的也是别人的项目经验

AGENTS.md 这波热起来,我觉得是好事。

它说明大家终于意识到,AI 编程不只是模型能力问题,也是工程上下文问题。你给 Agent 的项目说明越清楚,它就越像一个能上手干活的同事,而不是一个每次都要重新培训的聊天框。

但也正因为它重要,才不该被神化成付费模板。

你当然可以参考公开配置。
你当然可以看别人怎么写。
你当然可以从一个短模板开始。

但最后那份真正值钱的 AGENTS.md,一定来自你的仓库、你的命令、你的团队习惯、你的事故、你的验收标准。

别把钱花在“复制即用”的模板包上。

先打开你自己的项目,回答几个朴素问题:

这个项目是什么?
哪些文件最容易改坏?
哪些命令必须跑?
哪些动作不能自动做?
哪些规则你已经重复提醒过 Agent 三次?

把这些写下来。

这就是第一版 AGENTS.md。

它可能不漂亮,但它有用。

而有用,才是工程里最不该被包装费覆盖掉的东西。


参考资料:

OpenAI Developers:Codex best practices
OpenAI Developers:Codex permissions
OpenAI Developers:Custom Code Review rules for Codex,2026-07-21
agents.md:A simple, open format for guiding coding agents
GitHub:openai/codex AGENTS.md
X / Bilibili / Reddit 上关于 Codex、AGENTS.md、模板和 AI coding workflow 的近期公开讨论