多智能体(multi-agent) 产品与架构

别名: 多 Agent · 多代理

用多个 Agent 实例协作完成任务的组织方式:一个 orchestrator 分派子任务、多个 worker 并行执行、结果回填汇总。核心思想是「subagent = 独立的 loop 实例」,用于缓解单 Agent 的上下文窗口与工具列表膨胀瓶颈。见[第 22 章](/chapters/22-multi-agent-v09/)。

它是什么

多智能体(multi-agent)指用多个 Agent 实例协作完成任务的组织方式。核心思想一句话:subagent = 独立的 loop 实例——把 ch07 起手写的 runAgent 再实例化一个、喂全新上下文,就是一个 subagent,不需要任何新机制。它针对的是单 Agent 的四个瓶颈:上下文窗口是硬上限context-window)、上下文污染(任务 A 的调试过程堆在历史里,任务 B 的模型隔着垃圾看题)、工具列表膨胀(工具越多越容易选错,schema 的 token 成本也越高)、权限边界模糊(一个 Agent 拿到全部工具 = 破坏半径等于最大权限)。

什么时候才值得上多 Agent

多 Agent 是复杂度税,不是免费午餐。判断标准至少满足一条:任务可拆分成互不依赖的子任务;子任务需要不同的上下文/知识/工具权限(查天气的 subagent 不需要 delete_file);并行能显著缩短延迟。一步到位的计算、单轮问答、全部子任务共用同一套工具——这些场景不需要多 Agent。

在本教程的位置

第 22 章在主循环注入 spawnSubagent 工厂:模型工具列表出现 delegate 元工具,主循环拦截调用、await 工厂跑独立 loop,subagent 终答作为 tool_result 回填;一批 delegate 调用用 Promise.all 并发执行。这是 orchestrator-worker 的简化版(不做 handoff 的状态整体移交)。主流框架对照:LangGraph 用 subgraphs(子图 = 独立状态机),OpenAI Agents SDK 用 handoffs 与 agents-as-tools。

代价与防守

四笔账:token 翻倍(每个 subagent 有自己的 system prompt + 历史,结果还要回填再读一遍)、延迟(编排往返 + 等最慢的 worker)、错误传播与级联失败(subagent 的错误文本可能被主 Agent 当真结果汇总)、死循环与预算失控(递归委派指数爆炸)。对应解法:委派只限一层、每个 subagent 独立预算、per-task catch、预算耗尽失败可见。

相关词条

出现在这些章节