外观
第5章 让 Codex 懂你的项目
约 2365 字大约 8 分钟
2026-06-09
这一章来聊聊怎么给 Codex 写一份"项目说明书",让它一上来就了解你的项目,不用你每次都从头解释。
5.1 为啥需要 AGENTS.md?
想象一下这个场景:
你招了个新员工,第一天上班。每次给他安排活儿,都得从头介绍一遍: "咱们公司用的是 Java、数据库是 MySQL、代码要遵循阿里巴巴规范、打包用 Maven、部署到阿里云……"
说一次还行,每次都说?太累了。
AGENTS.md 就是解决这个问题的。
它就是一个放在项目目录里的文件,Codex 每次启动时会自动读取它。在里面写好项目信息,Codex 就不用你每次都重复了。
没有 AGENTS.md:
你:"项目用的是 Vue 3 + TypeScript..."
Codex:"好的"
你(下次):"项目用的是 Vue 3 + TypeScript..."
Codex:"好的"
你(下下次):"项目用的是……" 😫
有 AGENTS.md:
你(写好一次):"项目信息都在 AGENTS.md 里"
Codex(每次自动读取):"我已了解项目背景" 😊一句话搞懂 AGENTS.md
AGENTS.md 就是给 Codex 写的"入职手册",写好一次,长期省心。
5.2 AGENTS.md 的层级结构
AGENTS.md 可以放在不同位置,不同位置管的事情不一样:
文件放哪里?
| 放在哪里 | 管多大范围 | 适合写啥 |
|---|---|---|
~/.codex/AGENTS.md | 所有项目 | 个人偏好(比如喜欢用什么风格、通用规范) |
项目根目录 AGENTS.md | 当前项目 | 项目信息(技术栈、结构、编码规范) |
子目录 AGENTS.md | 只管这个目录 | 特定模块的细节(比如 API 文档) |
叠加关系
Codex 会读取所有层级的 AGENTS.md,不是只读一个。信息会叠加在一起生效。
比如说,你在全局写了"用中文回复",在项目级写了"用 React",在 src/components/ 里写了"组件用 PascalCase 命名"。Codex 会把这三层信息全读进去,一起遵守。
5.3 AGENTS.md 里写点啥?
建议写的内容
一定要写的:
- 项目简介 —— 一句话说清楚这个项目是干嘛的
- 技术栈 —— 什么语言、什么框架、什么数据库
- 项目结构 —— 主要目录都是干嘛的
- 编码规范 —— 希望 Codex 遵循的规则
建议也写上的:
- 常用命令 —— 怎么启动、怎么测试、怎么构建
- 注意事项 —— 特殊约定、容易踩坑的地方
- 部署信息 —— 怎么部署、部署到哪
来看个实际的好例子
假设你有一个 Vue 3 + TypeScript 的前端项目:
# 项目简介
一个在线笔记应用,支持 Markdown 编辑、分类管理和全文搜索。
# 技术栈
- 前端:Vue 3 + TypeScript + Pinia
- 样式:Tailwind CSS
- 构建:Vite
- 测试:Vitest + Vue Test Utils
- 部署:Nginx + Docker
# 项目结构
- src/views/ — 页面组件
- src/components/ — 通用组件
- src/stores/ — Pinia 状态管理
- src/api/ — 后端接口调用
- src/utils/ — 工具函数
# 编码规范
- 组件文件名用 PascalCase(如 NoteEditor.vue)
- 工具函数用 camelCase(如 formatDate.ts)
- CSS 用 Tailwind 类名,不写自定义样式
- 统一用 composition API,不用 options API
# 常用命令
- 启动开发:pnpm dev
- 运行测试:pnpm test
- 构建生产:pnpm build
- 代码检查:pnpm lint
# 注意事项
- 不要修改 src/api/config.ts 里的接口地址,那是自动生成的
- 数据库迁移脚本放在 migrations/ 目录,文件名要带时间戳再看看反面教材
# ❌ 不好的 AGENTS.md
这个项目是一个使用 Vue.js 框架开发的现代化 Web 应用程序,
我们团队在经过多次技术选型讨论后,决定采用 TypeScript 作为
主要开发语言,因为它提供了更好的类型安全和开发体验,
同时我们还引入了 Pinia 作为状态管理方案……
(后面还有 200 行流水账)问题在哪? 写太长了!Codex 读 AGENTS.md 也是占"注意力空间"的。写得越长,Codex 能用的空间就越少。而且大段描述根本不如关键词来得清楚。
关键原则
好的 AGENTS.md:简明扼要,一眼看清,控制在 60 行以内。 不好的 AGENTS.md:几百行的流水账,把所有代码都贴进去。
5.4 好和不好,对比一下
编码规范怎么写
# ❌ 模糊写法
代码要写得好一点,风格要统一
# ✅ 具体写法
- 组件文件名用 PascalCase
- 变量名用 camelCase
- 常量用 UPPER_SNAKE_CASE
- 所有函数都要有返回类型注解项目结构怎么写
# ❌ 啥也没说
项目结构见代码
# ✅ 一目了然
- src/views/ — 页面组件
- src/components/ — 通用组件
- src/api/ — 后端接口
- src/utils/ — 工具函数常用命令怎么写
# ❌ 太随意
跑一下就能启动
# ✅ 清清楚楚
- 启动:pnpm dev
- 测试:pnpm test
- 构建:pnpm build结果是不言而喻的——你写得越清楚,Codex 干活就越靠谱。
5.5 动手试试:给项目创建 AGENTS.md
来,实际操作一遍。
第一步:打开项目目录
cd 你的项目路径第二步:启动 Codex
codex第三步:让 Codex 帮你生成
在聊天里输入:
帮我分析当前项目,生成一份 AGENTS.md 文件。
要求:
1. 包含项目简介、技术栈、项目结构、编码规范、常用命令
2. 控制在 60 行以内
3. 简洁明了,只写关键信息Codex 会自动分析你的项目,帮你生成一份合适的 AGENTS.md。
第四步:检查和调整
Codex 生成后,你可以:
- 让它读取生成的文件给你看看
- 告诉它哪里需要补充或修改
- 确认没问题后保存
第五步:验证效果
退出 Codex,重新启动:
codex然后问它:
这个项目用的什么技术栈?编码规范是什么?如果 Codex 能正确回答,说明 AGENTS.md 已经生效了!
省力小技巧
不想自己手写的话,直接让 Codex 分析项目帮你生成就行。生成后再看看需不需要调整,比自己从零写快多了。
5.6 几个常见的坑
坑1:写得越多越好?并不是
注意
AGENTS.md 太长会占掉大量"注意力空间",反而让 Codex 表现变差。
建议: 控制在 30-60 行,只写最关键的。细节可以放到子目录的 AGENTS.md 里分担。
坑2:把它当文档来写
注意
AGENTS.md 是给 Codex 看的"速查卡",不是给人看的详细文档。
建议: 用关键词和短句,别写长篇大论。
# ❌ 不好的写法
这个项目是一个使用 Vue 框架开发的现代化 Web 应用程序,
我们团队决定采用 TypeScript 作为主要开发语言……
# ✅ 推荐的写法
技术栈:Vue 3 + TypeScript + Pinia + Vite坑3:写好就不改了
注意
项目会变化,AGENTS.md 也得跟着更新。
建议: 当技术栈或项目结构有变化的时候,顺手把 AGENTS.md 也更新一下。你想想,Codex 还以为你在用 Vue 2,结果项目早换成 Vue 3 了,它能干对才怪。
坑4:只放在根目录
注意
如果项目比较大,一个 AGENTS.md 装不下所有信息。
建议: 大项目用多级 AGENTS.md。根目录写全局信息,子目录写模块细节。这样每层的信息都不会太长。
5.7 再聊几个进阶玩法
给 Codex 设定"角色"
# 角色设定
你是一个资深的前端性能优化专家。审查代码时要特别关注:
- 不必要的重渲染
- 大列表有没有用虚拟滚动
- 图片有没有做懒加载
- 首屏加载时间给 Codex 一个"人设",它就会用这个角色的视角来干活,出来的结果更有针对性。
设定回复格式
# 回复格式
- 用中文解释
- 给出代码时标注文件路径
- 修改代码时说明改了什么、为什么改
- 修改前后的代码都要展示告诉 Codex 你希望它怎么回复,省得每次都说"请用中文解释"、"请标注文件路径"。
全局 AGENTS.md 示例
放在 ~/.codex/AGENTS.md,对所有项目都生效:
# 个人偏好
- 用中文回复
- 代码注释用英文
- 变量命名用 camelCase
- 优先推荐最简单的方案,不要过度设计提示
全局 AGENTS.md 适合放个人偏好(比如语言、命名风格),项目级 AGENTS.md 适合放项目相关的信息。两者叠加在一起生效,互不冲突。
5.8 小结
| 要点 | 一句话总结 |
|---|---|
| AGENTS.md 是啥 | 给 Codex 写的"入职手册",让它了解你的项目 |
| 写啥内容 | 项目简介、技术栈、结构、规范、常用命令 |
| 放在哪里 | 项目根目录(必须)、子目录(可选)、全局(可选) |
| 多长合适 | 30-60 行,简洁为上 |
| 啥时候更新 | 技术栈变了、项目结构调整了就更新 |
| 叠加关系 | 多层 AGENTS.md 信息会叠加在一起生效 |
一句话: AGENTS.md 就是给 Codex 写的"项目小抄",写好一次,长期省心。
下一章来聊聊 Codex 要干活的时候,怎么保证安全不乱来:第6章 Codex 要干活,安全吗?
