Harness Engineering 远远不够:为什么软件工厂模式会失败?
- 现在最火的做法叫「关灯工厂」:AI 写代码、AI 审代码,人一行都不读。HumanLayer 创始人 Dex Horthy 连发上下两篇长文说这条路跑不通,而且这不怪你姿势不对,问题出在模型是怎么被训出来的
- 他引的 Faros 数据覆盖 22000 名开发者两年:人均完成的大需求确实涨了 66%,但每个 PR 对应的线上事故涨了 242.7%,一次评审都没过就合进主干的 PR 涨了 31.3%
- 根子在打分方式:模型练编程时,裁判只看「要修的那个测试过了没、别的测试挂了没」,两个都满足给 1 分。怎么修的一分都不影响得分,所以到处套 try catch 把异常吞掉,也是满分
- 而「写得烂」没法进奖励,因为它没有快速裁判:跑测试几秒出结果,烂架构的账单几周几个月后才到,中间那条因果链倒推不回去
- 他给的解法不要求你少用 AI,只要求把力气挪到动手之前:产品评审、系统架构、程序设计、竖切四段。按他的估算,一小时规划把评审从 6 小时压到 20 分钟,而八成的预期痛苦在最开始十分钟里就消掉了
2026 年 7 月,HumanLayer 创始人 Dex Horthy 在 AI 工程师世界博览会(AI Engineer World's Fair)上做了一场主题演讲,题目就叫《软件工厂为何失败》。会后他把这场演讲扩写成一篇长文,因为 X 对单篇能放的图片视频有数量上限,7 月 24、25 日拆成上下两篇发了出来。
上篇的副标题是「外壳还不够」。业内把套在 AI 编程模型外面的那层东西叫 harness,中文一般译作外壳:给模型什么工具、怎么喂上下文、跑几轮、失败了怎么重试、上几道自动审查。这一年所有人都在往这层外壳上使劲,追求的是一条不用人插手的流水线。他要论证的是:这条路解决不了软件质量的问题,因为问题不在外壳,在模型是怎么被训出来的。
下篇叫「把灯重新打开」,讲的是他自己团队踩完坑之后改用的那套做法。下面把两篇合起来讲。
软件工厂的现状与盲目「全自动化」
Faros AI 拉了 22000 名开发者、4000 个团队两年的工程数据。这些数字没有一条来自问卷,全是直接从代码仓库、持续集成流水线、事故系统、工单系统和编辑器里抓出来的。他们在同一批公司内部做对比:AI 用得少的那段时间,和 AI 用得多的这段时间。
产出那一栏很好看。再往后看,事故和 bug 全在涨。
大需求(epic)
吞吐
PR 条数
线上事故
(上一年是 +9%)
中位耗时
这里的 PR 指程序员提交的一次改动,等着别人过目再合进主代码。第四个数字要留意:它是「每个 PR 对应多少事故」,已经把提交量变多这件事除掉了,交得更勤本身解释不了这个涨幅,是每一次交出去的东西更容易出事。Faros 自己的解释是:跳过评审的人多半没打算跳过,更可能的原因是审的人跟不上 AI 出活的速度。同期,一次评审都没过(人审、机审都没有)就合进主干的 PR 涨了 31.3%。
Dex 拿这组数字开场,是想说明一件事:代码确实产得更多了,只是账没在产出这一栏结,结在了下游。
软件工厂是什么,关灯关掉的是哪一步
先说清「软件工厂」指什么。它就是一条流水线:想法进队列,有人做,有人审,上线,出了事再回炉。这套东西不是 AI 时代才有的。
AI 来了之后,这条线只换了一格:「有人做」变成「Agent 做」。Ramp、Stripe、WorkOS、Brex 今年都发过文章,说自家 75% 的代码是 Agent 写的(这是作者对各家说法的转述,各自按什么口径算没有逐家核过)。但换完这一格,麻烦就来了:做一件事从几小时几天掉到几分钟几小时,审一件事还是几小时几天。于是审的那一格成了整条线上最堵的地方。
你可以继续往上加自动化:让 Agent 审代码、让 Agent 拿浏览器把以前的功能全跑一遍看有没有被改坏、把线上事故直接扔回队列让它自己修。但审这一格总还是慢。于是有人干脆把它拿掉了。
2022 年的样子:做和审都由人干,两边都是几小时到几天。
Agent 接手「做」这一格之后:做只要几分钟到几小时,审还是几小时到几天,于是审成了整条线最堵的地方。
关灯工厂的选择:把人审这一格直接划掉,省下的力气全押到自动测试、沙箱、自动审查、监控和灰度上。
「关灯」这个说法是 Dan Shapiro 起的,取的是工厂里没有人、连灯都不用开的意思。最常被拿出来讲的案例是 StrongDM:这条线上没有人写代码,也没有人读代码。到这一步,整条线上只剩一个问题了:还能往队列里塞多少活。
他自己关掉这一步,四个月后靠手工重铺两周收场
这套听起来很美。Dex 真去干了:2025 年 7 月,他的团队全面关灯,只读需求和工单,小活中活全交给后台 Agent,整套都上。
然后就撞上了那种 Agent 怎么都修不好的问题。他说凡是认真这么跑过几个月的人,结局都一样:你把相关的代码和文档全翻出来喂给它,你让它换十种办法把这个毛病再犯一次给自己看,都不行。最后只能自己动手,翻那个已经三个月没读过的代码库,一行行找哪里坏了。而在他找的这段时间里,网站是停的,用户在骂。
第一次出这种事,他忍了,跟自己说这点风险换来的速度是值的。同样的事又发生了几回,到 11 月大约第三次的时候,他们判断重写比继续修更省事,于是联合创始人打开 VS Code(连 Cursor 这类 AI 编辑器都没用),手工把那一整套写法重新铺了两个星期。

