1349 字
约 4 分钟
7
别再重复告诉 Codex“项目怎么跑”:用 AGENTS.md 固化仓库规则

别再重复告诉 Codex“项目怎么跑”:用 AGENTS.md 固化仓库规则

每次新建对话,Codex 都会进入一个新的上下文。

它不会天然知道:

  • 项目用什么命令安装、测试和构建;
  • 哪些目录是生成物,不能手动修改;
  • 数据库迁移需要什么审批;
  • 团队使用什么代码风格;
  • 完成任务后应该怎样汇报。

如果这些信息只存在于某个人的经验里,Codex 每次都只能重新探索。AGENTS.md 就是为了解决这个问题而存在的。

AGENTS.md 是写给 Agent 的 README

README 主要告诉人类项目是什么、怎样开始;AGENTS.md 则告诉 Codex 和其他 coding agent,在这个项目里工作时应该遵守什么规则。

它本质上只是一份 Markdown 文件,最常见的位置是仓库根目录:

my-project/
├── AGENTS.md
├── package.json
├── src/
└── tests/

适合写入其中的内容包括:

  • 项目结构和关键入口;
  • 安装、开发、测试、构建命令;
  • 代码风格和目录边界;
  • 禁止事项与安全红线;
  • 交付与验证要求。

全局规则、项目规则和子目录规则

规则可以分层组织:

~/.codex/AGENTS.md            # 个人全局规则
project/AGENTS.md             # 当前仓库规则
project/apps/web/AGENTS.md    # 前端子目录规则
project/packages/db/AGENTS.md # 数据库子目录规则

Codex 通常先读取全局规则,再从 Git 根目录一路读取到当前工作目录。越靠近当前目录的规则越具体。

同一目录里,AGENTS.override.md 可以覆盖 AGENTS.md,适合临时调整。但覆盖文件如果只对个人有效,通常不应该提交到团队仓库。

这种分层方式尤其适合 monorepo:

  • 根目录写全仓库共同规则;
  • 前端目录写组件和视觉测试要求;
  • 数据库目录写迁移、备份和回滚要求;
  • 基础设施目录写部署和审批红线。

团队规则和个人偏好要分开

团队共享内容适合进入版本控制:

  • 项目命令;
  • 目录说明;
  • 测试要求;
  • 安全边界;
  • PR 交付标准。

个人本机路径、编辑器习惯、私有工具和临时限制,不适合污染团队规则。

如果使用 AGENTS.local.md 保存个人偏好,需要注意它不是默认标准文件名,必须通过配置或其他机制让 Codex 读取,同时应加入 .gitignore

无论采用什么本地规则,都不要把 token、密钥、密码和私有凭据写进去。

一份可直接修改的模板

# AGENTS.md

## 项目概览

- 项目类型:
- 主要语言:
- 关键目录:
- 不要修改的目录:

## 常用命令

- 安装依赖:`...`
- 本地开发:`...`
- 运行测试:`...`
- 类型检查:`...`
- 格式化:`...`

## 代码规范

- 遵循现有代码风格。
- 不做与当前任务无关的重构。
- 新增功能必须补充或更新测试。

## 安全边界

- 不读取或提交 `.env`、密钥和私有凭据。
- 不执行删除生产数据的命令。
- 修改数据库迁移前先说明影响和回滚方式。

## 交付要求

- 说明修改了哪些文件。
- 说明验证命令和结果。
- 标注未验证内容和剩余风险。

写 AGENTS.md 最容易犯的四个错误

1. 写成项目百科

规则文件过长会占用上下文,也可能超过客户端读取预算。详细架构和业务文档应该放在独立文件里,再由 AGENTS.md 指明阅读入口。

2. 只有口号,没有命令

“保证代码质量”不如“修改后运行 pnpm testpnpm typecheck”。

规则必须尽量具体、可执行、可验证。

3. 和其他文档互相冲突

如果 README、贡献指南和 AGENTS.md 给出不同测试命令,Codex 很难判断哪一份才是当前事实。

4. 写完后从不更新

项目命令、目录和发布流程都会变化。失效规则比没有规则更危险,因为它会稳定地产生错误行为。

如何验证规则是否有效

创建或修改后,可以新开一个对话,要求:

请先不要修改文件。
根据当前项目规则,说明项目结构、常用测试命令、禁止修改的内容和任务完成标准。

如果回答与团队预期一致,说明规则已经被正确读取;如果不一致,应先修正规则,再开始真实任务。

写在最后

好的 AGENTS.md 不是一份面面俱到的说明书,而是一张工作地图。

它应该让 Codex 快速知道:

项目在哪里
→ 应该先读什么
→ 可以改什么
→ 不能碰什么
→ 怎样验证
→ 最后怎样交付

当这些信息进入仓库后,项目经验就不再只存在于某个人的脑子里。

别再重复告诉 Codex“项目怎么跑”:用 AGENTS.md 固化仓库规则
http://www.clxhxhhr.top/posts/155/
作者
clxstart
发布于
2026-07-23
许可协议
CC BY-NC-SA 4.0
评论
0 条
还没有评论,先写一条吧。