前置课 · 第二部分 Agent · A9

多智能体:上下文隔离的收益,协调的代价

20 min · 一张成本账单、两种组织形态、三个失败模式

🎒 预备知识:完成上一课「A8 RAG 与检索」(零基础入口:第 0 课)

本课唯一结论:多智能体解决的是上下文隔离问题(各自干净窗口、并行、专门化), 不是"更聪明"。代价是协调成本与误差传播。默认单 agent + 工具, 确有隔离/并行/专门化需求才拆。

一、为什么拆:三个真实动机(每个都关于上下文)

① 隔离:别让中间产物污染主线。子任务会产生大量中间内容——搜索结果、试错日志、 被否决的草稿。全堆在主窗口,主线任务的有效注意力被稀释(A5 的账单视角)。 子 agent 用完即弃,只回传结论——本质是把 A5"蒸馏不搬运"做成了组织结构。

② 并行:广度搜索的天然形态。"调研三个竞品"拆三个子 agent 同时跑, 墙钟时间 1/3。Anthropic 的多 agent 研究系统就是典型:lead(主持)agent 拆解方向 → 并行 search 子代理 → 综合(见课后一手源)。

③ 专门化:不同人格/工具集/温度。检索代理用低温度+搜索工具, 写作代理用高温度——单 agent 里切换人格不如拆开干净。

二、一张成本账单(拆之前先算)

单 agent 完成"调研 3 个竞品":
  1 条上下文 × 12 轮 ≈ 12 份历史成本

编排者 + 3 子代理:
  主 agent:1 轮派发 + 3 轮逐个收结论 ≈ 4 份历史
  子代理:各 4 轮 × 3 份独立历史 ≈ 12 份历史
  额外:任务描述 ×3 + 结论回传 ×3 ≈ +2 份
  ≈ 18 份(粗估),且主/子不能共享缓存前缀(system 不同)
结论:token 通常涨 30–100%,换隔离与并行

这笔账什么时候划算:中间产物巨大(搜索结果几千 token 一轮)、任务可并行、 或子任务需要不同配置。什么时候不划算:任务本身 5 轮内能做完——拆了纯亏。

三、两种组织形态

形态怎么运作例子关键设计点
编排者-子智能体主 agent 派任务、收结论、做汇总;子 agent 独立上下文用完即弃Anthropic 研究系统任务描述要自包含(子 agent 看不到主对话);结论必须带证据
交接 handoff整个会话转给更合适的 agent,历史随会话走客服:通用 → 退款专员交接时附上下文摘要,别让用户重述

实现侧(OpenClaw):子 agent 走独立 lane 并发隔离(并发数可配), 主会话串行不被阻塞;Web 端甚至检测 `[agent] delegat` 输出给用户显示"🛠️ 制作中"(正课 L17 附近)。

四、三个失败模式(拆之前必读)

① 误差传播。子代理幻觉了一条"竞品定价 299 元",主代理当事实写进报告—— 主代理无法分辨子代理结论的真伪。对策:验收协议——子任务回传必须带 结论 + 证据 + 引用("定价 299 元,来源:对方官网价格页,抓取于 14:02"), 主代理对关键结论抽查证据。

② 任务描述丢失上下文。"去查一下那个品牌的定价"——哪个品牌?子 agent 看不到主对话。 任务描述必须自包含:品牌全名、查什么、输出什么格式、时间范围。

③ 结果冲突无人裁决。两个子代理给了矛盾的结论,主代理和稀泥或随机选。 对策:编排者的汇总提示里显式写"若结论冲突,列出分歧与各自证据,不要擅自取舍"。

五、常见踩坑

坑 1:为了"更强"而拆。推理能力不随 agent 数量增加——拆分解决隔离与并行, 不解决智力。难题该换模型或加反思(A10 模式 4)。

坑 2:没有验收协议就并行。回传自由文本,主代理又要一轮理解——隔离的 token 又赚回去了。 回传格式定死(结构化,A7)。

坑 3:子代理共享可变状态。两个子代理同时写一个文件——并发问题的老朋友。 子任务之间要么无共享,要么由编排者分发和回收。

六、检索练习

七、出口检验

三个场景判断拆/不拆并算账(token 与收益):① 一篇文章三个角度的资料搜集; ② 修一个 bug;③ 客服系统里退款、技术支持两类请求。 再答:如果拆①,给子代理的任务描述和回传格式各怎么写?发到对话里我批改。

一手源:Anthropic · How we built our multi-agent research system。