每开一个新对话窗口,Codex 都会进入全新的上下文。它不知道项目用什么命令,也不清楚目录边界在哪。哪些文件不能改,团队怎么验证结果,这些它都不知道,每次都靠开口重讲。
AGENTS.md 就是解决这个问题的项目级指令文件,一个开放的 Markdown 约定,给 coding agent 提供稳定、可预测的项目指令入口。项目结构、开发命令、测试要求和协作边界写进去,反复解释的部分就省掉了。
它和 README 不是一回事
更准确地说,AGENTS.md 是面向 coding agent 的 README。README 给人看,讲项目是什么、怎么上手。AGENTS.md 给 Codex 这类 agent 看,告诉它们改代码前要遵守哪些规则。
落到人身上,价值分三种。个人用户省掉重复解释项目怎么跑,怎么测。团队项目把公认的规则沉淀进仓库。多工具环境下,Codex 和 IDE 里的 agent 读的是同一份说明。
放在哪里:项目根目录还是全局
普通项目最推荐在项目根目录建 AGENTS.md。Codex 处理任务前会自动读它,作为工作上下文带进对话。
想让规则对所有项目生效,就写全局指令。在 Codex 主目录里建一个 AGENTS.md,默认位置是用户目录下的 .codex/AGENTS.md。设过 CODEX_HOME 的话以那个目录为准。桌面 App 里的个人偏好和自定义指令,本质上也是写到这里。
两层规则作用域不一样。全局规则影响你打开的所有项目,项目级的只影响当前仓库。
文件名必须写成 AGENTS.md,大小写也要对,写错 Codex 不会自动识别。

读取顺序与合并规则
第一步读全局规则,默认读 .codex/AGENTS.md。同一位置如果还放着 AGENTS.override.md,就优先读它,用来临时覆盖。
第二步读项目规则。Codex 从 Git 根目录一路走到当前工作目录,沿途每一层都试着读一次。同一目录里同时有 AGENTS.override.md 和 AGENTS.md 时,前者覆盖后者。
读到的规则从上到下合并,根目录的先出现,子目录的后出现。越靠近当前目录的规则越具体,局部要求写在那层最合适。根目录写通用规则,前端目录写前端规则,数据库目录写迁移要求。
两个配置项值得知道。项目里已经有别的规则文件时,可以用 project_doc_fallback_filenames 把它们加成备用名。合并后的项目指令还有大小上限,默认 32768 字节,写得太长后面的内容可能进不了上下文。

团队共享与个人私有怎么分
多人协作时,AGENTS.md 放团队共同认可的项目规则。个人路径和本机工具习惯留在本地更合适,临时约束与私有偏好也一样。团队规则保持稳定,个人习惯也不会被提交。
| 文件 | 作用 | 是否提交到 Git |
|---|---|---|
| AGENTS.md | 团队共享的项目规则与命令,含边界和交付要求 | 可以提交 |
| AGENTS.override.md | 官方识别的覆盖文件,临时覆盖同目录规则 | 通常不提交,除非团队约定 |
| AGENTS.local.md | 个人本地偏好、私有路径和临时规则 | 应加入 ignore |
AGENTS.local.md 不是默认识别的标准文件名。想让它被读到,得靠 hooks 或者社区工具,也可以在配置里加进 fallback 文件名。
社区工具 codex-agents-local 提供了这套方案,它通过 hooks 在会话开始或提交提示词时同步规则。它不是官方功能,安装前先看清脚本会改哪些文件、启用哪些 hooks。
不管用不用本地规则,底线要守。密钥和密码不要写进 AGENTS.local.md,并且把它加进 gitignore。也不要借本地规则绕过团队的测试和审批要求。
一份可以直接抄的模板
这份模板覆盖了大多数项目要交代的事,按自己的情况填就行。
项目概览
- 项目类型:
- 主要语言:
- 关键目录:
- 不要修改的目录:
常用命令
- 安装依赖:
- 本地开发:
- 运行测试:
- 类型检查:
- 格式化:
代码规范
- 遵循现有代码风格。
- 不做无关重构。
- 新增功能要补测试。
安全边界
- 不提交 .env 和私有凭据。
- 不执行删除生产数据的命令。
- 改数据库迁移前先说明影响。
交付要求
- 说明改动文件。
- 说明验证命令和结果。
- 说明未验证项和剩余风险。
几条实践建议
命令要写具体的,别写态度。一条具体的测试命令,比一句”记得检查代码”有用得多。
规则之间不能打架。这里的要求要和项目里其他规范文档一致,冲突的地方 Codex 判不出来。
AGENTS.md 更适合承担导航作用。可以告诉 Codex 项目文档按什么顺序读,别把所有文档都塞进来。
规则也要跟着项目走。命令和目录会变,验证方式也会变,拖久了就成了误导。
收尾
AGENTS.md 是 Codex 每次进项目都会先看的一页纸。写短、写准、写具体,比在对话里反复纠正省事。