用户故事在暗代码工厂中的实际成本是多少

在 2026 年 3 月到 7 月期间,我构建了一个包含 861,601 行代码的生产应用程序。这包括 105 天内的 696 个用户故事和 779 个合并拉取请求,但我无法告诉你它的成本是多少。驱动 Claude Code 的自主 SDLC 框架的第一个版本完成了这项工作。那一代人没有记录使用情况,[...]

来源:O'Reilly Media _AI & ML

在 2026 年 3 月到 7 月期间,我构建了一个包含 861,601 行代码的生产应用程序。这包括 105 天内的 696 个用户故事和 779 个合并拉取请求,但我无法告诉你它的成本是多少。

驱动 Claude Code 的自主 SDLC 框架的第一个版本完成了这项工作。那一代人没有记录使用情况,Claude Code 默认的 30 天记录保留删除了唯一的其他记录。该法案并不为人所知,因为它已经消失了。如果测量不是管道的一部分,那么它就不存在。

仪表化工厂

第二代工厂在工作时坚持自己的法案。每个阶段尝试都会将其令牌(输入、输出、缓存读取、缓存写入)、其成本、模型和故障类别写入分类帐。第一代应用程序没有留下任何记录,因为它的框架没有保留任何记录;如果不保留它们,这个就无法运行。

我应该在定价之前定义单位。在这个管道中,故事是我们所知的敏捷工件。这是一个从史诗分解而来的小需求,其接受标准为代理提供了停止条件。完成的定义是机器如何知道它已经完成。我们人类将故事批量分成冲刺来管理交付。在这个管道中,故事构建只是一个经历其完整交付周期的故事。这包括首先编写测试、构建、覆盖范围、由专门的审阅者代理进行审阅以及合并。它还包括错误修复和代理回复格式错误时的重复请求。孤立的 git 工作树中最多同时运行五个故事。本文的数据集涵盖了工厂于 2026 年 6 月 25 日至 7 月 18 日期间在一个存储库中构建的每个故事。其中包括 17 次运行、193 个故事构建、374 次阶段尝试和 336 个会话日志。六月运行使用 Claude Opus 4.8,七月运行使用 Claude Fable 5,而 Claude Haiku 4.5 处理较小的部件。

使用情况存在于账本和原始会话日志中,但它们不一致。日志是事实,原因我稍后会解释。工厂(claude-code-config)和它构建的存储库(local-code-bench)都是公共的。方法部分包括 CSV 和提取脚本,以便您可以检查每个数字。开头的生产应用程序仍然是私有的,因此只有它的幽灵出现在这里。

一个故事的成本是多少

工厂消耗了 5.957 亿代币来运送 77 个故事,每个交付的故事需要 770 万个代币:按这些型号的标价计算,为 837.53 美元,或每个故事 10.88 美元。分子包括扔掉的每个令牌、以失败告终的 5 个故事、22 次失败的阶段尝试、错误修复和重新询问循环以及重试;分母仅计算已发布的故事。

在之前的一篇文章中,我估计我工厂的故事是“几美元到几十美元”。仪表的答案是 3.02 美元到 43.24 美元,中位数为 9.56 美元,所以我的估计是有效的。表中的两个发现让我感到惊讶。故事点几乎无法预测成本,因为中型和大型乐队的中位数仅相差 8%。最昂贵的故事是 43.24 美元的 3 分球命中重试和错误修复循环。挂钟平均值大约是中位数的两倍半,因为隔夜运行两次触及订阅计划的速率限制窗口并停滞了几个小时。这是一个计费工件而不是代理工件。

价格反映了 Anthropic 截至运行日期的标价。

696 个幽灵应用程序的故事按照这个速度大约是 54 亿个代币。我们永远不会知道。

工厂是一台阅读机

诚实分母

谁实际付款

这就是我的估计偏差的地方。在那篇文章的工作示例中,我对一个故事进行了定价,就好像缓存写入是免费的一样。它们不是,而且它们甚至还不小。

代理每次都会重新发送相同的指令和存储库上下文。 API 会缓存该稳定的上下文,这使得缓存的重读成本仅为新输入的十分之一,尽管将新内容写入缓存会收取额外费用。

95.4% 的令牌是缓存读取。对于写入或接收的每个新令牌,工厂都会重新读取大约 73 个缓存令牌。暗码工厂主要是一台偶尔打字的阅读机。

表 2 的成本部分显示了我的估算的偏差。缓存写入仅占令牌的 3.3%,但占账单的 31.2%。缓存流量总体占成本的 77%。新输入只是成本的 1.6% 的舍入误差。

这种形状并不是某个管道的怪癖。在我的交互式框架开发会议中,缓存读取份额为 96.4%,在幽灵幸存的碎片中为 91.9%:三个独立样本、两个框架代、两种工作模式、相同的形状。它看起来像是代理开发如何消耗计算的属性。

实际结果最令我惊讶:代理管道中的成本优化是缓存管理,而不是即时缩短。上下文规则、缓存层感知以及不填充自己窗口的编排器都在推动这一举措。修改你的提示措辞则不会。

有两种方法读取故障编号。狭义的解读,即标记为“失败”的尝试,为 5.0% 的代币。诚实的阅读,所有返工、重试、错误修复和重新询问循环,加上传输令牌并终止的崩溃会话,大约为 13%。公共成本索赔很少说明他们使用哪种读数。

76 个故事中只有 34 个是第一次通过,但返工成本很低,因为相对于构建而言,重试次数很少。我把 13% 算作质量账单,因为大门会发现问题。

我在剖析原始数据时发现了一个错误,表明我的仪表撒了谎。账本未达到实际消费的六分之一,记录为 694.65 美元,而日志记录为 837.53 美元。当结果信封验证失败时,控制器的重新请求会覆盖原始阶段行的使用。这从记录中删除了昂贵的失败会话,并且崩溃的会话根本不会回写。 57 次尝试受到影响,这就是为什么会话日志是真实情况。

测量系统需要审计,就像它测量的代码一样。因此,我向自己的工厂提交了该错误,并让其修复管道来处理它。它将报告分解为三个缺陷,并在一个合并的 PR 中修复了覆盖和模型记录(问题#480,PR#482,通过了 3,200 次测试)。工厂审核了自己的电表并修复了大部分,而从崩溃的会话中恢复支出的工作则作为未完成的工作排队。

所有这一切的边际费用为零。我运行每月 200 美元的 Max 20x 订阅,这就是为什么本文中的每一美元都标记为 API 等价物。

订阅的真实货币是配额而不是金钱。隔夜运行在 5 小时限速窗口内两次停滞,十个调度等待了 3.3 至 4.2 小时才自动恢复。在固定月费的情况下,时间就是栅栏。

所有三个代码库的一个滚动月测量工作总计约为 1,088 美元(相当于 API),而费用为 200 美元,比例超过五比一,这是一个下限,因为旧的成绩单已被清除。这证明了定价与标价的不对称,而不是补贴:标价不是 Anthropic 的成本;它包括他们的利润。

仪表的变化

专业人士或小公司可以合法地利用这些固定费用吗?计划条款中没有任何内容可以阻止他们。没有收入测试,也没有公司规模上限。人择界线是契约性的,而不是财务性的。个人座位按照消费者条款运行; 125 美元的团队高级席位可以购买商业条款和中央管理,但每美元大约只获得一半的配额。攀登订阅阶梯购买的是治理,而不是代币。

这个固定费用窗口不会永远打开;配额收紧,等级重新定价。自我计量的工厂会注意到贸易转变的那一天。不这样做的人只会感觉更慢、更穷,但不知道为什么。

我在分析本文的数据时发现,每个数字都是在模型路由关闭的情况下生成的。机械合并烧毁了俳句级作品的高级模型价格,占所有代币的 12.3%。这意味着每个交付的故事 770 万个代币是未优化的比率。您正在阅读的文章发现了该错误,并且修复已在工厂的待办事项中。

第二个发现来自于将仪表指向我自己。在互动会话中编写工厂的规范(史诗和故事)消耗了约 1.9 亿个代币,大约相当于 25 个故事的消耗量(折算后约 160 美元)。当实现如此便宜时,代码就不再是昂贵的工件。 10.88 美元的故事和不可知的 861,601 行之间的区别在于,一条管道写下了它的账单。