Martin Fowler博客近期披露的数据显示,AI生成代码的规模正在快速超出人工评审的承载能力。据DX数据,Meta人均落地diff的显著代码行数一年内增长106%,PR体积中位数同步增长64%。这一变化引发技术社区对代码评审模式是否面临重构的讨论。

数据揭示评审压力

上述数据来自Martin Fowler博客文章《Maybe We Shouldn't Be Reviewing All This Code》的引述。文章作者在Code Remix活动的一场小组讨论中与DX的Brian Houck就代码评审问题展开辩论,双方立场明显分歧。Brian Houck随后撰文《What are code reviews even for?》阐述观点,该文成为此次回应文章的由头。

文章指出,AI正在产出超出人类实际评审能力的代码量。Brian Houck援引的数据显示,Meta人均落地diff的显著代码行数一年增长106%,DX自身数据则显示PR体积中位数增长64%。这些数字共同勾勒出评审环节面临的数量压力。

指标数据来源一年增幅
Meta人均落地diff的显著代码行数Brian Houck援引数据106%
PR体积中位数DX数据64%

评审功能的争议

争论的核心在于代码评审究竟应该解决什么问题。Brian Houck的担忧是,简单地将代码评审自动化,可能丢失评审承载的其他功能。文章作者对此表示认同,并进一步指出,代码评审不只是找bug,它还是团队分享知识、培养初级工程师、建立集体所有权和传播架构理解的途径。

Code review isn’t just about finding bugs. It’s how teams share knowledge, teach junior engineers, build collective ownership and spread architectural understanding.

但文章作者同时提出不同看法:问题或许不在于AI破坏了代码评审,而在于团队一直用代码评审来解决错误的问题。这一观点将讨论从“AI是否让评审失效”转向“评审本身是否被过度负载”。

验证成本与测量陷阱

Martin Fowler博客另一篇文章《Fragments: September 8》引述Christian Catalini的观点,为理解这一困境提供了更宏观的视角。Catalini指出,当前的情况是大幅降低了生成事物的成本,却没有降低验证它们的成本。

We’re in a situation where we are vastly reducing the cost of generating things, but not the cost of verifying them.

Catalini认为,这解释了为何首批主要AI产品出现在聊天、图像生成和代码辅助领域——并非因为这些是人类最难的问题,而是因为它们的输出相对容易检查。用户可判断消息语气、查看图像或对代码运行测试。他进一步提出,旧的自动化边界是常规工作与非常规工作,新边界正日益变为可测量工作与不可测量工作。

在软件行业,代码行数与生产力之间存在巨大差异,而衡量生产力方式的失败屡见不鲜。Catalini警告,危险在于人们大量使用AI自动化,却对其有效性采用不完整的测量,导致短期仪表盘上升,但长期尺度上出现灾难。他将这种虚幻的短期收益称为“counterfeit utility”(伪效用)。若在公司与机构层面推广,结果将是“Hollow Economy”(空心经济):非凡的测量活动建立在削弱的人类能力、隐藏的技术债务、相关性错误以及无人能自信背书的结果之上。

后续关注

这场争论尚未形成共识。代码评审模式是否需要重构、如何重构,以及如何在AI生成代码规模激增的背景下平衡评审的效率与功能,仍是技术团队需要持续关注的议题。Martin Fowler博客的讨论为理解这一问题的多个侧面提供了参考。