Part 3 · 进阶实战

08 多智能体:用 supervisor 组建团队

08.1 先泼盆冷水

我见过太多人,需求明明一个 Agent 能搞定,非要上多智能体。

结果:调试翻倍,成本翻倍,效果没好多少。

先给结论:90% 的场景,单智能体够用。只有下面三种情况才考虑多智能体:

  • 任务要不同专业知识(研究 + 写作)
  • 要并行处理多个子任务
  • 需要不同角色扮演

08.2 层级式:一个主管带几个专家

2025 年底,官方出了 langgraph-supervisor。它把"主管(supervisor)+ 多个专家"的层级结构封装好了。

from langgraph_supervisor import create_supervisor
from langgraph.prebuilt import create_react_agent

research = create_react_agent(llm, tools=[search_web], name="researcher")
writer = create_react_agent(llm, tools=[draft_doc], name="writer")

workflow = create_supervisor(
    [research, writer],
    model=llm,
    prompt="你是主管,按需把任务派给研究员或写手。",
)
graph = workflow.compile()

create_supervisor 返回的是 StateGraph.compile() 后就能跑。它内置流式、记忆、人机协同。

08.3 主管怎么"派活"

主管靠"交接工具"(handoff)把任务转给专家:

graph.invoke({
    "messages": "先查一下 LangGraph 最新版本,再写一段介绍。"
})

你可以控制历史怎么保留:

create_supervisor(
    [research, writer],
    model=llm,
    output_mode="last_message",  # 只留专家最终回复,省 token
)

08.4 对比:单 vs 多

维度 单智能体 多智能体(supervisor)
上手难度
调试成本
并行能力
标叔的结论 默认选它 真复杂才上

核心建议:从单智能体长出来 别一上来就多智能体。先把单 Agent 玩透,需要时才加主管。

▸ 向前桥接 图写腻了?下一章给你一种"少写图"的写法。