乐于分享
好东西不私藏

AGENTS.md:给你的 AI 队友写一份“入职手册”

AGENTS.md:给你的 AI 队友写一份“入职手册”

Codex 零基础入门》系列 · 第 05 期

本文约 2400 字 · 阅读约 7 分钟 · 适合人群:想让 Codex 在项目里“自动懂规矩”的新手

上一期我们讲了提示词四要素。但你大概会发现一个新麻烦:每次都得重复说“我们用 pnpm,不用 npm;提交前跑 lint;不要碰 legacy/ 目录”……这些项目级的规则,写进 prompt 太累、还容易漏。

解决方案是一个简单到不像答案的东西——一个放在项目根目录的 Markdown 文件:AGENTS.md。它会被 Codex 每次启动自动读取,就像新员工入职时拿到的那份手册。

一、AGENTS.md 是什么

一句话:AGENTS.md 是一份写给 AI 编程代理看的 README。

README 写给人看,告诉读者这个项目是干嘛的、怎么用;AGENTS.md 写给 Agent 看,告诉它“在这个项目里应该怎么干活”——用哪个包管理器、怎么跑测试、什么不能碰、PR 标题怎么写。

更妙的是,它已经成了一个跨工具的开放标准——OpenAI Codex、Cursor、Gemini CLI、Windsurf 等多个工具都会读这个文件。一份写好,多个工具受益。它目前由 Linux Foundation 旗下的 Agentic AI Foundation 维护。

二、为什么需要它

不用每次重复说相同的话。项目规则写一次,Codex 每次启动自动加载,节省你和它两边的精力。

团队成员共享同一套规则。AGENTS.md 进 Git 版本控制,所有人(和所有人的 AI)用同一份。

 AI 跨工具一致行为。今天用 Codex,明天换 Cursor,规则不必重写。

作为新人(人或 AI)的快速入职文档。实际上很多团队发现,新人也开始读 AGENTS.md 来上手项目。

三、最关键的写法原则:命令优先,越具体越好

好的 AGENTS.md 不是文学创作,而是一份“可直接复制粘贴”的操作清单。

✅ 写命令:"提交前运行 pnpm lint --fix && pnpm test"——清晰、可执行、可验证。

❌ 别写口号:"写干净、可读的代码"——对 AI 来说等于没说。

✅ 给路径和参数:“运行单个测试:pnpm vitest run -t “<测试名>””——AI 能直接照着抄。

❌ 别给空话:"遵循最佳实践"——AI 不知道你说的最佳实践是哪一套。

不要放密码和密钥。AGENTS.md 是要进版本控制的,敏感信息走环境变量。

四、一份最小可用模板

把下面这份扔到项目根目录,改改命令就能用:

# AGENTS.md

## 项目简介

订单服务的后端,Node.js + TypeScript + Fastify + PostgreSQL。

目录:src/ 业务代码,migrations/ 数据库迁移,tests/ 测试。

## 开发环境

- Node.js 22+,包管理器用 pnpm(不要用 npm 或 yarn)

- 安装依赖:pnpm install

- 本地启动:pnpm dev

## 测试

- 跑全部测试:pnpm test

- 跑单个文件:pnpm vitest run path/to/file.test.ts

- 跑指定测试:pnpm vitest run -t "测试名"

- 覆盖率:pnpm test --coverage

## 代码规范

- 提交前必须运行:pnpm lint --fix && pnpm typecheck

- 新函数必须有类型注解

- 文件命名用 kebab-case

## PR 规则

- 标题用 Conventional Commits:feat(scope): description

- 每个 PR 聚焦一件事,diff 控制在 400 行以内

- 改动行为时必须更新测试

## 不要碰

- legacy/ 目录下的代码(计划在 Q3 整体重写)

- migrations/ 里已生成的迁移文件(只能新增)

五、Codex 怎么读它(分层规则)

AGENTS.md 不止一个文件——Codex 会从一条“指令链”里依次加载,越靠近你当前工作目录的规则优先级越高。

全局层:~/.codex/AGENTS.md 放你的个人偏好(比如"我喜欢函数式风格"),所有项目都生效。

项目根层:项目根目录的 AGENTS.md 放项目级规则,团队共享。

子目录层: services/payments/ 这种子模块下可以再放一份 AGENTS.md,覆盖父级规则。

Codex 从项目根一路向下读到当前目录,依次拼接进上下文。还有一个特殊文件 AGENTS.override.md,如果存在,会替换同层的 AGENTS.md,方便临时覆盖而不删原文件。

懒得手写?在 TUI 里直接敲 /initCodex 会读你的项目然后自动起草一份 AGENTS.md,你在它的基础上改就行。

六、几个常见误区

写成 README 的样子:AGENTS.md 是操作清单,不是项目介绍——尽量短、尽量是命令。OpenAI 自己仓库里的 AGENTS.md 才二三十行。

一上来就写得很全: 20–30 行开始,遇到 Codex 反复犯的错再补一条。它是“长出来的”,不是“设计出来的”。

放秘密:AGENTS.md 进 Git,凡是不想 push 上去的东西都不能写进来。

 README 重复:项目介绍、教程那些留给 README,AGENTS.md 只关心“AI 干活时要遵守什么”。

本期小结

AGENTS.md 是一份给 AI 看的“项目入职手册”,Codex 启动时自动读取。

已成为多工具共用的开放标准(OpenAI、Cursor、Gemini CLI 等都支持)。

写法原则:命令优先,越具体越好;别写口号、别放密码、别和 README 重复。

支持分层:全局(~/.codex/AGENTS.md)+ 项目根 + 子目录,越靠近越优先。

懒人方案:在 Codex TUI 里敲 /init 自动生成初稿。

下期预告

本系列入门篇的最后一个核心话题——Codex 会乱改我的代码吗?沙箱、授权与自动审查》。把“它真的会动手”这件事的安全机制讲透:沙箱怎么管它能做什么、审批怎么管它什么时候问你,以及新手最稳妥的权限配置。

参考来源(官方)

OpenAI Developers:Custom instructions with AGENTS.md(developers.openai.com/codex/guides/agents-md)

agents.md:官方标准说明(agents.md)

OpenAI Developers:Best Practices(developers.openai.com/codex/learn/best-practices)

本文基于公开资料整理,Codex 功能更新较快,具体请以官方最新文档为准。