在 Craft 大会上,Artie Shevchenko 发表了题为“代码健康守护者(Code Health Guardian)”的演讲。他指出,强制性的 AI 检查结合针对复杂变更的手动审核,有助于开发者保持敏锐的判断力。只要大多数开发者都是代码的所有者,那么在团队规模较小的情况下,就可以跳过低风险拉取请求(PR)的同行评审,并采用 AI 审批来提高开发速度。
Shevchenko 援引了 2025 年诺贝尔奖得主、经济史学家 Joel Mokyr 的观点。Mokyr 认为,只有当实践与对理论的深刻理解不断地相互促进,形成流畅的知识反馈循环时,技术的进步才能成为永久性的。
Shevchenko 指出,如今,人工智能既有可能强化知识反馈循环,也有可能破坏它。这是因为人工智能实际上并不真正地理解任何东西;它只是生成符号,从而营造出一种理解的假象:
人工智能可以结合实际案例,在具体的语境中向所有人做理论的阐释,从而让知识的获取变得简单便利。但是,如果缺乏人类的参与,这种机制很可能会偏离正轨。如果缺乏理解,只是盲目地接受人工智能建议的任何内容,那么我们就会面临知识反馈循环被打破的风险。
我们必须对代码库保持认知层面的控制力,以维护和强化反馈循环。如今,在人工智能的推动下,对于日益庞大、复杂的代码量,我们需要保持认知控制。
认知债务是指团队成员对于所开发系统的共识程度逐渐削弱。Shevchenko 指出,人工智能使得需要审查的代码增加,加剧了认知债务问题。要解决代码审查瓶颈,就必须超越开发者体验的范畴。
Shevchenko 认为,严谨的代码审查不仅是一种技能或习惯,更像是一块肌肉。肌肉可以也应该通过训练来增强,但其潜在的处理能力是有限的。
Shevchenko 提到了几种方案,用于处理那些不算小的变更:
1. 严格审查:过去就很困难,有了人工智能后更是难上加难
2. 只是粗略地浏览一下:认知债务会迅速积累
3. “先编码,后 AI”的方法
他建议先快速实现代码变更,并将这个原型和规格说明提供给 AI,由 AI 提出改进和修复方案,然后你选择要采纳的变更,并逐一审查。
Shevchenko 认为,采用这种方法,虽然你仍然需要进行审查,但由于你已经深入地理解了解决方案,所以更有能力进行审查。
Shevchenko 建议,我们可以通过跳过低风险的变更来优化同行评审,但最具影响力的优化是允许代码所有者仅依赖 AI 审查:
与同行评审不同,这种做法是通知其他所有者,由 AI 进行例行审批,然后由你进行合并。
Shevchenko 表示,所有者策略优化只有在小型团队中才能发挥出良好的作用。他总结道,这是解决人工评审瓶颈、使人工评审可持续进行的先决条件。
在演讲结束后,InfoQ 对 Artie Shevchenko 进行了采访。
InfoQ:审查 AI 生成的代码面临哪些挑战?
Artie Shevchenko:首先,最突出的问题是涌入的代码变更量非常大。高质量的代码审查从来都不容易,但要处理源源不断的审查任务,的确会让人筋疲力尽。而且,每个人都有自己能承受的极限,一旦超过这个极限,处理额外的审查任务所带来的疲劳感就会呈指数级增长。
第二个挑战是“表面正确性”。与人类编写的代码相比,AI 生成的代码变更乍看之下往往显得合情合理。而实际上,要发现隐藏在光鲜外表下的细微缺陷,往往需要投入比以往更多的脑力。
最后,AI 默认倾向于添加新代码,而非简化现有代码。要发现优化和重构的机会,往往需要对整个代码库有深入的理解。
话虽如此,与其他问题相比,这些都显得微不足道。显然,最核心的障碍是 AI 源源不断
地生成需要审核的代码和文档。而这也正是我的演讲重点——如何管理这么大的工作量。别误会,虽然没有万能的解决方案,但确实存在切实可行的方法来减轻这种负担。
InfoQ:允许所有者依赖 AI 审查的策略如何激励开发者的代码所有权意识?
Shevchenko: 在代码所有权模式下,所有者必须审查并批准对其代码库所做的每一项更改。一项允许所有者绕过人工审查、依赖 AI 批准其自身 PR 的策略,对于获取所有权来说是一项巨大的激励。它赋予了工程师完全的自主权,并让他们能省去等待自己的工作审查完成的时间。
但这其中有一个隐患。如果团队中大多数工程师都不是代码所有者,那么少数几位所有者仍然要把几乎所有时间都花在审查非所有者提交的、由 AI 生成的变更上。在这种情况下,允许所有者快速处理自己的 PR 对团队开发速度的影响就非常小了,而所有者的审查疲劳度依然会极高。
除非大多数团队成员都是代码所有者,否则问题便无法真正地得到解决。但你不能在不损害架构完整性的前提下随意分配所有权。这导致了一个显而易见的结论:要使这一政策奏效,团队的规模必须保持精简。
原文链接:https://www.infoq.com/news/2026/09/human-reviews-AI-era/