多 Agent · 自测题库

自测题库

前五章建立了三轴、设计原理、实操、失败模式与综合项目——这一章用三层梯度题库检验:概念记得牢不牢、原理讲得通不通、场景判别得对不对。答案集中在文末一个折叠块里,先答再展开;直接看答案等于把这一章当再读一遍。

应用判别层 综合 03–05 · 选得对 原理层 对应 02 · 讲得通 概念层 对应 01 · 记得住 难度 ↑
图 6.1三层梯度:概念层考“记得住”、原理层考“讲得通”、应用判别层考“选得对”。注意:卡在哪一层,就回对应章节补哪一层——卡在顶层判别题,往往不是没记住,而是三轴的取舍没真正打通。

A概念层(对应 01 章)

  1. 多 Agent 系统的三条正交轴是什么?为什么说它们“正交”?(提示:§1.1)
  2. supervisor、hierarchical、swarm-handoff 三种拓扑,连接形状各有什么不同?(§1.2)
  3. 协调的“中心调度”与“去中心 handoff”差在谁持有下一步决策权——各举一例。(§1.3)
  4. 通信的“共享 state”与“消息传递”各自适合什么?上下文隔离解决的是哪个问题?(§1.4)
  5. 一句话:什么时候用单 agent + 多工具就够、不必上多 agent?(§1.5)
  6. LangGraph / AutoGen-AG2 / CrewAI / OpenAI Agents SDK 大致各是“三轴的哪种组合”的封装?

B原理层(对应 02 章)

  1. 为什么多 Agent 大约要 15× token?这笔开销由哪几部分组成?(§2.1)
  2. Anthropic 的“约 80% 性能差异由 token 量解释”,对“多 Agent 一定更强”这个直觉意味着什么?(§2.1)
  3. supervisor 拓扑的瓶颈在哪?swarm-handoff 又拿什么换灵活?(§2.2)
  4. 上下文隔离能防 context clash,但隔离过度会怎样?怎么把握“够用且不过量”?(§2.4)
  5. 列出 3 类“不该上多 Agent”的任务特征。(§2.5)
  6. 多 Agent 比单 Agent 难评估,难在哪?

C应用判别层(综合 03–05 · 选得对)

  1. 场景一:要并行查 5 个信源、各自深挖、汇总成一份带引用的报告。该用什么拓扑?要不要上多 Agent?说出判据与代价。(综合 §1.2 / §2.2 / 05)
  2. 场景二:一个多 Agent 系统跑久了月账单翻了几倍,但抽样看质量没明显变化。最该先怀疑哪个失败模式?怎么从可观测数据定位?(04)
  3. 场景三:两个 worker 并发写同一份共享 state,偶发结果错乱。根因是哪条轴的选择问题?怎么修?(§1.4 + 04)
亲手画一张图

合上教程,在纸上画一个 supervisor + 3 个并行 worker 的多 Agent 系统——只画 5 个节点,并在连线上标出它的协调取值(中心调度还是去中心)和通信取值(共享 state 还是消息传递)。画完回到 §1.2 / §1.3 / §1.4 对照:你画的这套,在三条轴上分别落在哪?换成 swarm-handoff 又会变哪条轴?

展开全部参考答案(三层都做完再看)

概念层

  1. 拓扑结构、协调机制、通信方式。说“正交”是因为三者可独立取值:同一种拓扑(如 supervisor)既能用共享 state 也能用消息传递、既能中心调度也能带局部 handoff——改一条轴不强制改另一条,所以任意系统都是三轴各取一值的组合。
  2. supervisor:一个中心节点连向多个 worker,星形;hierarchical:多层星形嵌套,上层 supervisor 管下层 supervisor;swarm-handoff:agent 之间直接相连、无中心,谁接棒谁干,网状。
  3. 中心调度:决策权在 supervisor,它决定每一步派给谁(例:supervisor 看任务把子任务分给 search/写作 worker)。去中心 handoff:决策权在当前 agent,它自己决定交接给谁(例:客服 agent 判断这是技术问题,直接 handoff 给技术 agent)。
  4. 共享 state:所有 agent 读写同一份状态,省去显式传参、适合状态紧耦合;消息传递:显式发收消息、边界清晰、适合松耦合与审计。上下文隔离解决的是context clash——让每个 subagent 只看到与自己任务相关的上下文,避免无关信息互相干扰、也省 token。
  5. 当任务的步骤能由一个 agent 配合多个工具线性走完、没有需要并行的独立子任务时,单 agent + 多工具就够——多 Agent 的协调开销与 token 翻倍只在“子任务独立可并行且价值高”时才划算。
  6. 大致:LangGraph=有状态图 + 任意拓扑 + 共享 state(精控、可持久化);AutoGen-AG2=会话式 GroupChat(消息传递、偏去中心);CrewAI=角色化 crew(supervisor 式编排、上手快);OpenAI Agents SDK=显式 handoff(去中心交接)。框架只是把某种三轴组合封装好了。

原理层

  1. 每个 subagent 都带独立的上下文(系统提示 + 工具定义 + 各自的历史),再叠加 supervisor 与 worker 之间来回的协调轮次,token 随 agent 数与轮次相乘——Anthropic 实测约 15×。本质是“用更多 token 买并行广度”。
  2. 意味着多 Agent 的收益主要是烧更多 token 换来的广度,不是结构本身更聪明。所以只有当任务价值撑得起这笔 token、且确实需要并行探索时才划算;否则单 Agent 同样的 token 预算可能效果更好。
  3. supervisor 的瓶颈:所有决策与汇总都过中心节点,它成为吞吐与单点故障的瓶颈,且容易上下文过载。swarm-handoff 用“去中心、agent 自行交接”换灵活,代价是难调试、可能踢皮球或死循环(没有中心视角看全局)。
  4. 隔离过度会让 subagent 缺少完成任务必需的上下文(例如不知道总目标、重复别人已做的工作)。把握点:传“足够完成本子任务”的最小上下文,而非整段历史——既不过载(context clash)也不缺信息。
  5. ① 子任务强依赖、必须串行(后一步要等前一步结论);② 需要共享大量中间状态、隔离反而增加同步成本;③ 步骤可预先枚举(那是 workflow 的活,不需要 agent 的自主性)。
  6. 难在:路径不唯一、中间步骤难判对错、失败可能源于任一 agent 或它们的交互;所以除最终正确性,还要看过程指标(每个 agent 的工具调用准确率、协调轮次、token),并按 agent 维度拆解 trace 才能定位。

应用判别层

  1. 子任务(查不同信源)天然独立、可并行,汇总前的素材又容易超出单上下文——属于“广度优先”,supervisor + 并行 worker 划算,前提是这份报告的价值吃得下约 15× token。判据=独立可并行 + 价值够高;代价=token 翻倍、协调与合并开销、调试更难。若各信源强依赖、要频繁共享中间结论,则退回单 Agent。
  2. 质量没变而成本暴涨,多半不是质量 bug 而是结构 bug:先怀疑“协调轮次过多 / 上下文每轮膨胀 / 某个 worker 在循环”。定位:按 agent 维度看 token 燃烧率与单次任务的协调轮次、对比哪个 agent / 哪类请求贡献了增量,再下钻具体 trace——不是凭感觉猜。
  3. 根因是通信轴的选择:用了“共享 state”却没处理并发写——两个 worker 同时写同一键,更新互相覆盖(竞态)。修:要么改通信为消息传递 / 各写各的键再汇聚,要么给共享 state 的该键配reducer(定义并发更新如何合并,而非覆盖),把“并行写冲突”交给合并规则处理。
进阶挑战 · 刚好够不着

给一个你会坚持用多 Agent 的真实场景

给出一个你会坚持用多 Agent(而非单 Agent + 多工具,也非 workflow)的具体场景,并说清:它在拓扑 / 协调 / 通信三条轴上各取什么值、为什么 workflow 和单 Agent 都表达不了、以及你准备付出的代价(token、调试、合并)。

提示(卡住再展开)

合格场景要同时满足:①子任务独立可并行(不是串行依赖);②每个子任务都需要各自的深度探索、塞进单上下文会互相干扰或超窗口;③任务价值高到吃得下约 15× token。典型例:开放式深度调研(并行查多源、各自深挖、最后汇总)。把它在三轴上写出来——拓扑 supervisor、协调中心调度派发、通信各 worker 隔离上下文 + 结果消息汇总——再说清单 Agent 为什么做不到(单上下文装不下多源深挖且无法真正并行)。