04 AGENTS 怎么写?

AGENTS.md 是 Codex 项目中的核心规则文件。本文介绍如何用 /init 生成初始文件,并维护项目说明、常用命令、工作规则和完成标准。

AGENTS.md 怎么写?让 Codex 按你的项目规则做事

AGENTS.md 是 Codex 的项目工作规则文件。

Codex 开始工作前会读取 AGENTS.md,用它理解项目背景、常用命令、测试方式、代码规范和完成标准。维护好 AGENTS.md,可以让 Codex 每次都按同一套规则执行任务,减少重复解释和重复犯错。

适合谁

这篇文章适合:

  • 已经开始用 Codex 修改项目的人
  • 希望 Codex 少犯重复错误的人
  • 团队里多人协作使用 Codex 的项目负责人
  • 想让 Codex 遵守固定构建、测试和 review 流程的人

这篇文章解决什么问题

很多人刚开始用 Codex 时,只会在聊天框里反复提醒:

  • 不要乱改无关文件
  • 不要随便加依赖
  • 改完记得测试
  • 先告诉我你准备怎么改

这些提醒如果每次都手动说,很容易漏。AGENTS.md 的作用,就是把这些项目规则固定下来,让 Codex 每次进入项目时都能先读到。

说明

AGENTS.md 不是给读者看的说明书,而是给 Codex 看的项目工作约定。它越具体,Codex 越容易执行;它越空泛,实际帮助越小。

先运行 /init

在 Codex 项目中,先运行:

text
/init

/init 可以快速生成初始 AGENTS.md。

但自动生成的文件只是起点。你应该继续手动编辑,让它符合项目真实的构建、测试、review 和发布流程。

推荐写法

可以把 AGENTS.md 写成下面这样:

markdown
# AGENTS.md

## 项目说明

这是一个 Next.js + TypeScript 项目,用于 xxx。

## 常用命令

- 安装依赖:`npm install`
- 本地启动:`npm run dev`
- 类型检查:`npm run typecheck`
- Lint:`npm run lint`
- 测试:`npm test`
- 构建:`npm run build`

## 工作规则

- 修改前必须先说明影响范围和计划
- 默认最小改动
- 不要无理由新增依赖
- 不要重写无关模块
- 改业务逻辑必须补测试
- 改 UI 必须检查 loading、empty、error、mobile 状态
- 完成后必须说明测试结果和潜在风险

## 完成标准

- 相关测试通过
- lint、typecheck、build 通过
- 行为符合验收标准
- diff 可 review

示例中的 xxx 需要替换为你的真实项目说明。

每一部分怎么写

项目说明

项目说明要让 Codex 快速理解这个项目是什么。

建议写清楚:

  • 项目技术栈
  • 项目用途
  • 主要业务目标
  • 是否有不能随便改的模块

示例:

markdown
## 项目说明

这是一个 Next.js + TypeScript 项目,用于管理课程内容和用户订单。
前端使用 App Router,样式使用 Tailwind CSS。
默认不要进行大范围重构。

常用命令

常用命令不要让 Codex 猜,直接写清楚。

markdown
## 常用命令

- 安装依赖:`npm install`
- 本地启动:`npm run dev`
- 类型检查:`npm run typecheck`
- Lint:`npm run lint`
- 测试:`npm test`
- 构建:`npm run build`

如果项目没有测试命令,可以写:

markdown
- 测试:当前项目暂未配置测试命令

工作规则

工作规则是 AGENTS.md 最重要的部分。

建议写成明确、可执行的限制:

markdown
## 工作规则

- 修改前必须先说明影响范围和计划
- 默认最小改动
- 不要无理由新增依赖
- 不要修改无关文件
- 改业务逻辑必须补测试
- 完成后必须说明测试结果和潜在风险

完成标准

完成标准用来告诉 Codex:任务做到什么程度才算结束。

markdown
## 完成标准

- 相关测试通过
- lint、typecheck、build 通过
- 行为符合验收标准
- diff 可 review

高级技巧:把 Codex 犯过的错写进去

维护 AGENTS.md 的核心方法很简单:

Codex 每犯一次重复错误,就把对应规则补进 AGENTS.md。

如果它经常乱加依赖,就加:

Prompt

禁止新增依赖,除非先说明原因、替代方案和体积影响,并获得确认。

如果它经常大范围重构,就加:

Prompt

默认只修改与当前任务直接相关的文件。除非明确要求,不要进行架构重构、目录重组或无关代码清理。

如果它经常改完不测试,就加:

Prompt

完成任务前必须运行相关检查命令。如果无法运行测试、lint、typecheck 或 build,必须说明原因,并列出未验证的风险。

说明

这类内容虽然是写进 AGENTS.md 的规则,但它们很短、可直接复制,所以适合继续用 ::: tip Prompt。如果是一整段很长的背景解释、完整规范或多段示例,就不要放进 Prompt 框,改用代码块、说明框或折叠内容。

可以继续补哪些规则

AGENTS.md 不需要一次写完。你可以先写最常用的规则,再根据 Codex 的实际表现慢慢补。

常见可补充规则包括:

  • 哪些目录不要动
  • 哪些文件改动前必须先确认
  • 是否允许新增依赖
  • 是否必须保持移动端兼容
  • 修改 UI 后要检查哪些状态
  • 完成任务前要运行哪些命令
  • 最终回复需要说明哪些内容

如果规则很多,可以按主题分组:

markdown
## 依赖规则

- 不要新增依赖,除非先获得确认
- 优先使用项目已有工具和组件

## UI 规则

- 改 UI 必须检查桌面端和移动端
- 必须处理 loading、empty、error 状态

## 验证规则

- 完成前运行相关测试
- 如果无法验证,必须说明原因和风险

常见问题

AGENTS.md 是不是越长越好?

不是。

AGENTS.md 要写关键规则,不要堆空话。

比如:

markdown
不要无理由新增依赖

比下面这种更有用:

markdown
请保持代码质量

因为前者具体,Codex 更容易执行。

AGENTS.md 需要一次写完吗?

不需要。

它应该持续维护。每次 Codex 出现可复用的问题,就把规则补进去。

不会编程也需要写 AGENTS.md 吗?

需要。

不会编程的人更应该维护 AGENTS.md,因为它可以减少你反复解释需求的成本。

你可以先写清楚:

  • 这个项目是做什么的
  • Codex 不要做什么
  • 修改前要先说明什么
  • 完成后要检查什么

下一步

你可以先在自己的项目里运行 /init,生成初始 AGENTS.md。

然后把这几类内容补进去:

  • 项目说明
  • 常用命令
  • 工作规则
  • 完成标准

后面使用 Codex 时,只要发现它反复犯同一种错误,就把这条规则写进 AGENTS.md。

下一步推荐阅读

顺着这个主题继续看,少走弯路。

留言

元芳,你怎么看?

0 条
0/500
还没有留言,先写第一条。
留言