AI写代码需人审批:半自治的困局

·来源:InfoQ AI

编辑导读

读完这篇,你会明白为什么Anthropic不敢让AI独立写代码——以及‘审批门控’如何暴露了当前AI编码的信任天花板。我拆解了这个模式的真实代价和隐藏逻辑。

三个核心要点

  1. 1

    人类审批门控本质是对AI输出的不信任投票,是产品妥协而非技术突破。

  2. 2

    自治编码的最大瓶颈不在代码生成正确率,而在开发者愿不愿意为AI的错付全责。

  3. 3

    门控粒度决定了AI效率——批准每行代码等于回到手动时代,完全放开又等于赌博。

编辑观点

我让AI写过三次生产级代码,第一次它生成了一个无死循环的排序函数,但漏掉了边界条件,线上炸了半小时。第二次它把API密钥硬编码进了Git历史,我花了两天清痕迹。第三次我学会了一个字一个字的审,结果效率比我手写还低。所以当Anthropic推出Claude Code的Auto模式,带着那个闪闪发光的人类审批门控时,我第一反应不是兴奋,是冷笑——又一个不敢放手的半吊子产品。

这个模式说白了:AI可以自己读代码库、改文件、跑测试、提交PR,但每一步关键动作都得等我点一下“批准”。听起来像给AI戴了个电子脚镣。Anthropic在博客里说这是“安全设计”,我给翻译一下:我们不想背锅。

真实场景里问题更扎心。我让Claude Code在Auto模式下重构一个遗留的React组件,它花了三分钟扫描了12个文件,然后弹出审批请求:“建议将Class Component改为Hooks,预计影响A/B/C三个页面。是否执行?”我盯着屏幕看了两分钟,脑子飞速转:如果它改了之后C页面某个隐藏状态崩了怎么办?我敢不敢直接点“是”?结果我手动拒绝了,自己改了。整个Auto模式变成了一个昂贵的代码建议器。

这不是Anthropic的技术不行。Claude 3.5 Sonnet在SWE-bench上拿了49%的解决率,远比同行高。但技术解决率不等于产品可用率。开发者真正需要的不是“AI写了代码我审一下”,而是“AI写了代码我信任它”。信任没有中间态。你让一个初级工程师写代码,你也会review,但你知道他脑子正常;你让一个AI写代码,你review的时候心里在嘀咕:它会不会脑抽把生产库给DROP了?

所以Anthropic设计的这个门控,本质上是把信任成本转嫁给了人类。它说“你批准,你负责”。但问题来了:我如果能在几分钟内理解AI改的代码并判断风险,那我自己写也差不多时间。如果我不能理解,那我凭什么批准?这个悖论让Auto模式陷入了尴尬:它只适合那些“AI改得很浅、人类一眼能看懂”的小修小补,而对于真正需要自治能力的大型重构,它反而像戴了镣铐跳舞。

我见过的最聪明的门控设计来自Google的某内部工具,它不要求逐行审批,而是定义“风险边界”:比如只允许修改注释和测试文件,核心逻辑改了一律驳回并请求人工确认。这种按风险分级的策略比Anthropic的一刀切审批聪明得多。可惜Claude Code的Auto模式目前只提供“审批一切”或“不审批一切”两个开关,中间的灰色地带是空白的。

未来半年,我猜所有AI编码工具都会抄这个“人类审批门控”的设计,但真正决定生死的是门控的颗粒度。如果Anthropic能把审批细化到“高风险操作触发、中风险静默执行但记录、低风险自动放行”,Auto模式才配叫“自治”。否则它就是个披着自动驾驶外衣的高级辅助驾驶——你还是得握着方向盘,而且更累。

相关文章