AI 协作工程(七):从执行到代码评审
本文承接前六篇关于 Prompt、Coding Agent Anatomy、Context Engineering、Agent Governance、Terminal Execution 和 Testing / Security 的讨论,关注点从“如何生成与执行”,进入“如何把关质量”。
系统已经具备了写代码、跑命令、补测试、形成基本验证闭环的能力,但当这些能力逐渐稳定之后,并且在生成和执行都被加速的情况下,质量由谁来兜底。也正是在这里,code review 的位置被重新拉高。
这篇文章要讨论的,不再是 prompt 或工具本身,而是一个更贴近团队协作的问题:当 agent 可以持续产出代码时,为什么 code review 会重新成为整个流程里最重要的一环。同时也要澄清一点,真正有价值的 AI review system,并不是替代评审者,而是帮助团队更稳定地发现那些最关键的问题——逻辑是否正确、结构是否可维护、性能是否合理、安全是否有风险、是否符合基本工程规范。
全文会围绕这条线展开:先说明为什么 code review 在这个阶段反而更重要,再结合讲义里的数据说明它不是“老流程的惯性残留”,而是质量控制的核心节点;接着讨论 review 到底在看什么,然后再落到 AI code review 实际增强了什么能力;最后回到 review comment 本身,说明一个更成熟的工作流,已经不只是“谁写得更快、测得更早”,而是谁更能看清代码变化中真正的问题,并把这些问题稳定地指出来。
引言
这个系列的前几篇解决的是输入、agent、上下文和治理,接着进入执行界面,再到测试与验证闭环。到这里,系统已经开始“能做、能跑、能测”,但这些改动,到底该不该进主干。
这正是本文的核心,前面关注的是生成和验证,而这里开始进入判断——不是代码能不能跑,而是这段代码值不值得被采纳。标准也随之变化,从功能是否完成,转向结构是否合理、是否易于维护、是否引入性能隐患、是否存在安全风险、是否符合工程规范。
也正因为如此,code review 的位置被重新拉高。当生成和执行被加速之后,review 会成为整个流程里杠杆最高的质量环节。它不再只是流程中的一道检查,而是决定系统长期质量走向的关键节点。
因此,把 review 放回整条协作链路中去看:为什么它在这个阶段变得更重要,它真正关注的是什么,AI 在其中应该扮演什么角色。
一个很关键的判断是:AI 更适合放大 review 的覆盖和吞吐,但不应该替代最终的判断。因为 review 的本质,不只是发现问题,而是做取舍——在当前改动、团队标准和长期维护之间做权衡。
从这个角度看,一条好的 review comment,也不只是表达意见,而是一次高密度的沟通:指出问题、说明原因、给出方向,让改动更接近团队可接受的状态。这也是为什么会强调:code review 是工程实践中最具杠杆的活动之一。在生成能力越来越强的前提下,这一点只会变得更明显。
1. 为什么 code review 会重新成为高杠杆活动
如果只是把 AI 理解成“让代码写得更快”,那 code review 看起来像是一个传统流程里的旧环节。但在 agent 工作流里,这个判断很快就会失效。实现成本一旦被压低,真正昂贵的就会变成判断成本。代码可以更快地产出,但不会自动变得更正确、更易维护,也不会天然符合团队标准。生成越快,越需要一层稳定的筛选机制。
而 review 正好承担的,就是这层筛选。它解决的从来不只是“代码能不能运行”。测试和扫描可以抓一部分错误,但覆盖不到结构是否合理、可维护性是否下降、性能是否被拖慢、是否偏离既有规范这些问题。很多真正影响长期成本的,并不是会立刻报错的 bug,而是那些当下可用、但未来难以扩展和维护的改动。
因此,一个很关键的变化是:当实现变便宜之后,review judgment 会自然变成新的高价值能力。AI 的竞争不再只发生在生成和验证上,而会逐步延伸到 review 这一层。
2. 为什么统计数据说明 review 不是老流程
讲 code review 时,很容易把它当成一种历史惯例,好像只是团队一直这么做,所以今天还在做。但它并不是经验主义,而是一项有实证支持的高杠杆活动。
一组研究中,引入 code review 后,错误率从 4.5 降到 0.82 errors/100 lines;还有研究显示,它可以带来 生产力提升和缺陷大幅下降。这些数字说明一点:review 覆盖的是另一层质量问题,而且效果是长期稳定存在的。也就是说,code review 的价值,不依赖个人经验,而是有统计意义上的支撑。
放到 AI 时代,这一点只会更明显。生成能力越强,代码变化越频繁,团队就越需要一种高杠杆、可讨论、能承接上下文的筛选方式。测试依然重要,但 review 不会被替代,反而会因为变化密度提升而变得更关键。
3. 怎样是一次好的 review
可以把 review 关注点拆成五类:logic / maintainability / performance / security / best practices。这样划分的意义在于,它直接说明了review 的重点,不只是语法或功能是否正确。
- 逻辑和正确性,关注行为是否符合预期、边界是否处理完整、调用关系是否合理。
- 可读性和可维护性,这一类问题往往不会立刻出错,但会在后续迭代中持续放大成本。
- 性能,一些实现虽然能跑,但会长期拖慢系统表现。
- 安全则对应潜在风险,很多问题不会在测试中暴露,但会在实际环境中产生影响。
- 最佳实践,代表的是团队的工程共识,是在每次改动中不断校正写法、对齐标准的过程。
把这几类放在一起看review 不是测试的补充,也不是 lint 的升级版。它真正负责的是把一段局部改动,重新放回整个工程语境中判断。换句话说,review 的本质,是在当前实现、团队标准和长期维护之间做一次再决策。
4. AI code review 增强的是什么
AI 可以自动完成 code review。这个说法不完全错,但如果不拆开,很容易让人误以为系统可以读完 PR,就给出一套完整、可靠、符合团队标准的评审结论。现实情况要克制得多。
更准确的理解是:AI 真正提升的,不是评审判断本身,而是评审的处理效率。它擅长的主要是三类事情。
- 第一是预筛问题,把一些明显的风险提前找出来,比如重复逻辑、命名混乱、基础 correctness 问题或常见安全隐患。
- 第二是整理问题,把零散的点归到逻辑、可维护性、性能、安全、最佳实践这些类别里。
- 第三是起草评论,把 reviewer 原本需要自己组织的内容,先生成一版可以直接讨论的草稿。
这些能力加在一起,本质是在做一件事:降低 review 的进入成本,让人更快看到重点。
但真正关键的一层,并没有被替代。比如是否要为了可读性接受一点性能损失,一个改动现在该不该 merge,某种写法是否符合这个项目的长期演化方向,这些判断都带有明显的上下文和取舍,依然是人来做更稳。
所以更合适的说法是:AI code review 是在做 review acceleration,而不是 review replacement。它让 review 更快、更广,但不会自动给出最终判断。
5. 什么是好的 review comment
差的 review 很简单,只给结论,比如一句“这样不行”。好的 review 则会把问题展开,让对方能够继续理解和推进。
一个高质量的 review comment,通常至少包含四个要素:你看到了什么问题,这个问题和当前代码的关系是什么,为什么会带来影响,以及接下来可以怎么改或怎么讨论。
比如指出某段代码和当前文件风格不一致,进一步说明参数过多会影响可读性、可能意味着职责不清,然后再给出一个方向:是否考虑拆分。这种评论。它不是单纯表达意见,而是在提供一个可以继续推理的判断框架。
这一点很重要。因为低信息量的评论没有太多价值;真正有用的评论,来自对上下文的理解、对问题的解释,以及对下一步的引导。AI 可以帮你更快写出评论,但评论有没有价值,取决于它是否把问题讲清楚,并把讨论往前推进。
6. 总结
当 agent 已经能稳定生成代码、运行命令并完成基础验证之后,真正高价值的能力会转向 review judgment。也就是说,系统不再只是“能不能做出来”,而是能不能帮团队更稳定地判断哪些改动值得被接纳。
在这个阶段,code review 的意义会被重新放大。它不只是流程中的一道检查,而是连接自动生成与团队标准的关键判断层。AI 在这里的价值,也不在替代 reviewer,而在于显著提升 review 的覆盖范围和处理效率,让问题更早被看到。
同时,review 关注的也从单点错误,扩展到多维质量判断:逻辑是否合理、结构是否可维护、性能是否受影响、安全是否存在风险、是否符合既有工程习惯。它处理的不是“能不能运行”,而是“这段代码长期来看是否合理”。
而好的 review comment,则是这一层能力的具体体现。它不是简单给结论,而是把问题、背景、原因和下一步方向一起讲清楚,让讨论能够继续推进。
从这个角度看,AI 协作工程已经从 coding 和 verification,走向了 review judgment。真正成熟的工作流,不只是会生成、会执行、会验证,还要会评审、会解释、会把团队标准持续体现在代码里。因此,竞争重点也会随之变化——不再只是“谁更快”,而是谁更能判断哪些改动值得进入主干。
7. 备注
本文部分观点基于公开资料整理与个人实践总结,如有引用不准确之处欢迎指正。
参考材料: