核心观点

内容精讲

「软件工厂」概念可追溯到 1968 年 Bob Bemer 的论文:半个世纪以来,人们梦想软件像工厂冲压汽车零件一样可重复、可仪表化,而不是孤立个体的手艺。历史上这个梦想大多落空,原因在于「难以冲压想法」。但过去两年的变化大到值得重新审视——同时必须精确区分:什么是真正的新东西,什么只是打扮成新机会的旧陷阱。

**循环是原子,工厂是规模化。** 整个技术栈是三个概念层层叠加:loop 是单个 Agent 重复做一件事——收集上下文、采取行动、检查结果、再来一轮直到满足条件,它是 Agentic 工作最小的单元。loop 工程的意义在于:你不再逐轮提示 Agent,而是设计一个「替你做提示的小系统」。harness 是 loop 四周的墙:运行的沙箱、可触及的工具、运行之间存活的记忆、判定「完成」的门禁。把裸模型扔进无 harness 环境,它会永远空转;harness 是让它有用且安全的一切周边。factory 是许多 harnessed loop 同时运行:被工作队列喂入、通过评审门禁排入生产,人在整体上拥有它。它不是更大的 Agent,而是一张由 loop 组成的组织结构图。范式转移随之发生:工作单元从「单个代码 diff」上移为 loop、harness 与它们之间的流转。

**工厂的电路图:几乎全免费,只有一个昂贵盒子。** 意图与生产信号喂入队列(工程领导愿景、工程师直接输入、事故与用户请求驱动的信号),harness 从队列取一项并做出改动;自动化检查(CI、测试、静态分析、各类扫描)同时运行、成本趋近于零;之后是唯一的决策点——评审门禁。通过后部署上线,监控数据反馈回驱动循环起始的信号。全图唯一顽固拒绝扩展的昂贵盒子就是评审门禁,那个琥珀色的「判断」。生成、测试、扫描都可以无限扩容,唯独判断难以规模化——这正是「开发能否更快更频繁」争论的核心。

**「暗」不是营销词,是物理描述。** 暗工厂源于制造业:FANUC 自 2001 年就在日本运行熄灯工厂,小米 2024 年开了自己的高自动化暗工厂——共同点是产品被组装、运输,却没有一个人读过任何环节。软件版的暗工厂同理:写出 diff 的人、评审它的人、发布它的人都不在了,剩下的只是由生成它的机器验证过的 diff。做这件事出乎意料地容易,至少一开始如此——因为缺失的评审步骤挡在所有东西前面,它的缺席会让团队的垂直吞吐看起来惊人地高。

**选择的重量落在哪。** 亮暗之分不是道德判断,而是取舍:亮工厂用人(判断、专注)换速度与破损,暗工厂让 Agent 自己界定范围、构建、发布。但一旦人停止阅读,就会停止理解软件。最难的工作不再是写代码,而是决定「要构建哪些检查、委托多少自主权」。对工程管理者来说,这意味着:规模化的不是「更聪明的模型」,而是「多少 harnessed loop 汇聚到一个评审门禁 + 谁拥有外层循环」的组织设计。

阅读价值

对工程管理者与技术负责人,亮/暗工厂框架提供了一个可操作的自检:你的评审门禁还有人在读吗?对 Agent 平台与开发者,loop→harness→factory 的三层结构是理解「Agentic 软件工程」下一代形态的最小心智模型。

loop-harness-factory 关系图
loop-harness-factory 关系图
阅读原文 → 返回 AI 技术文档

内容与图片版权归原作者所有 · 原文: https://addyosmani.com/blog/software-factories/