合并前如何审查 AI 生成代码
面向 Cursor、Claude Code、Codex、Copilot、Windsurf、ChatGPT、Lovable、Bolt、Replit Agent 的 AI 代码审查流程。
AI 生成代码不能靠“看起来能跑”来判断。无论改动来自 Cursor、Claude Code、Codex、Copilot、Windsurf、ChatGPT、Lovable、Bolt 还是 Replit Agent,都应该先检查范围、行为、高风险系统和验证门禁。
需要本地 review note 时,可以打开 AI 代码审查清单。完整上线流程可以从 AI 编程工作流检查清单 开始。
先看改了哪些文件
逐行看代码之前,先回答三个问题:
- 你最初让 AI 做什么?
- 哪些文件被改了?
- 哪些文件让你意外?
AI agent 常常为了完成任务顺手修改周边文件。这有时合理,但也可能隐藏无关重构、配置变更、测试重写或生成文件。diff 很大时,先拿它和原始任务对齐。
先审行为,再审风格
不要一开始就纠结命名和格式。先确认旧功能还在:
- 原有用户流程还能通过吗?
- 跳转、筛选、表单、空状态有没有变化?
- ChatGPT 复制来的代码有没有漏掉错误处理?
- vibe coding builder 生成的界面是不是只有 happy path?
有测试就跑测试。没有测试,就写清楚手动验证门禁:路由、账号类型、浏览器、命令和期望结果。
高风险系统单独检查
这些区域即使 UI 看起来正常,也要额外审查:
| 风险区域 | 检查内容 |
|---|---|
| 登录权限 | 匿名、普通用户、管理员、过期 session |
| 数据 | migration、默认值、删除/更新脚本 |
| 支付 | test/live key、webhook URL、重复事件 |
| API | 请求结构、响应字段、状态码、CORS |
| SEO | title、description、canonical、sitemap、robots |
| 移动端 | 360px 布局、固定按钮、键盘和溢出 |
这对技术开发者和非技术 vibe coder 都重要。AI 做出的 app 可能看起来完整,但仍然泄露 key、隐藏错误状态,或部署时失败。
向 AI 追问更具体的问题
好的 review 问题应该具体:
- 哪些文件超出原始任务,为什么必须改?
- 这个 patch 可能破坏哪个旧流程?
- 需要哪些 env vars,哪些可以暴露到客户端?
- 哪个命令或手动步骤能验证修复?
- 下一轮 AI agent 不应该碰哪些地方?
把答案放进 PR、issue 或 handoff note。如果 review 发现 bug,切到 Bug 调试信息包生成器,让下一轮调试从清晰上下文开始。