标签

AI互相审查:一场缺失裁判的竞技

发布时间:2026-07-01 08:49阅读:2

你刚刚走完了一套标准的AI开发流程。

Copilot Workspace从Issue列表中领取了一个任务。Claude Fable 5独立完成了编码工作,自动通过了全部测试,发起了PR。随后,GitHub内置的Code Review Agent自动审核了这段代码。它标注了两条「建议优化」,Claude自动修复并重新提交。你打开PR页面,映入眼帘的是:所有检查绿灯亮起,代码审查已完成,变更看起来合理。

你点击了Merge。

整个流程中,你没有阅读过任何一行代码。编码的是AI,审核的也是AI。你的角色退化为:按按钮的人。

但这个体系里存在一个数学难题:当审核代码的AI与编写代码的AI共用同一套底层机制时,审核这一行为在逻辑层面已形同虚设。

AI审AI听起来很美妙,两个大脑交叉验证,双重保障。

问题在于,它们共用同一套神经回路。

GPT-5.6与Claude Fable 5虽源自不同公司,底层均为概率预测引擎。它们共享同一套根本性的缺陷:Hallucination(幻觉)、Context Blindness(上下文盲区)、Pattern Overfitting(模式过拟合)。当Claude审核Copilot生成的代码时,它并未在核实事实。它在用自己的概率分布去匹配对方的概率分布。

用控制系统的语言讲,你将同一个误差源接入了反馈回路的两端。输入信号自带噪声,审核器也自带同类型噪声。系统误差每一轮都在累积放大。

Anthropic自身的研究表明,Claude Code Review确实能捕获部分低级错误:变量名不一致、类型不匹配。但在逻辑漏洞、竞态条件、架构层面的设计缺陷上,AI审核器的检出率不足人审的60%。

而逻辑漏洞与竞态条件,恰恰是AI生成代码最容易引入的bug类型。审核器最擅长查的,生成器不常犯。生成器最常犯的,审核器同样看不见。

这个问题,是一个递归信任收敛问题。

在分布式系统里,当多个节点需要就某个状态达成一致时,你需要一个共识算法。Paxos或Raft,任选其一。这些算法的核心假设是:部分节点可能出错,但只要大多数节点诚实,系统就能收敛到正确状态。

AI审AI的场景是这种假设的瓦解。你仅有两个节点,而且它们的错误分布高度相关:

每一轮「生成→审核→修改→再审核」构成了一个迭代循环:

1. AI生成代码(含误差ε₁)

2. AI审核发现部分问题(检出率<80%),遗漏误差ε₂

3. AI修改时引入新误差ε₃

4. 回到步骤2

ε不会收敛到零。它在一个区间内振荡,有时甚至会放大。就像你把两面镜子面对面放置,镜像不会越来越清晰,它们会无限反射,越来越暗、越来越扭曲。

深层问题是,缺乏外部锚点。所有分布式系统都需要一个不受系统内部状态影响的参照点,一个Ground Truth。人类程序员写代码时,Ground Truth是需求文档、业务逻辑和物理世界的约束。AI审核AI代码时,两个AI都在概率空间里互相验证,没有一个在现实世界里运行过这段代码。

这就是标题所言,两个选手在互相打分,裁判席空了。

三件事可以立刻做:

在PR合并之前,人工审核至少一个关键路径 无需审核全部代码。但至少验证一个核心业务场景的真实执行路径。走一遍那个「用户下单→扣库存→生成订单」的完整流程。AI生成的代码单元测试覆盖率可以达到90%以上,但那10%的空白往往恰好落在业务流程的裂缝上。你的前额叶是唯一会问「如果库存为负数会怎样」的节点。

设置审核信任边界 用AI审核非关键代码:工具函数、格式化、文档注释。用人类审核关键代码:权限逻辑、金融计算、状态机转换。把AI审核当作一个lint工具、一个辅助检查点,而非质量门槛。lint工具通过不代表代码正确,它只代表代码符合规则。规则里藏不住逻辑漏洞。

给审核链路加一个「人工签名」环节 最危险的是:你不知道自己不再审核了。你对PR点了merge,以为一切正常。

设立一个硬规则:任何PR在被merge之前,必须有一个人类在至少一个关键文件上留下行级评论。哪怕那个评论只是「确认这个RPC超时时间合理」。它没有技术价值,留下的是注意力痕迹。有了这个痕迹,你至少知道自己的前额叶曾经路过这里。

AI审AI的困境,根子在架构上。当一个系统里所有节点都运行同一套逻辑时,错误可以在链路里无限循环而不触发任何警报。

当写代码和审代码的AI都学会互相夸奖时,唯一还在问「这真的对吗」的,是你。别让那个声音消失。

推荐阅读: 高考志愿填报,是一次没有回滚按钮的架构部署

你不会想要一个从不幻觉的AI

你用AI省下来的每一分钟都在为崩溃充值