两种结果,同一工具
观察两个团队使用同一个 AI 模型,你会看到两种完全不同的结果。
第一个团队让模型构建一个界面。输出接近但不够准确。样式偏离了 Figma 文件。状态管理触及了不该碰的文件。构建在本地通过但在 CI 中失败,没人理解原因。健全性检查失败。工程师花了三小时修复模型三分钟生成的内容。他们再次尝试。同样的结果。他们得出结论:AI 编程还没准备好用于生产环境,实验就此结束。
第二个团队让模型构建一个界面。输出同样不完美。但他们确切知道模型应该触及哪些文件、不应该碰哪些文件。他们立刻发现偏差,提示模型修复,然后发布。当 bug 在生产环境中出现时,他们并不慌张。他们让模型追踪故障、生成补丁并部署。整个周期只需几分钟。抱怨出现在 Reddit 上。他们同样在公开场合以同样的速度修复这些问题。
同一个模型。同一个提示。完全不同的结果。
差距不在模型
第一个团队责怪工具。输出不可靠。模型产生幻觉。生成的代码很脆弱。这些抱怨并非全错——模型确实会产生幻觉,生成的代码确实很脆弱。但第二个团队面对同样的幻觉和同样的脆弱性。他们只是恢复得更快。
差距在于信心:第二个团队对 codebase 足够了解,知道模型什么时候在走向悬崖。他们知道哪些边界重要,哪些不重要。他们在足够大的规模上部署过足够多的故障,以至于修复生产环境 bug 感觉像是例行公事,而非生死攸关。对他们来说,AI 消除了打字和样板代码。它并未消除判断力。判断力本来就存在。
对第一个团队来说,AI 消除了打字,但放大了不确定性。他们不知道模型是否触及了正确的文件。他们不知道生成的状态管理是否会破坏另一个界面。他们不知道 CI 失败是真正的问题还是脆弱的测试。每一次 AI 生成的更改都像一次掷骰子。大多数人都不愿意拿生产环境掷骰子。
第二个团队到底是谁
这不是一个理论上的原型。第二个团队很像构建 Claude Code 的那些人。
Anthropic 的工程师是世界上最顶尖的一批人。他们在大规模场景下部署过分布式系统、机器学习基础设施和面向用户的产品。他们见过每一种故障模式。当他们的 AI 生成一个有问题的 refactor 时,他们能在几秒钟内发现,因为他们以前犯过完全相同的错误。当生产环境出问题时,他们不需要护栏来告诉他们该看哪里。他们的直觉就是护栏。
这就是他们能够碾压式推进的原因。他们发布有 bug 的代码,以创纪录的速度公开修复,然后继续前进。网上到处都是关于他们产品的抱怨。他们不会放慢速度,他们的工程师也不会失眠。稳定性很重要,但当你可以用发布 bug 的同一个 AI 在几分钟内修复它时,bug 的代价就很低。
他们不需要 Autotomy,因为他们的工程师已经拥有 Autotomy 编码为规则的判断力。
99% 的问题
行业中的其余部分不是 Anthropic。
大多数工程团队的工程师并没有在大规模场景下部署过几十次。他们没有在几秒钟内发现 AI 生成的有问题的 refactor 的直觉。他们没有发布已知 bug 并在线上修复的信心。当他们的代码在生产环境中出问题时,老板会追责。当 QA 退回某个东西时,截止日期就会推迟。当回归问题在演示中浮现时,信任就会蒸发。
对这些团队来说,生产环境 bug 不是五分钟修复的问题。那是一整天的压力。那是与利益相关者的对话。那是信誉上的一个凹痕。
他们需要精英团队不需要的东西:一个能让 AI 输出值得信赖、而不需要精英级判断力的框架。他们需要在合并前捕获边界违规的护栏。他们需要能够独立验证行为的 contract。他们需要执行规则的 CI,这样就不必反复质疑每一次 AI 生成的更改。
他们需要 Autotomy,不是因为他们是不好的工程师。他们需要 Autotomy,因为他们是普通的工程师,在普通的组织中工作,在这些组织中,稳定性很重要,错误是有后果的。
精英团队也需要 Autotomy 吗?
也许。
精英团队能够碾压式推进,因为他们的工程师能从任何状况中恢复。但恢复仍然需要时间。即便 Anthropic 的工程师也花数小时修复那些刚性边界本可以预防的 bug。即使最好的直觉也会在 codebase 变得足够大时遗漏边缘情况。
问题在于预防的成本是否低于恢复的成本。对于一个能在几分钟内修复任何 bug 的团队来说,预防可能感觉像是额外负担。既然可以修复违规,为什么还要执行边界?既然可以目测集成情况,为什么还要写 contract test?
但团队不会永远保持精英状态。工程师会离开。codebase 会增长。在第一年能捕获每一个糟糕 refactor 的直觉,到第三年就捉襟见肘了。那个知道每一个隐式依赖的工程师调到了另一个团队。在一万行代码时有效的碾压策略,到了十万行时就变成了负债。
Autotomy 不会拖慢精英团队。它让他们的速度可持续。它将他们的判断力编码为能够经受人员流动和规模增长的规则。它将个人专长转化为团队基础设施。
这对你的团队意味着什么
如果你属于第一类——尝试了 AI、被灼伤、失去了信心的那一类——你并不孤独。你是大多数。关于 AI 编程的讨论被扭曲了,人们观察精英操作者的工作方式,并假设他们的工作流能直接移植到自己的环境。事实并非如此。
你的团队不需要变成 Anthropic。你需要一个能让 AI 输出足够安全、让你能够信任的系统。这意味着刚性边界。这意味着确定性执行。这意味着一个框架,在这个框架中,违规在构建阶段就失败了,永远不会到达 QA 环节,正如我们在《生产环境中的 AI 编程:为什么大多数团队放弃了》中所描述的那样。
因为真相是:AI 编程在生产环境中是否可行,不取决于模型是否够好,而取决于你的系统是否有足够的结构来防止模型犯下代价高昂的错误。精英团队通过判断力来实现这一点。其他所有人都需要护栏。
目标很简单。用 AI 发布功能。睡个安稳觉。醒来时没有来自老板的愤怒消息。
关于 AI 编程鸿沟的常见问题
为什么 AI 编程对某些团队有效,对另一些却无效?
精英团队拥有深厚的系统直觉,能让他们立即发现并从 AI 生成的错误中恢复过来。大多数团队没有这种直觉。没有护栏时,每一次 AI 生成的更改都像一场赌博。当赌博失败时,团队失去信心并停止使用 AI。
精英团队真的会产生有 bug 的代码吗?
是的。即使是顶级工程组织也会发布 bug。区别在于他们的恢复速度。一个普通团队需要一整天来诊断和修复的 bug,精英团队只需要几分钟。他们把 bug 视为运营噪音,而不是生存威胁。
刚性护栏会拖慢精英团队吗?
最初,是的。设置边界和 contract test 需要时间。但一旦它们存在,执行就是自动的,几秒钟就能运行完成。长远的好处是,随着 codebase 增长和工程师轮换,团队的速度变得可持续。
普通团队首先应该做什么?
在生成代码之前定义 module interface。在 CI 中用失败构建的规则来执行这些 interface。添加能够独立于完整系统验证行为的 contract test。这三个步骤让 AI 输出变得足够可预测,以至于 QA 不会再退回所有东西。更深入的讲解,请参阅《AI Codebase 的确定性护栏》。
目标是零 bug 吗?
不。目标是值得信赖的 AI 编程。这意味着 bug 保持在局部范围内、可诊断、并且可以由引入它们的同一个模型修复。这意味着团队在第六个月仍然使用 AI,而不是在第三周就放弃了。