代理驱动的代码审查
随着AI编码代理变得极其熟练,瓶颈已从编写代码转移到审查代码。数据显示,代码变更量、缺陷和审查时间急剧增加。关键在于根据具体情境(影响范围、代码寿命、团队规模)调整审查流程。捕获代理的推理过程可以减轻审查负担。
随着AI编码代理的飞速进步,软件开发的核心挑战已从编写代码转向决定是否信任代码。这种转变使得代码审查成为当前软件工程中最具杠杆作用的技能。然而,不同开发者面临的审查问题截然不同:一个没有用户的独立开发者与维护十年老应用的团队,解决的并非同一个问题。
Faros AI在2026年3月的数据显示,随着团队从低AI采用转向高AI采用,开发者的合并请求数量大幅增加,但代码变更量飙升861%,缺陷率从9%升至54%,审查时长增加441.5%。无审查合并的PR增加了31.3%。CodeRabbit对470个开源PR的研究发现,AI协作的PR中逻辑和正确性问题增加约75%,安全问题翻倍,可读性问题增加三倍。GitClear的数据则表明,AI用户的原始输出量是非用户的4倍,但实际生产力仅提升12%。
这些数据说明,当机器速度的输出涌入为人类速度设计的系统时,瓶颈并未消失,而是转移到了验证环节。解决这一问题的关键,在于理解审查的上下文。三个变量决定了审查的严格程度:影响范围(故障后果)、代码寿命(长期维护还是短期原型)、以及需要理解代码的人数(独立开发者还是团队)。
对于独立开发者且无用户的项目,可以依赖自动化测试并减少审查,但绝不能跳过验证。当项目获得用户后,审查的缺陷发现和知识共享职能变得重要。大型组织中的老代码库则需要最严格的审查。
一个被低估的改进点是:捕获代理的推理过程。人类开发者编写代码时,意图自然伴随;而代理的推理通常被丢弃,导致审查者需要重构意图。让代理在PR中附上决策日志,说明其选择,可以大幅降低重构成本。总之,针对不同情境设计审查流程,并善用AI工具辅助,才能应对新时代的挑战。
另外,需要指出的是,尽管AI辅助审查工具(如Copilot Review)已处理超过6000万次审查,一年内增长了10倍,但这并不意味着可以完全自动化。CodeRabbit和Faros AI的供应商背景意味着其数据可能带有倾向性,但多个独立来源的一致性表明趋势是真实的。GitHub的数据也显示,平台上超过五分之一的审查涉及AI代理,这已不再是边缘实践。
最终,开发者应认识到,审查的严格程度应随项目阶段动态调整。初创公司可以宽松,但必须有真正的测试覆盖;成熟企业必须坚持严格审查,尤其是在处理支付系统等关键代码时。一个有效的做法是让代理提供决策日志,从而减少人的认知负担。这不仅是工具问题,更是一种工程文化的适应。