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 玩透,需要时才加主管。
▸ 向前桥接 图写腻了?下一章给你一种"少写图"的写法。