一美元仅剩十八美分:AI 编程工具在 Bug 显现后的真实成本

专栏概述
问满屋子的工程负责人,AI 编程助手是否让他们的团队变得更快,几乎所有人都会说是。但要求他们出示证据时,对话就会变得尴尬得多。今年相隔几周内发布的两组数据,悄然重新开启了一场业界大多数人原以为已有定论的辩论:AI 生成的代码交付起来真的更便宜吗,还是我们只是把成本转移到了视线之外?
无人细列的账单
在开发者 Twitter 上引发热议的数据来自 Entelligence AI,该公司提取了 2,444 家公司的使用数据,并做了一件几乎无人去做的事:它追踪了花在 AI 编程 token 上的每一美元,一直到生产环境。这种分配比例令人震惊:每花费一美元,有 44 美分用于修复 AI 自身引入的 Bug,27 美分用于重写无法达标的 AI 生成代码,还有 11 美分因代码审查和合并延迟的摩擦而蒸发,因为人类试图弄清楚模型到底做了什么。算下来,每花费一美元,只有大约 18 美分的真正可交付价值留存下来。十万美元的 token 预算最终只能产出大约一万八千美元真正进入生产环境的代码。
这种表述迅速传播,因为它极其直观——任何人都能在会议上复述的一个单一比率。它也几乎同样快地引来了反驳,而且理由充分:一条提炼了某供应商汇总调查数据的爆款推文并非一项受控研究,“18 美分”这一数字将截然不同的工程工作混为一谈,而且各团队在审查流程的严谨度上差异巨大。一篇恰好指出这一点的反驳文章《一美元仅剩十八美分》值得与原始论断一起阅读,而不是取而代之——它并没有推翻底层规律,而是论证这个具体数字被赋予了它无法承受的精确度。值得记住的不是小数点后第二位。而是这一发现的形态:AI 编程支出中有相当大的一部分并没有创造新价值,而是在为制造这些混乱的同一工具善后。
为什么“快两倍”依然可能让你亏钱
如果说 Entelligence 的数字是一张快照,那么 James Shore 的文章《你需要能降低维护成本的 AI》——该文登顶 Hacker News 并在评论区分化的情况下稳居榜首——就是解释这张快照为何如此的机制。Shore 的论点不需要你相信 AI 写出的代码很糟糕。它只要求你接受一个大多数 ROI 推介中方便地略过的会计恒等式:总维护负担与你所维护的代码量成正比,而不是与你产出代码的速度成正比。
推演一下这个模型。一个 AI 代理让团队的产出翻倍——两倍的功能、两倍的文件、两倍被固化到代码库中的边缘情况。如果每单位代码的维护成本保持不变(这是乐观情况),你并没有削减维护账单;你把它翻倍了,因为你现在有两倍的代码产生两倍的支持工单、安全补丁和集成难题。Shore 的模型将时间线拉长以使观点具体化:在一组合理的假设下,在大规模采用 AI 加速开发后约两年半内,维护工作将攀升至消耗开发者一半以上的时间。速度上去了。做新工作的净产能并没有——因为对旧工作的征税也随之增长了。
帖子下方的 Hacker News 讨论串值得被视为一个独立的信息来源,而不仅仅是互动指标。分歧大致如你所料:拥有强大测试覆盖率、严格审查纪律并由资深工程师把控 AI 的团队报告称,复合效应确实存在但可控,更接近 20-30% 的维护税,而非失控的螺旋式上升。让 AI 生成代码在更宽松的监督下直接交付的团队描述的情况更接近 Shore 的最坏情况。这种分歧比任何一个极端情况都重要,因为它表明结果并非由工具决定——而是取决于一个组织是否已经足够有纪律,能在债务复利增长之前将其捕获。
没人想承认的依赖
叠加第三个数据点,这幅图景变得更加令人不安地清晰。TechCrunch 关于如今拒绝在没有 AI 辅助下编写代码的开发者的报道,描述了一支已经悄然跨过门槛的劳动力队伍,且几乎没有关于是否应该这样做的内部辩论。因为一个工具让你更快而采用它是一回事。达到一种没有它就无法工作的地步则是另一回事——在这种状态下,无辅助编写代码的技能已经萎缩到无法真正考虑回头路。
将这一点与维护数学放在一起,你会得到一个真正尴尬的组合:一支越来越依赖某工具的劳动力,而该工具的产出产生了一笔许多同类开发者既无能力也无资源去手动偿还的维护账单。如果 AI 编写了代码,而 AI 又不能被信任能以编写时那样低廉的成本去维护它,且通常负责进行维护的人类在没有 AI 参与的情况下最缺乏这样做的经验,那么这笔债务就不会被偿还——它会被推迟。这不是一种假设性的失败模式。它正是 Shore 文章所描述的确切机制,只是从人力资本而非代码库规模的角度来审视。
业界忘记构建的指标
所有这些加起来并不等于“AI 编程工具不起作用”。这里的每一个来源,包括持怀疑态度的来源,都理所当然地认为这些工具确实加速了代码编写——这一点没有争议。有争议的是,业界是否一直在衡量正确的东西。每小时代码行数、每个冲刺合并的 PR、每个交付功能消耗的 token——这些都是生产侧指标。它们告诉你管道前端移动得有多快。它们都没有告诉你,六个月后当这些代码需要被某个未曾编写它且可能第一次也未仔细审查它的人修改、调试或扩展时,会发生什么。
这才是整个辩论真正围绕的核心变量:AI 对软件团队的净影响不是一个你可以通过衡量产出速度来回答的问题,因为速度恰恰是账单到期前上升的那个数字。一个更诚实的 ROI 模型会像贷款人对待贷款一样对待 AI 辅助代码——今天交付的价值,要与几个季度后开始在维护账本中显现的还款计划进行权衡。一些团队已经在以这种方式构建他们的 AI 采用策略,对任何 AI 生成的内容设置更严格的审查关卡和强制测试覆盖率,正是因为他们已经内化了这种权衡。基于上述数字,大多数团队仍在把贷款当作拨款来算。每美元 44 美分的数字和两年半的维护曲线是描述同一张未付账单的两种方式。这张账单是保持可控,还是成为本十年软件开发的主导成本,与其说取决于你使用的是哪个模型或哪个代理,不如说取决于你的组织是否决定在它到来之前正视它。