阶段:G5-多智能体系统 | 预计耗时:90 分钟 | 前置:G4 全部验收通过 代码:要你自己敲成
langgraph-learn/examples/g5_supervisor.py(结构可跟官方教程 multi-agent supervisor,API 当天现查) 一句话定位:主管(一个 LLM)不干活,只决定"这事派给谁"——专家(各自是完整 agent)干完汇报
学习目标
- 理解 Supervisor 结构:主管节点 ⇄ 专家节点 的星型循环
- 亲手搭"主管 + 2 专家",并让专家变成子图(G2-03 复用)
- 知道它的适用边界:分工明确、可并行的任务
核心知识
1. 星型结构
┌── 研究员 agent ──┐
用户 ─► 主管 ─┤ ├─► 主管汇总 ─► END
└── 写手 agent ────┘
- 主管节点的工具不是计算器,而是"把任务交给某专家"——它每次输出"下一步派谁"
- 循环:主管 → 专家(干活,结果写回 State)→ 主管(看结果决定:再派?汇总收工?)
- 专家的典型实现 =
create_agent(工具=...),或一个功能子图
2. State 设计要点
- 专家结果写回共享 State 时必须带追加 Reducer(G1-02 坑的多 agent 版)
- 主管 prompt 要交代"你是调度员,不要自己干"——否则大模型手痒直接答题
3. 何时该用(提前给结论,G5-03 展开)
分工清晰且异质(查资料 vs 写作 vs 算数)、单 agent 上下文装不下时。不要为了炫技拆:每多一个 agent = 多一份延迟、成本、失联风险。
实验任务
任务 1:搭最小 Supervisor(50 分钟)
- 主管:Qwen3.5-4B + 一个特殊"工具"
dispatch(专家名, 任务) - 研究员:只配
search_notes工具(读本地笔记/假知识库) - 写手:无工具,纯写作节点
- 跑:"帮我调研 XX 并写成一段推荐语"——观察 Studio:主管派了几轮?每轮派给谁?
任务 2:接 G4 能力(25 分钟)
把研究员换成 G4-02 的 RAG 检索子图——三层合体:Supervisor 编排 + RAG 知识 + 结构化输出。跑通后截图存档(这是你作品集里含金量最高的一张图)。
任务 3:拆台测试(15 分钟)
故意让主管 prompt 缺"不要自己干",观察主管亲自下场答题的行为差异——理解 prompt 对多 agent 编排的决定性影响。
验收标准
衔接下一阶段
会分工了 → G5-02 Swarm 移交模式:另一种协作哲学——专家间直接"交接棒"。