Codex 效率翻 3 倍:10 个让你相见恨晚的实战技巧
Codex 效率翻 3 倍:10 个让你相见恨晚的实战技巧
TL;DR:本文整理了 Codex CLI 从入门到精通的 10 个核心技巧,涵盖 Prompt 工程、多 Agent 协作、自动化工作流和 Token 优化。实测开发效率提升 3 倍以上,Token 消耗降低 50%+。无论你是刚上手还是深度用户,都能直接拿去用。

什么是 Codex?
Codex 是 OpenAI 推出的终端 AI 编程助手,直接在命令行中与 AI 结对编程。相比浏览器里的 ChatGPT,它有三大杀手锏:
- 🖥️ 直接操作代码:读写文件、运行命令、执行测试,一气呵成
- 🧠 理解整个仓库:自动索引项目结构,上下文感知代码意图
- ⚡ 多 Agent 并行:同时派遣多个子 Agent 处理不同文件,效率拉满
💡 一句话总结:Codex 不是一个聊天机器人,而是一个坐在你终端里的全栈工程师。
技巧 1:用 AGENTS.md 定义你的编码规范
为什么需要 AGENTS.md?

Codex 会自动读取仓库中的 AGENTS.md 文件,把它当作"团队编码规范"来遵守。你可以在里面定义命名风格、目录结构、测试要求等,一次配置,终身生效。
创建你的第一个 AGENTS.md
在项目根目录创建 AGENTS.md:
# 项目编码规范
## 代码风格
- Python 使用 4 空格缩进,遵循 PEP 8
- 变量命名使用 snake_case,类名使用 PascalCase
- 所有公共函数必须写 docstring
## 目录结构
- 业务逻辑放在 src/ 目录
- 测试文件放在 tests/ 目录,文件名以 test_ 开头
- 配置文件放在 config/ 目录
## 测试要求
- 修改代码后必须运行相关测试
- 新增功能必须附带单元测试
- 测试覆盖率不低于 80%
## Git 规范
- commit message 使用中文
- 格式:<type>: <description>
- type 包括:feat, fix, docs, refactor, test, chore
多层级 AGENTS.md
Codex 支持在子目录放置独立的 AGENTS.md,子目录的规则会覆盖父目录:
project/
├── AGENTS.md # 全局规范
├── src/
│ ├── AGENTS.md # 前端专属规范
│ └── components/
├── backend/
│ ├── AGENTS.md # 后端专属规范
│ └── api/
└── tests/
└── AGENTS.md # 测试专属规范
💡 Tip:把团队的 Code Review checklist 写进 AGENTS.md,Codex 每次提交代码前会自动对照检查。
技巧 2:掌握 Prompt 的黄金公式

好 Prompt vs 坏 Prompt
| 类型 | 示例 | 效果 |
|---|---|---|
| ❌ 模糊 | “帮我改一下登录页面” | Codex 不知道改什么、怎么改 |
| ⚠️ 一般 | “修改登录页面的样式” | 方向对了,但缺乏细节 |
| ✅ 优秀 | “修改 src/pages/Login.tsx,把登录按钮改成圆角,背景色改为 #4F46E5,hover 时加深 10%,参考 Tailwind 的 rounded-lg 和 bg-indigo-600” | 精确定位,一次到位 |
黄金公式:上下文 + 具体需求 + 约束条件
上下文:我在做一个 SaaS 管理后台,技术栈是 Next.js 14 + Tailwind + Prisma
具体需求:新增一个用户管理页面,支持分页、搜索、编辑和删除
约束条件:
- 使用 Server Components
- 表格组件用 shadcn/ui 的 DataTable
- API 路由放在 app/api/users/ 下
- 必须有权限校验中间件
引用文件和代码
在 Prompt 中直接引用文件路径,Codex 会自动读取上下文:
参考 src/utils/auth.ts 的鉴权逻辑,给 src/api/orders.ts 也加上同样的中间件。
注意 auth.ts 里用的是 JWT Bearer Token,不要改成 Session 方式。
⚠️ Warning:避免一次给太多需求。单次 Prompt 聚焦一个功能点,效果远好于"把所有页面都改了"。
技巧 3:善用 Plan 模式拆解复杂任务

什么时候用 Plan 模式?
当任务涉及多个文件、需要分步实施时,先让 Codex 制定计划:
请帮我给项目添加用户认证功能。先制定计划,不要直接写代码。
我需要看到你的实施步骤,确认后再开始。
Plan 模式的实际效果
Codex 会输出类似这样的结构化计划:
1. [pending] 安装依赖:bcrypt, jsonwebtoken, cookie-parser
2. [pending] 创建 User 数据模型和数据库迁移
3. [pending] 实现注册 API:POST /api/auth/register
4. [pending] 实现登录 API:POST /api/auth/login
5. [pending] 创建认证中间件 verifyToken
6. [pending] 给受保护路由添加中间件
7. [pending] 编写单元测试覆盖所有 API
每个步骤执行时会自动标记进度(in_progress → completed),你可以随时介入调整。
💡 Tip:对复杂任务说"先列计划再执行",可以大幅减少返工概率。
技巧 4:用沙盒权限保护你的代码

三种安全模式
Codex 提供三种沙盒权限级别,按需选择:
| 模式 | 说明 | 适用场景 |
|---|---|---|
suggest |
只建议修改,不执行任何操作 | 代码审查、学习探索 |
auto-edit |
自动修改文件,但不运行命令 | 批量重构、格式化 |
full-auto |
完全自主,修改文件并运行命令 | 信任环境下的快速开发 |
切换模式
在 Codex 会话中随时切换:
# 在 Codex 交互界面中
/suggest # 切换到只读建议模式
/auto-edit # 切换到自动编辑模式
/full-auto # 切换到完全自动模式
⚠️ Warning:在生产环境或敏感项目中,建议使用
suggest或auto-edit模式。full-auto适合在 Git 仓库中使用(随时可以git checkout回滚)。
技巧 5:多 Agent 并行,效率拉满

什么是多 Agent?
Codex 可以同时派遣多个子 Agent 并行处理不同任务,就像你同时带了几个实习生干活。
触发多 Agent
在 Prompt 中明确要求拆分任务:
请同时完成以下三个任务:
1. 修改 src/components/Header.tsx,添加暗色模式切换按钮
2. 修改 src/pages/Dashboard.tsx,优化数据加载的 loading 状态
3. 修改 tests/api/users.test.ts,补充边界条件测试
每个任务独立进行,互不影响。
Codex 会自动识别任务独立性,分配给不同 Agent 并行执行。
实际效果对比
| 场景 | 单 Agent | 多 Agent 并行 | 提速 |
|---|---|---|---|
| 修改 5 个独立组件 | ~15 分钟 | ~4 分钟 | 3.75x |
| 重构 3 个 API 模块 | ~20 分钟 | ~7 分钟 | 2.86x |
| 编写 4 个测试文件 | ~12 分钟 | ~4 分钟 | 3x |
💡 Tip:多 Agent 最适合互不依赖的并行任务。如果任务间有强依赖(比如 A 的输出是 B 的输入),还是串行执行更靠谱。
技巧 6:让 Codex 自动写测试

一行命令生成测试
给 src/services/orderService.ts 里的所有公共方法写单元测试。
使用 Vitest,mock 掉数据库层。覆盖正常流程、边界条件和异常处理。
修复失败的测试
测试跑挂了?直接把错误丢给 Codex:
运行 pytest tests/ 后报了以下错误:
AssertionError: Expected status 200 but got 403
请分析原因并修复。不要改测试,改业务代码。
测试驱动开发(TDD)
先写测试,再让 Codex 实现功能:
我已经写好了 tests/features/export.test.ts 里的所有测试用例。
现在请实现 src/features/export.ts,让所有测试通过。
先运行测试看看哪些失败,然后逐步实现。
💡 Tip:让 Codex “先运行测试,再修改代码,最后再跑一遍测试”,这种闭环方式可以大幅提高代码质量。
技巧 7:用 Git 集成管理代码变更

智能 Diff 查看
让 Codex 总结本次修改:
请查看 git diff,用中文总结这次修改做了什么。
按模块分组,每个模块用一句话概括。
自动生成 Commit Message
查看当前的 git diff --staged,按照 Conventional Commits 规范生成 commit message。
格式:<type>(<scope>): <description>
代码审查
请审查 src/api/payment.ts 最近的修改:
1. 有没有安全隐患(SQL 注入、XSS 等)?
2. 错误处理是否完善?
3. 性能有没有明显问题?
4. 是否符合项目的 AGENTS.md 规范?
⚠️ Warning:Codex 默认不会自动 commit 或 push。如果你需要自动提交,请在 Prompt 中明确说明。
技巧 8:自定义 Codex 的行为

通过 Profile 定制人格
创建自定义 Profile,让 Codex 扮演特定角色:
codex --profile "你是一个资深 Rust 后端工程师。
- 优先考虑类型安全和内存安全
- 所有函数必须有文档注释
- 错误处理使用 ? 操作符,不用 unwrap()
- 遵循 Rust API Guidelines"
模型选择策略
不同任务选不同模型,性价比最优:
| 任务类型 | 推荐模型 | 理由 |
|---|---|---|
| 简单代码补全 | gpt-4o-mini | 快且便宜 |
| 日常开发 | gpt-4o | 性价比最高 |
| 复杂架构设计 | o3 | 推理能力最强 |
| 大量文件重构 | o4-mini | 平衡速度与能力 |
使用 Model Flags
# 快速问答用轻量模型
codex -q "解释一下这段代码" --model gpt-4o-mini
# 复杂任务用强模型
codex -q "设计一个分布式任务队列的架构" --model o3
💡 Tip:日常开发用
gpt-4o,遇到需要深度推理的 bug 或架构问题时切换到o3,Token 成本可降低 60% 以上。
技巧 9:自动化重复性工作

批量文件处理
把 src/components/ 下所有 .jsx 文件转换为 .tsx 文件:
1. 重命名文件后缀
2. 给每个组件添加 Props interface
3. 补充必要的类型标注
4. 确保转换后代码能正常编译
自动生成样板代码
我在 src/api/ 下新建了 product.ts。
请参考 src/api/users.ts 的模式(CRUD 路由 + 验证中间件 + 错误处理),
给 Product 模型生成同样的样板代码。
数据模型参考 prisma/schema.prisma 里的 Product 定义。
数据库迁移脚本
我需要在 users 表添加一个 last_login_at 字段(timestamp, nullable)。
请生成:
1. Prisma schema 修改
2. 迁移文件
3. 更新所有引用 users 表的 Service 和 DTO
💡 Tip:对于经常重复的模式(比如新建 CRUD 模块),在 AGENTS.md 里写好模板规范,Codex 每次都会自动遵循。
技巧 10:Token 优化与降本

控制上下文范围
只看 src/auth/ 目录下的代码,不要读取其他文件。
分析 login.ts 和 register.ts 的安全问题。
分步执行代替一次性大任务
❌ 不推荐:
重构整个项目的状态管理,从 Redux 迁移到 Zustand,同时更新所有测试
✅ 推荐:
第一步:只迁移 src/store/userStore.ts,从 Redux 改为 Zustand
第二步:运行相关测试确认通过
第三步:继续迁移下一个 store...
Token 消耗对比
| 策略 | 平均 Token 消耗 | 完成率 |
|---|---|---|
| 一次性大任务 | 50,000+ | ~60%(容易跑偏) |
| 分步小任务 | 8,000-15,000/步 | ~95% |
| 限定范围 + 分步 | 3,000-8,000/步 | ~98% |
⚠️ Warning:Token 消耗最大的陷阱是"让 Codex 读取整个项目再修改"。始终限定文件范围,效果反而更好。
常见问题 FAQ
Codex 改坏了我的代码怎么办?
如果你在 Git 仓库中使用,随时回滚:
# 撤销所有未提交的修改
git checkout .
# 或者只撤销某个文件
git checkout -- src/pages/Login.tsx
💡 建议在开始 Codex 会话前确保代码已 commit,这样随时可以回退。
Codex 运行命令报错怎么办?
直接告诉它错误信息:
刚才运行 npm run build 报了 TypeError: Cannot read properties of undefined。
错误在 src/utils/config.ts 第 23 行。请分析并修复。
如何让 Codex 不修改某些文件?
在 AGENTS.md 中声明:
## 禁止修改的文件
- config/production.json(生产配置,含敏感信息)
- migrations/(已执行的数据库迁移)
- vendor/(第三方依赖)
Codex 生成的代码质量不行?
通常是 Prompt 不够具体。试试:
- 提供明确的文件路径和行号
- 说明参考的现有代码模式
- 给出验收标准(比如"必须通过 lint 检查")
- 在 AGENTS.md 中定义质量标准
如何查看 Codex 消耗了多少 Token?
Codex 桌面端会在任务完成后显示 Token 使用统计。CLI 模式下可以设置预算:
codex --token-budget 100000 "完成这个功能"
总结
10 个技巧速查表
| # | 技巧 | 核心价值 | 一句话总结 |
|---|---|---|---|
| 1 | AGENTS.md | 统一规范 | 写一次,Codex 永远遵守 |
| 2 | 黄金 Prompt | 精准输出 | 上下文 + 需求 + 约束 |
| 3 | Plan 模式 | 减少返工 | 先规划,再动手 |
| 4 | 沙盒权限 | 安全保障 | 按场景选模式 |
| 5 | 多 Agent | 并行加速 | 独立任务同时干 |
| 6 | 自动测试 | 代码质量 | 写测试、跑测试、修 bug 一条龙 |
| 7 | Git 集成 | 变更管理 | Diff、Commit、Review 全自动 |
| 8 | 自定义行为 | 个性定制 | Profile + 模型选择 |
| 9 | 自动化 | 告别重复 | 批量处理 + 样板代码 |
| 10 | Token 优化 | 降本增效 | 分步执行 + 限定范围 |
快速上手(3 分钟)
# 1. 安装 Codex CLI
npm install -g @openai/codex
# 2. 配置 API Key
export OPENAI_API_KEY="sk-your-key-here"
# 3. 进入项目目录
cd your-project
# 4. 开始使用
codex "帮我分析一下这个项目的代码结构"
效率提升的关键
🔑 三个核心原则:
- AGENTS.md 先行:把规范写进文件,比每次在 Prompt 里重复强 100 倍
- Prompt 要具体:文件路径 + 行号 + 参考代码 + 验收标准,缺一不可
- 分步执行:大任务拆小步,每步验证,成功率从 60% 飙升到 98%
📚 参考资料:
更多推荐




所有评论(0)