为什么「软件工厂」会失败(或:harness 工程还不够)

查看原文 HN 讨论

文章摘要

HumanLayer 的 Dex Horthy(dhorthy)写了一篇长文,论证「关灯式软件工厂」——让 AI agent 在无人审查的情况下写代码——为什么会失败。他的核心主张不是模型不够聪明,而是:当前的模型无法长期维持代码库的质量,无论你把 harness(工具形状、prompt、循环)优化到什么程度。

第一层论证是约束问题。模型在解决孤立问题上表现出色,但缺乏做出「保护可维护性」的架构决策的能力。他的关键句是:现有的评测体系里「侵蚀代码库可维护性没有任何惩罚」,这就允许模型不断给出制造长期债务的快速技术修补。

第二层是为什么 benchmark 会误导。SWE-bench 这类标准评测把成功定义为 15 分钟任务内的二元通过/失败,而架构问题是在数周到数月的尺度上复合累积的——目前没有任何 benchmark 在测这个时间尺度。这就在「模型被优化去做什么」和「生产系统真正需要什么」之间撕开了一道口子。

第三层是 RL 训练的鸿沟。强化学习可以把模型优化到立刻通过测试,但无法有效惩罚那些代价在很久之后才浮现的决策。他写道:「测试在几秒内给你反馈,而糟糕架构的代价函数是以周、月甚至年来衡量的。」

第四层是真实世界证据。Faros AI 的报告显示,从 2026 年 1 月起出现了可测量的劣化:PR 评审质量下降(评论数 +25%)、每个 PR 的事故率上升 242.7%、每个开发者的 bug 数 +54%——时间上与 AI 编程的大规模普及吻合。他还引入了「shotgun surgery」这个代码坏味道(改一个组件需要在系统各处零散修改)、以及一个更刺人的观察:过去需要多年才形成的 brownfield 遗留代码库,现在 AI 写出的代码在 3-6 个月内就会变成那样。

他给出的替代方案是「开灯式」(lights-on):不取消人类审查,而是把人的介入放在四个战略性阶段——产品评审(澄清要造什么、成功标准是什么)、系统架构(组件如何交互、schema 长什么样)、程序设计(定义类型、签名、调用栈)、垂直切片(逐个功能实现、持续测试)。他的取舍是明确的:用前置的 30 分钟规划换回后续数小时的审查时间,安全地拿到 2-3 倍速度,而不是去追求那种会引入灾难性风险的 10-100 倍。结论是拥抱约束而不是否认它:模型对生成代码真的有用,但架构决策上需要人的引导。

HN 评论精华