编排者-工人模式(orchestrator-worker) 产品与架构
别名:
编排者-工人 · agents as tools
一种多智能体编排模式:中央 orchestrator 拆任务、派给多个 worker 并行执行并汇总,控制权始终在 orchestrator 手里,worker 是「用完即弃」的执行单元。见[第 22 章](/chapters/22-multi-agent-v09/)。
它是什么
编排者-工人模式(orchestrator-worker,也叫 agents as tools)是一种多智能体编排模式:中央 orchestrator 拆任务 → 派给多个 worker 并行执行 → 汇总。控制权始终在 orchestrator 手里,worker 是「用完即弃」的执行单元——所有 worker 的目标、边界、权限都由 orchestrator 决定,worker 之间不需要互相理解。对 orchestrator 而言,每个 worker 就是一个普通工具:OpenAI Agents SDK 把这种模式称为 agents-as-tools(agent 即工具),与本章的 delegate 元工具定位一致。
与 handoff 的关键区别
| orchestrator-worker | handoff | |
|---|---|---|
| 控制权 | 始终在 orchestrator | 随移交转移 |
| 子任务关系 | 并行、互不依赖 | 串行、有依赖 |
| 状态 | worker 隔离,只回传结果 | 整体转移给下一个 |
| 典型形态 | 「查 3 个城市 → 汇总」 | 「客服 → 技术 → 结算」流水线 |
在本教程的位置
第 22 章实现的是它的简化版:模型在一轮里发出多个 delegate 调用,主循环把它们分成「需要审批的(顺序走审批门)」与「其余(Promise.all 并发)」,结果按调用顺序回填——主 Agent 看到的 tool 消息永远有序。简化版不做状态整体移交,subagent 终答以 tool_result 回填,主 Agent 保留「汇总」的判断权。两种实现口味:模型驱动(模型决定怎么拆、拆几个)与代码驱动(规则函数 splitTasks 按长度预算切块)。
代价
编排往返是固有成本:每多一层委派就多一轮「主 → 子 → 回填 → 汇总」的 token 和延迟;worker 并行时主 Agent 也必须等最慢的那个——慢牛拖垮整队。