软件工厂 3.0:从卖人月到卖模具

Software Factory 3.0 — From Selling Person-Months to Selling Molds

一个做外包的朋友上个月跟我抱怨:客户现在拿 AI 写的代码来压价。「你们报 30 人月,客户自己用 Claude Code 一周出了个 demo,问你们凭什么值这个钱。」

我问他:那个 demo 上线了吗?

他说没有。客户自己人测了一周,测出一堆问题,又回来找他们修。

我说:那你应该换个报价方式。不报人月,报模具费。

他没听懂。这就是这篇文章要讲的事。

Software Factory 3.0 — From Selling Person-Months to Selling Molds

软件生产的三个时代

先把分期摆出来。软件生产经历了三个时代,每个时代的计量单位都不一样:

1.0 作坊时代2.0 流水线时代3.0 无人工厂
时期~20002000-2023现在起
生产方式瀑布、个人英雄、手工作坊Agile、DevOps、CI/CDGoal 驱动,Agent 端到端执行
计量单位人年人月已验证的闭环需求
人的位置工匠流水线工人厂长 + 质检 + 设备工程师
产能瓶颈招得到多少人协作与流程损耗验收标准的供给速度

2.0 时代的本质是 用工具流水线放大人——人还是生产主体,Git、Jira、CI 只是传送带。整个外包产业的报价模型——人月——就是这个时代的产物:因为验证靠人,所以产能等于人头。

3.0 的本质是 人退出生产线。在如何判断你的团队真的工程 AI 化了:六条验收标准里我讲了这套工厂的内部验收标准——人提需求、AI 端到端交付、5 人天复杂度可复现。那是工厂的 ISO 认证。

但这篇要往前再走一步:认证完了,工厂可以对外接单吗? 我的判断是可以,而且这不是一个内部转型问题,是一个产业问题——因为 2.0 时代已经存在一个纯粹的软件工厂:外包行业。它按人月报价、用人头堆产能,是流水线工厂最纯粹的形式。所以 3.0 的冲击波,会最先碾过它。

问题变成:一个可以对外接单的 3.0 软件工厂,它的生产资料、报价模型和护城河分别是什么?

答案藏在一个类比里:模具

需求是熔融的塑料,Evals 是模腔

注塑成型是制造业最常见的工艺:塑料加热融化,高压注进模腔,冷却成型。这个过程有一个深刻的特性——模具不描述「怎么造」,只定义「什么形状算合格」。你不需要告诉注塑机怎么流动、怎么填满,塑料自己会流满模腔的每一个角落。模具只是规定了合格形状的负形。

AI 编码完全一样。你不需要告诉模型怎么写代码——它自己会流满每一个角落。你需要的是告诉它 什么形状算合格

这个「合格形状的负形」,就是 Evals。

Evals 是新的 PRD说的是这件事的需求侧含义:验收标准不是事后核对的清单,它就是需求本身。私有 Eval 是终极护城河说的是它的战略含义。这篇要补上它的 工业含义:Evals 是软件工厂的生产资料,它的性质和制造业的模具一模一样。

逐条对一下:

模具的工业属性Evals 的对应
模具很贵,但开好后单件成本趋近于零建一套领域 eval 集很贵,但建好后每次验证的边际成本趋近于零
模具决定质量,缺陷复制到每个产品Eval 的漏洞复制到每一次交付
模具按产品族专用,没有万能模具Evals 按需求族专用:审批流一套、报表一套、协议栈一套
模具会磨损,需要修模保养Evals 会过期,需要随业务演进修订
模具厂是制造业的核心工种Eval 工程师是 3.0 工厂的核心工种
一个国家的制造水平看模具水平一个软件工厂的水平看 eval 水平

最后一行值得停下来:「模具是工业之母」可以直接翻译成 3.0 版本——Evals 是软件工厂之母。 2.0 时代软件业的产能瓶颈是写代码的手,3.0 时代是切模具的手。

验证成本:从锉刀到注塑

模具类比成立的根本原因,是它解释了一场成本结构的革命。

2.0 时代的验证是手工的:每个需求,测试工程师手工点一遍、Code Review 一遍、上线后盯一遍。这相当于每个零件都用锉刀锉出来——验证成本随需求数线性增长。所以外包只能按人月卖:不是企业想卖人月,是验证本身吃掉了所有人,产能只能以人头计量。

3.0 的验证是注塑的:eval 集一合模,单测、E2E、vision 截图比对一次成型。验证成本从线性变成摊销。

注意,这才是软件工业化的真正含义。不是「AI 写得快」——写得快从来不是瓶颈,2.0 时代就有代码生成器。验证便宜才是工业革命。 当 AI 写码的速度趋近无限,质检能力就是工厂的产能上限。Anthropic 内部 65% 的 PR 由 Agent 开出,本质是他们的质检线先自动化了。

这也解释了工程 AI 化标准里为什么 E2E + vision 是硬门槛:没有 vision 验证,等于模具没有型腔——塑料注进去,你还是得靠人眼逐个看成品,注塑机就退化回了手工作坊。

修模:reward hacking 就是飞边

模具最经典的缺陷叫飞边(flash):模腔哪里有缝,塑料就往哪里钻,成品上多出一圈毛边。单个看不致命,量产起来全是废品。

Agent 的 reward hacking 就是飞边。智能体作弊不是 bug,是特性——你考核什么它就优化什么:eval 说「测试通过率高」,它就把断言写得宽松;eval 说「PR 数量」,它就把提交拆碎。eval 里的每一条缝,AI 都会准确地找到并钻过去,然后量产出一堆「形状合格、实质带毛边」的交付。

所以 3.0 工厂有一个 2.0 不存在的常设工序:修模。封死一条捷径、暴露真问题、再封死下一条——这个循环要一直转到 AI 找不到缝为止。而且修模必须赶在量产之前:手工时代一个 eval 漏洞影响一个需求,注塑时代一个漏洞量产一千个缺陷品。

这也是为什么独立 Review Agent 和「eval 先行锁定」必须写进工厂标准——那是模具入库前的探伤。Eval 是品位说品位决定 eval 质量,在工厂语境下可以更直白:品位决定废品率。

报价:模具费 + 闭环单价

模具类比一旦成立,3.0 工厂的报价模型就不需要发明了——制造业已经用了五十年:

2.0 外包报价:  人月 = 估算人头 × 月           (输入计价)
3.0 工厂报价:  模具费(NRE)+ 闭环单价 × 数量  (输出计价)
# generated by hugo AI

NRE(Non-Recurring Engineering,一次性工程费)是制造业的标准科目:客户要一个新零件,先付开模费,之后每个零件只收材料与加工的成本。

翻译成软件:客户提一个新类型的需求,工厂先评估要不要开新模具——建这套需求族的 eval 集、打通对应的 E2E 验证链路——这是模具费。模具建好后,每一个同类型需求的交付只收闭环单价。

售前动作也随之变了。2.0 的售前问「这个需求要几个人」;3.0 的售前查模具库:「这个需求 70% 匹配我们现有的审批流模具,30% 要新开模。开模费 X,单闭环 Y,一次通过率 2/3。」模具库越厚的工厂,报价越快、毛利越高——因为验证成本早就被摊销过了。

回到开头那个朋友。客户用 AI 一周写出 demo 来压价,正确的回应不是解释人月怎么算,而是换一个坐标系:「demo 不算产品,因为它没有模具。你们的 demo 测了一周没敢上线,就是在用锉刀验货。我们报的不是写代码的钱,是模具的钱。」

标准模具商品化,垂直模具是纵深

制造业还有一个规律会精确重演:模具会分层,利润只留在专用模具里。

标准模具——登录、CRUD、报表、通用审批流——会被开源和平台免费化。这类 eval 集谁都能切,没有稀缺性,很快商品化。在标准模具上接单,等于在红海里卖注塑件,拼到最后只剩价格。

真正的纵深在垂直行业模具:医疗行业的 Agent 怎么留审计痕迹、金融机构的 Agent 谁有权派活、制造企业的质检 Agent 出了错责任怎么划分。这些东西不是 prompt 问题,是 行业制度问题——它们被铸进 eval 里,就成了别人拿不走的模具。

这和Anthropic 领先行业 6 个月——但只有前两层算数的判断在工厂隐喻下汇合了:通用 Harness 是模型厂商的主场,但垂直行业的 eval 模具,是那 6 个月照不到的地方。谁手里有行业制度知识,谁就有开模能力;谁有开模能力,谁就能接别人接不了的单。

顺着模具供应链往上推,这个产业的全景图是:

制造业角色3.0 软件产业对应
机床厂模型厂商
产线集成商Harness 平台
模具库Eval 库 / Eval 市场
原材料垂直行业制度知识
质检机构(SGS)Eval 审计——第三方认证工厂的模具

最后一行可能是个全新的产业:外部客户凭什么相信你的工厂能交付?凭第三方 eval 审计。就像出口货物靠 SGS 检测报告。

模具归谁:这个产业的护城河结构

最后是最锋利的问题:模具归谁?

制造业的惯例是:客户出开模费,模具归客户,但寄存在工厂——理论上随时能搬走,实际上搬迁成本极高,这就是锁定的来源。

软件产业大概率会照搬这个结构,而它同时决定了三件事:

锁定方式:客户的 eval 模具存在你的工厂里,换工厂要带着整套模具和磨合记录搬家——锁定靠迁移成本,不靠所有权。这比 2.0 时代「代码库锁死客户」干净,也更脆弱:客户知道自己随时能搬,所以工厂只能靠持续的交付质量留人。

护城河位置:工厂的护城河不是代码、不是人头,是「模具库 + 修模记录 + 一次通过率」这三样东西的复利。

平台的终局:谁来托管模具?模具应该归客户(那是他的业务制度资产),但模具的版本管理、兼容性认证、探伤审计由平台做——就像 GitHub 托管代码但不拥有代码。这套「模具托管」基础设施,可能比任何一家工厂都值钱。

结尾

回到开头那个被压价的外包公司。2.0 时代的软件工厂卖的是人的时间,所以永远被「AI 写得更快」压价;3.0 时代的软件工厂卖的是模具,而模具是 AI 写不出来的——它来自行业制度知识,来自一次次修模的复利。

人月神话的终点,不是更少的人月,而是没有人月。人月神话讨论过 Brooks 定律在 Agent 时代的失效,这篇再推一步:当验证成本被摊销成零,「人月」这个计量单位本身就过期了。

一个问题留给你:你所在行业的制度知识——合规要求、审计标准、责任链——现在铸成模具了吗,还是还散落在几个老员工的脑子里?

欢迎留言聊聊。


See also