AI 编程
Codex CLI 实战:让 AI 安全地读代码、改代码并运行测试
一套可复用的 Codex CLI 开发工作流,从理解项目、制定计划到修改代码、运行测试和代码审查,减少返工与误改。

查看文章目录
先说结论
Codex CLI 最稳定的用法不是一句“把这个项目做完”,而是把任务分成五个可检查阶段:理解项目、确认目标、实施最小改动、运行验证、审查差异。这样既能减少无关修改,也方便你在任何阶段纠正方向。
如果你还没有安装 Codex,可以先阅读Codex 安装与入门教程。已经能够运行 codex 的读者,可以直接按本文模板完成一次真实任务。
为什么任务越大越容易失控
AI 编程助手需要同时理解代码结构、项目规则、业务目标和验收条件。只说“优化一下”“修复所有问题”,等于让它自行猜测优先级,常见结果包括:
- 为了一个小问题改动很多无关文件;
- 使用项目没有采用的依赖或编码风格;
- 只修改代码,没有补测试和运行验证;
- 把已有的用户改动当成无用内容覆盖;
- 给出“已经修复”的结论,但实际构建失败。
解决办法不是无限增加提示词长度,而是让任务边界清楚,并把证据写进完成标准。
阶段一:先让 Codex 理解项目
进入仓库后,先用只读任务建立共同上下文:
请先阅读项目规则和目录结构,不要修改文件。
说明:
1. 这个项目的技术栈和启动方式;
2. 与登录功能相关的主要文件;
3. 现有测试如何运行;
4. 你目前不确定的地方。
这里特意要求它列出“不确定的地方”。一个可靠的分析应该区分已经从代码确认的事实和仍需验证的推断。
如果项目有 AGENTS.md、CONTRIBUTING.md 或目录级规则,应要求 Codex 优先读取。规则文件适合记录包管理器、测试命令、架构边界和注释语言等长期约束。
阶段二:把需求写成可验收任务
任务描述可以使用下面的结构:
目标:修复用户连续点击提交按钮时产生重复请求的问题。
范围:只处理注册表单及其相关测试,不改后端接口。
约束:沿用现有请求封装,不增加依赖,不覆盖工作区已有改动。
验收:补充重复点击测试,运行相关测试和 TypeScript 检查。
开始前先说明原因与拟修改文件,确认后再实施。
这类提示词不需要写成几十页规格。关键是让 Codex 知道什么算完成,以及什么不在本次范围内。
阶段三:控制修改权限和范围
运行 /status 检查当前目录和会话状态,再用 /permissions 查看 Codex 可以执行哪些操作。对陌生仓库或只想分析问题的任务,应从更保守的权限开始。
不要为了省一次确认就允许任意命令。尤其要谨慎对待:
- 删除目录或覆盖大量文件;
- 修改生产数据库或云资源;
- 发布版本、推送分支或发送外部消息;
- 读取项目范围之外的凭证文件;
- 绕过审批和沙箱的危险参数。
权限只解决“能不能做”,任务边界解决“应该做什么”,两者缺一不可。
阶段四:要求 Codex 用证据完成任务
实现过程中,可以要求 Codex持续报告三个信息:
- 已确认的问题原因;
- 实际修改的文件和理由;
- 已运行的验证命令及结果。
一个适合中小型修复的完整指令如下:
请根据刚才的分析实施修复。先写能够复现问题的测试,再做最小改动让测试通过。
不要修改无关文件,不要隐藏测试失败。完成后运行相关测试、类型检查和 git diff --check,
最后按“原因、改动、验证、剩余风险”总结。
“运行过测试”和“测试通过”不是一回事。查看输出中的退出码、失败数量和跳过项,必要时亲自在另一个终端复跑。
阶段五:审查差异而不是只看总结
完成后先查看 Git 状态:
git status --short
git diff --stat
git diff
然后在 Codex 中运行 /review,选择适合的审查范围。官方文档说明,Codex 可以审查未提交改动、某个提交或相对基础分支的差异,并以问题清单形式报告,不需要在审查阶段继续修改工作区。
人工复核时重点看:
- 改动是否真的对应原始问题;
- 是否出现重复实现、硬编码或兼容性退化;
- 测试是否覆盖失败路径,而非只覆盖成功路径;
- 用户已有改动是否被意外包含;
- 配置、迁移和文档是否需要同步。
三个可直接复用的提示词模板
理解陌生项目
请只读分析这个仓库。先读取项目规则,再画出与【功能名称】相关的数据流,
列出入口、核心模块、外部依赖、测试位置和你尚未确认的假设。不要修改任何文件。
修复明确错误
现象:【粘贴报错或复现步骤】。
请先稳定复现并定位根因,不要凭报错文字直接猜修复。
确认原因后补回归测试,实施最小修复,运行相关测试并说明剩余风险。
实现新功能
请实现【功能】。必须满足:【列出验收条件】。
范围外:【明确不做的内容】。
先检查现有实现并给出方案;实施时沿用现有架构和依赖;
完成后运行测试、类型检查和生产构建,并列出需要人工确认的产品决策。
如何减少 Token 消耗
节省 Token 的重点不是把指令缩成几个字,而是减少走错方向后的返工:
- 一次只处理一个清晰目标;
- 提供准确的报错、复现步骤和期望结果;
- 明确相关目录,不让助手无目的遍历整个仓库;
- 让它引用文件和测试证据,减少重复解释;
- 新任务开启新会话,连续小修复保留同一上下文。
如果任务跨越多个系统,先让 Codex形成计划,再逐段实施。计划本身会消耗少量上下文,但通常比错误修改后推倒重来更省。
常见问题
每个任务都需要先写计划吗
改一个错别字不需要。涉及多个文件、数据迁移、权限或公开接口时,计划能够提前暴露遗漏。计划的长度应与风险匹配。
Codex 能替代代码审查吗
不能完全替代。它适合发现明显错误、遗漏测试和差异中的风险,但业务取舍、真实用户影响和发布决策仍需要负责人确认。
可以让 Codex 自动提交和推送吗
技术上可以在授权范围内执行,但是否应该做取决于团队流程。更稳妥的默认方式是让它完成代码和验证,由人查看差异后决定提交、推送和合并。
参考来源
内容制作说明
本文由 AI 辅助创作、人工审核;事实、来源和表达在发布前均经过人工复核。
MOZHI AI MODELS
把方法用于下一次创作
浏览墨智 AI 当前可用的文本、图像、视频与音频模型,按任务选择合适能力。
查看可用模型