MD 状态:🌱 分类:AI与智能 更新:2026/6/14

Factory Model(工厂模型)

[!info] 知识库定位 这是一篇 权威概念页,用于作为「工厂模型」的统一解释入口。 由 Addy Osmani 提出(原文),是 Addy Osmani AI 工程概念族群的顶层范式定义——本知识库其它四篇(Comprehension Debt·Cognitive Surrender·Intent Debt·Orchestration Tax)都是这个「工厂」运转时暴露的具体关切。首次在知识库中沉淀。 ⚠️ 注意:这里的「工厂模型」指 agentic 软件生产范式,与设计模式里的 工厂模式(Factory Pattern,对象创建模式)无关。

[!abstract] 一句话定义 工厂模型(factory model)是 agentic 时代的新心智模型——你不再是「写代码」,而是「建造那个造你软件的工厂」:一个由 agent 舰队、质量控制、流程文档、精确输入组成的系统。它是软件工程抽象层的又一次上移(Grady Booch 称之为软件第三纪元),但软件工程的核心——需求、抽象、测试、判断、监督——没有变

为什么需要它?

没有这个模型,人们面对 agentic engineering 容易在两个极端之间摇摆:要么高估(「AI 取代工程师了」),要么低估(「只是更好的自动补全」)。

factory model 精确定位了这次变化:这是一次 abstraction 的 step change(从写代码 → 编排写代码的系统),但 software engineering 本质未变。它告诉你「抓住什么、放下什么」——机械工作被自动化,认知工作被放大。理解这一张力,是这个时代「繁荣」与「被甩下」的分界线。

核心直觉

[!tip] 两个同时成立的真相(必须一起握住)

  • Coding 已经剧变
  • Software engineering,其核心,没有变

有趣的故事就活在这两者的「间隙」里。

[!note] 抽象之弧(The arc of abstractions) 软件工程的历史,就是不断抬升抽象的历史:

flowchart LR
    B["bits"] --> I["指令/汇编"]
    I --> F["函数"]
    F --> O["对象"]
    O --> S["服务"]
    S --> D["分布式系统"]
    D --> NOW["编排写代码的系统<br/>(factory model) ⬅ 你在这里"]

汇编→C→托管语言/GC→框架/云→现在。每一次跳跃当时都觉得颠覆,事后看都只是同一条弧上的下一步。Grady Booch 把当前这步称为 软件第三纪元——开发者工作从「写指令」转向「定义意图」。这层定位告诉你:该保留什么、该放手什么。

它是怎么工作的?

三代 coding agent 的演进

flowchart TD
    G1["第一代:加速版自动补全<br/>预测下一行 · 填样板<br/>工作流不变:你驱动,工具辅助"] -->|抽象上移| G2["第二代:同步 agent<br/>自然语言描述任务 · 你 review/纠正<br/>你是协作者,在场每一步"]
    G2 -->|抽象上移| G3["第三代:自主 agent<br/>拿 spec 跑 30 分钟~数天<br/>搭环境 · 写测试 · 撞错 · 自查 · 自修<br/>你定义 outcomes,review results ⬅ 当前"]
  • 第一代:减少循环内摩擦(AI 只让你写得快一点)。
  • 第二代:从 typing 转向 describing intent(你仍在每步在场)。
  • 第三代:你定义 outcomes、review results,不再逐行交互;swarms 与 self-improving agents 登场。这代改变了工作节奏——三个月前的周末项目,现在 kick off 后 30 分钟回来看。

工厂属性直接映射到 agentic 开发

工厂类比不是修辞,它精确指向该投资什么:

工厂属性agentic 开发对应投资含义
Fleets of agents多 agent 并行(后端重构/写 feature/写测试/更新文档)Orchestration Tax:你的 review 带宽是 ceiling
Quality control测试 / 验证 / human reviewverification 是瓶颈,不是 generation
Process documentationspec / 架构决策 / 历史约束Intent Debt:意图必须外部化
精确的 inputsspec 质量spec 是杠杆,模糊会乘以
环境不可靠就停摆flaky 环境 × 多 agent = 系统性阻塞投资可靠快速的环境供给

每个 agent = task + toolbelt(仓库/测试 runner/部署脚本/文档)+ context(spec/架构决策/历史约束)+ feedback loop。

关键组件 / 核心要素

要素含义为什么重要
抽象上移从写代码 → 编排写代码的系统历史定位,告诉你这是同一条弧的下一步
Spec 是杠杆50 个 agent 并行时,平庸 vs 卓越 ≈ spec 质量模糊思考不只拖慢你,会乘以传播到整个 fleet
Verification 是瓶颈generation 不再难,验证才是人类 review 是安全系统,不是可选开销
核心未变需求/抽象/测试/权衡/监督hype 制造「传统技能贬值」错觉,实则上移了栈
工作循环 = onboarding 新工程师agent 拿 spec→拆任务→探索→查 commit/blame→Slack escalateSlack/git history/文档正成为「人与 agent 的接口」

与相关概念的关系

[!info] vs 笔记-loop-engineering:范式 vs 运转机制 factory model 是心智模型(你在造一个工厂);loop engineering 是那个工厂的自主运转机制(循环驱动 agents)。在 Addy 的分层里:harness = 单 agent 跑的环境;factory = fleets + 工厂属性;loop = 比 harness 更高一层、会自我喂养的编排。三者是同一栈的不同层。

[!note] 是 Harness Engineering 的上一阶 Harness Engineering 是支撑单个 agent 稳定运行的系统层;factory model 是多个 agent 组成舰队、像工厂一样自主生产软件的范式。harness 是 factory 的一个组件。

[!tip] 统领四个风险概念(本族群收口) factory model 定义了「你在造工厂」的范式,下面四个概念是这个工厂运转时暴露的风险/成本——它们都是「工厂该注意什么」:

典型应用场景

  • 组织级 agentic 转型——用工厂模型定位「我们处在第几代 agent / 该投资什么」。
  • 判断「什么值得现在投入」——spec 质量、测试基建、架构理解、评估 taste(这些在 fleet 规模下被放大)。
  • 向团队/管理层解释 agentic 时代——「coding 变了,software engineering 没变」是最稳的框架。
  • 决定哪些技能精进、哪些放手——机械能力贬值,认知能力(系统思维/问题分解/架构判断)升值。

常见误解与陷阱

[!danger] ❌ 误以为:工厂模型 = 失去对软件的控制 / 把开发外包给 AI ✅ 实际上:Addy 原文明确——“The factory model is not a metaphor about losing control of software. It is a metaphor about building leverage.”(不是失去控制的隐喻,而是建立杠杆的隐喻)。判断仍在你,只是杠杆点变了。

[!danger] ❌ 误以为:AI 让传统软件工程技能过时了 ✅ 实际上:它们没贬值,而是上移了栈。clear requirements / clean architecture / reliable tests / careful tradeoffs / human oversight 全都还在——而且 clean architecture 在 agent 时代更有价值,因为「agent 放大它所在系统的属性」(好系统产出更好,烂系统产出更烂)。

[!danger] ❌ 误以为:generation 是瓶颈,要优化生成 ✅ 实际上:generation 不再是瓶颈,verification 才是。该投资的不是「让 agent 写得更快」,而是「可靠地知道它写对了」——测试基建、回归检测、artifact 级验证、可靠环境供给。

[!danger] ❌ 误以为:agent 越自主,越不需要先写测试 ✅ 实际上:恰好相反。Red/Green TDD 在 fleet 场景近乎强制——优化「通过测试」的 agent 会找到通过的办法;若测试是实现后写的,它们很可能在测实现「碰巧」做什么而非「应该」做什么。给 agent “用 red/green TDD” 是任务开头最高杠杆的指令之一。

新时代高杠杆工程的形状

机械部分被机器处理,认知部分被放大。以下能力不是新技能(好工程师一直需要),但相对重要性变了:

  1. Systems thinking 系统思维——hold 住复杂架构、预判一处改动如何影响他处。
  2. Problem decomposition 问题分解——把模糊大目标拆成 agent 能可靠执行的 well-scoped 子任务。
  3. Architectural judgment 架构判断——懂系统为什么这么设计、优化什么属性、做了什么取舍(agent 能实现,不能判断是否对)。
  4. Specification clarity——spec 是显式化的产品思考,模糊会乘以,精确会乘以。
  5. Output evaluation 评估 taste——识别「看起来对但不对」「解决了问题但制造新问题」「方案架构与系统不符」。不可自动化。
  6. Orchestration skill 编排技能——管理并行 workstream、给有效反馈、判断 agent 该 redirect 还是 retask。

延伸阅读


关联笔记

前置知识:软件抽象层次演进 · Harness Engineering 同族概念笔记-loop-engineering(运转机制)· Harness Engineering(单 agent 层)· Intent Debt · Comprehension Debt · Orchestration Tax · Cognitive Surrender(工厂运转的四大风险) 应用场景笔记-loop-engineering · Harness Engineering 学习来源笔记-loop-engineering(首次在知识库中被引用)