Codex 改代码不翻车:权限、分支、Diff、测试和 Code Review

2026年10月30日 更新:2026年10月30日 · 作者 Taylor Yang · #结果验证 #Git #开发者工具

怕 Codex 改坏代码?按任务给权限、改前留退路、改后看 diff 和测试证据,再让它帮你做 Code Review。

💡 **这篇解决什么问题:**怕 Codex 改坏代码、改到不该动的地方、说“完成了”其实没测过。这篇讲怎么按任务给权限、改之前留好退路、改之后看 diff 和测试证据、前端用浏览器验收,以及怎么让 Codex 帮你做 Code Review。

更多 Codex 文章:省点力 · Codex 小类

大家卡在哪里

一、Codex 会不会乱改代码?取决于三件事

  1. 你的权限设置;
  2. 你的 prompt 是否清楚(见 让 Codex 听懂你:上下文、提示词和斜杠指令怎么用);
  3. 你有没有看 /diff。

记住一句话:小任务、小权限、强验收。

二、按任务给权限

VS Code 插件里的几种模式

模式能做什么适合
聊天模式(Chat)提问、解释代码、了解项目,不会改项目第一次了解项目,比如问“能介绍一下这个项目吗?”
代理模式(Agent)阅读代码库、执行具体任务、修改项目文件真正要改代码时
完全访问(Agent with full access)权限更大,还可以联网、访问项目外的文件,自由探索和修改权限要求高、步骤复杂的任务
自定义配置按自己的需要调整可用能力有特殊需求时

Codex App 里要先看的权限项

不给权限,AI 只能陪你聊天;权限给太大,自己又不看 diff,就容易出问题。按任务给权限,不要一刀切。随着你熟悉它的能力边界,再慢慢放开,免得每次确认都浪费时间。

三档权限,新手怎么选

不同版本界面的中文翻译可能略有差异,核心思路差不多:

新手推荐:

在 CLI 里可以用 /permissions 控制它是只读、可以改文件,还是跑命令前必须问你。生产项目、老项目、没有 Git 的项目,尤其别一上来就让它撒开跑。

沙箱和审批的默认设置

想少点确认弹窗?两种做法

做法一:直接关掉审批

# ~/.codex/config.toml
approval_policy = "never"
sandbox_mode = "workspace-write"

这样 Codex 在项目目录里可以自由改文件、跑命令,不再询问。要注意:这等于把每一步的确认都交了出去;公司电脑上 requirements.toml 可能直接禁止 never(见 一次配好 Codex:AGENTS.md、config.toml、Skills 与 MCP);新手和生产项目不建议这样配。

做法二:只给安全流程授权

对明确安全的本地流程,可以进一步收窄审批范围:在 AGENTS.md 里写明某个流程是安全的,比如本地测试用一次性数据、没有生产权限,允许它运行测试、修复本次改动造成的失败、重跑受影响的测试,每一步都不用请求批准。配置和规则的写法见 一次配好 Codex:AGENTS.md、config.toml、Skills 与 MCP。

智能体:能用,但要慎重开

智能体可以操作你电脑上的应用,比如浏览器、控制台、某些桌面软件。填云服务器配置、填 App Store 截图信息、网页上重复的填表动作,都很适合交给它。但这些东西别让它碰:

必须让它进控制台时,先让它说明计划,并同步你的要求:

你将要操作浏览器控制台。
在点击任何提交、删除、支付、确认按钮前,必须停下来等我确认。
如果页面出现 token、密钥、手机号、邮箱,不要读取或复述。

这是基本的安全边界。你请一个真人助理操作电脑,也不会让他随便点支付按钮。把这些操作写成必须人工确认的边界,别依赖模型临时判断。

三、改之前,先留好退路

四、一份可以直接复制的“安全修改”任务模板

修改一个现有网站,又不希望它顺手改坏其他功能时,可以直接用这段:

请先阅读当前项目,理解它的目录结构、技术栈和现有功能。
本次任务:【在这里填写需求】

按下面顺序执行:
1. 先找到与需求有关的文件,说明准备修改哪些文件、为什么。
2. 检查项目现有规则,包括 AGENTS.md、README 和相关配置。
3. 如果涉及数据库、认证、支付、生产环境配置或删除操作,先说明风险并征求确认。
4. 在确认范围内修改代码,不改动无关文件,不随意新增依赖。
5. 修改完成后运行项目已有的测试、类型检查或构建命令。
6. 检查 Git Diff,确认没有意外修改。
7. 最后告诉我:修改了什么、哪些测试通过、哪些没有验证、还有什么风险。

不要把没有运行过的测试写成已通过;遇到无法验证的环节直接说明。

这个写法和 OpenAI 官方的分阶段开发、验收要求是一致的。

五、完整走一遍:Net Ninja 的弹窗组件示例

  1. 开分支:git switch -c feature/modal。
  2. 切模式:从 Chat 切到 Agent,允许 Codex 修改项目。
  3. 提需求:做一个可复用的弹窗组件,要求是:半透明背景遮罩;白色弹窗主体;通过 slot 传入内容;有关闭按钮可以关掉弹窗;新建 pair 的表单在没有校验错误时提交,弹出成功提示。
  4. 看结果:Codex 新建了弹窗组件和测试文件,更新了表单和 CSS,插件里列出了每处修改、改了哪些文件,以及跑过的测试。表单提交后会显示选中的模型,弹窗里也有对应的模型详情。
  5. 耐心一点:这次任务结果正确,但是作者遇到过最慢的一次 Codex 操作之一。复杂改动比简单提问、小修改要花更多时间(模型选择也有影响,见 Codex 长任务和大项目:计划文件、Goals、会话管理、并行、云端与额度)。
  6. 浏览器里亲自验证:表单里已经有示例数据,提交后弹窗正常出现,关闭按钮能关掉。
  7. 验证校验逻辑:必填项没填完时,弹窗不出现;补齐后提交成功,弹窗再次出现。说明表单和组件连接正确,弹窗只在通过校验后打开。

六、改完以后看 diff

每次至少看 5 样东西

  1. 改了哪些文件?
  2. 有没有改到任务范围之外?
  3. 有没有新增依赖?
  4. 有没有跑 lint / test / build?
  5. 有没有留下调试代码、假数据、敏感信息?

按文件追问

请按文件列出这次改动。
每个文件说明:
1. 为什么改
2. 具体改了什么
3. 有什么风险
4. 用什么命令验证过

它没跑测试时

你还没有运行测试。
请先根据项目文档找到测试命令。
如果没有测试命令,请说明你能运行的最小验证是什么。

用 /diff 看真实改动

/diff 会显示新增了哪些文件、删了哪些内容、有没有未跟踪的文件。别只看它的总结,AI 的总结会漏,diff 不会。

在 IDE 里审查

推荐组合:先 /diff 看改动,再 /review 让它审。

以前人写代码要 code review,现在 AI 写代码更要 review。AI 编程把人从重复操作里解放出来,但最后的判断还在人这里。

七、要测试证据,不要“已完成”

八、前端任务:一定要看页面

按钮有没有挤在一起,移动端有没有重叠,弹窗有没有遮住内容,颜色看不看得清,这些问题光看 diff 看不出来。只说“build 通过”不够,要让它打开浏览器验收。

请启动项目并打开本地页面。
重点检查:
1. 375px 移动端是否有文字重叠
2. 1440px 桌面端首屏是否正常
3. 按钮文字是否溢出
4. 表单错误状态是否清楚
发现问题后先截图说明,再修改。

前端工作流:描述目标 → Codex 改代码 → Browser 打开页面 → 截图检查 → 继续修样式 → 再次验收。

每次前端任务都加一句,能过滤掉很多“代码看起来对,页面其实不对”的问题:

改完后请用浏览器截图验证,不要只说代码已经改完。

九、让 Codex 帮你做 Code Review

新手最适合从 review 入门

第一次用 AI 改代码会紧张,可以先不让它改,让它 review。review 的风险比直接改低,又能看出它的判断力:它指出的问题靠谱,你就知道它理解了项目;不靠谱,你也能看出它在哪些地方会误判。这是建立信任最稳的方式。

review 一个 PR:

请 review 这个改动。
重点看:
1. 有没有明显 bug
2. 有没有边界条件没处理
3. 有没有安全风险
4. 有没有测试缺口
5. 有没有可以简化的地方
只给 review 意见,不要直接改代码。

review 本地 diff:

请 review 当前 git diff。
按严重程度输出:
P0 必须修
P1 建议修
P2 可以优化
不要泛泛而谈,每个问题都指出文件和原因。

内置的审查入口

自定义要求很有用,不同场景关心的点不一样:普通功能开发关注逻辑错误和边界情况;安全相关改动重点查权限、输入校验和潜在漏洞;准备发布的代码,再加上测试是否充分、风格是否统一。

把团队审查标准写成文件

新建一份 code-review-guidelines.md,再让 AGENTS.md 引用它,主文件也不会越写越长。可以写:

怎么看审查结果

每次改完的固定三步

/diff
/review
运行测试

不要只看它的总结。这也是 7 天练习路线第 4 天的内容:“请 review 当前 diff,只给意见,不改代码”,用来训练你判断它的质量。

团队想在每个 PR 上自动跑审查、在自己的容器里做私有审查,见 Codex 长任务和大项目:计划文件、Goals、会话管理、并行、云端与额度。企业管理员可以参考官方的企业管理员指南和安全指南(资源链接见 Codex 长任务和大项目:计划文件、Goals、会话管理、并行、云端与额度)。

按需查阅的官方文档