跳到主内容

AI 代码评审清单:让智能体先跑一遍的六道关卡与人工终审边界

100%
AI 代码评审清单:让智能体先跑一遍的六道关卡与人工终审边界

评审 AI 写的代码,不要从第一行 diff 开始读。 GitHub 给出的顺序是:先看 CI 是否被削弱,再查有没有重复造轮子,最后才追关键路径——这个顺序是省时间的关键,因为最贵的缺陷往往藏在最便宜就能查出来的地方。

先认清你在评审什么

2026 年 1 月的研究《 More Code, Less Reuse 》给出了一个反直觉的结论:智能体生成的代码在每次改动中引入的冗余和技术债,比人写的更多,但表面看起来更干净,评审者也更容易放行。 GitHub 的数据同样说明问题:Copilot 代码评审累计处理超过 6000 万次,五分之一以上的评审已经有智能体参与。

智能体是个高产、字面化、遵循模式的贡献者,它不知道你们的事故史,也不知道那些没写进仓库的运维约束。它的代码”看起来完整”,这本身就是最危险的失效模式。

六道关卡:十分钟检查顺序

第 1 关:扫描分类(1–2 分钟)

  • 看文件清单和 diff 体积,判断是窄任务(文档、 CI 、小改动)还是复杂任务(多文件、逻辑、性能、测试)。
  • 这一分类决定后面每一关要花多少深度,先分类再动手。

第 2 关:先看 CI 改动(2–3 分钟)

在读任何业务代码之前,先看所有触碰 .github/workflows、测试配置、覆盖率阈值、构建脚本的改动。任何削弱 CI 的改动都是硬性阻断。智能体跑挂 CI 时有一条明显的捷径:删掉失败的测试、跳过 lint 、给命令加 || true、下调覆盖率阈值。有些智能体真的会走。

必查四项:覆盖率阈值是否被改?有没有测试被删除、改名或标记跳过?工作流是否不再在 fork 或 PR 上运行?有没有步骤被新增条件挡住?

第 3 关:扫重复工具(3–5 分钟)

搜新增的函数、 helper 、模块,逐个在仓库里查重,凡是重复实现了既有能力的全部打回。智能体很少主动确认”这个功能是不是已经有了”,典型症状是两个名字不同、实现几乎一样的函数。

第 4 关:追一条关键路径(5–8 分钟)

挑最重要的一处逻辑改动,端到端走一遍:输入 → 变换 → 输出,重点看边界条件、权限校验、异常分支。这一关无法跳过,也是唯一真正需要你带着系统上下文去做的部分。

第 5 关:安全边界(8–9 分钟)

如果 PR 涉及调用大模型或处理不可信输入,逐条过:工作流权限是否最小化(permissions: read-all 是合理默认值)?不可信内容进提示词前是否被清理和转义?分析步骤和执行步骤是否分离、生产操作是否有人类审批门?模型输出有没有被直接 eval 执行?

第 6 关:要证据(9–10 分钟)

任何非平凡的逻辑改动,都要求一个”在改动前会失败”的测试。写不出这个测试,说明修复是不完整的,或者理解本身就是错的。高风险改动还要有回滚方案。

要求更小的 PR 的四个信号:diff 触碰超过五个不相关文件;你一句话说不清这个 PR 的目的;智能体没有实现方案或 PR 描述是空的;CI 挂了而 diff 里只改了测试文件。

哪些该交给 AI,哪些必须留给人

环节谁来理由
风格不一致、类型错误、明显逻辑漏洞AI 先跑机械扫描是它的强项,先过滤掉再占用人力
CI 配置是否被削弱人(可规则化)硬阻断项,一次放行就是长期漏洞
重复实现既有工具人 + 仓库检索需要知道仓库里有什么,是上下文活
关键路径与边界条件人依赖事故史和未写下来的约束,AI 拿不到
是否合并人自动化评审意见不构成批准,也不阻断合并

给 AI 评审下明确的契约

“帮我看看这段代码”只能换来泛泛而谈。有效的做法是写清评审契约:只检查正确性、授权、错误处理和验收标准;忽略格式和与改动无关的问题;每条发现必须指出代码位置、失效场景和证据;使用只读工具,不改代码;说明跑了哪些检查、哪些没跑。

另外一条硬规矩:写代码的会话和评审的会话必须是两个。自审有用,但不能当作独立证据——新会话至少要拿到原始 issue 、验收标准、最终 diff 和验证结果。

和已有流程串起来

评审前的方案确认可以参考AI 编程的 Plan/Act 分离工作流,把”改什么”在动手前定死,评审时只需核对其是否按方案执行;安全类缺陷的深入排查可以接上AI 代码安全审查里的检查项;如果你们已经在做规范驱动开发,评审契约可以直接写进规格驱动开发的模板里。


AI 评审说没发现问题,能直接合并吗?
不能。”没发现问题”只代表模型在它检查到的范围内没报告问题,既不能证明功能可用,也不能证明既有行为没被破坏。 AI 的评论在证实之前都只是假设,要用代码、针对性测试或可复现路径去确认。

团队人手不够,六关全走完现实吗?
六关是按性价比排序的,时间不够就保证前两关:CI 改动和分类扫描只要两三分钟,却拦住最贵的缺陷。第 4 关追关键路径无法压缩,但可以只追一条,不追全部。

怎么让 AI 评审的输出更有用?
给它维护好的上下文,而不是数据倾倒:仓库级规则、按路径的差异化要求、 issue 与验收标准、以及团队自己的检查清单。指令越具体,自动评审越有用,泛泛的”检查代码质量”产出的是泛泛的评论。

发现智能体删了测试来让 CI 通过,怎么处理?
直接阻断并要求说明原因,不接受”测试过时了”这类未加说明的理由。如果确实要删,必须在 PR 描述里写明,并同步补充等价覆盖。这条要写进团队规则,作为不可协商的硬门槛。

可直接复制的评审提示词

要求新开会话、只读工具、逐条给出证据:本次评审只关注正确性、授权校验、错误处理与验收标准,忽略格式和与本次改动无关的问题。每条发现必须包含:文件路径与行号、具体失效场景、支撑结论的代码或命令输出。最后说明你实际执行了哪些检查、哪些相关检查你无法执行。不要修改任何代码。
这篇有帮助吗?
云上的幻象
云上的幻象查看主页

七彩云博客,分享 WordPress 建站实战与 AI 工具测评,覆盖服务器运维、站长工具、软件资源与电商运营干货,专注原创实用的主题插件、网站加速与安全优化教程。

921文章4评论

相关文章

评论 (0)

欢迎你,新朋友,感谢参与互动!文明发言,理性交流 · 首次评论将在审核后展示