多智能体系统:Supervisor 与 Swarm 模式
从单 Agent 到团队:Supervisor 主管调度、Swarm 交接控制权两种多智能体拓扑的实现与取舍。
什么时候上多智能体
单 Agent 工具超过十几个、提示词臃肿、上下文互相干扰时,按职责拆成多个专家 Agent(各自小工具集+专属提示词),效果和可维护性都会提升。代价是编排复杂度 —— 所以再次强调:先确定单 Agent 真的不够用。
Supervisor 模式:中央调度
supervisor ──→ researcher ──┐
↑ ├─→ 结果回传
└────── writer ←────────┘
(主管用结构化输出决定 next 节点,循环直到 FINISH)
- 主管节点用
with_structured_output输出{"next": "researcher" | "writer" | "FINISH"}; - 条件边按
next路由;专家节点只管干活并回写 State; - 官方封装:
langgraph-supervisor库几行代码搭好。
Swarm / Handoff 模式:去中心化交接
- 没有主管:每个 Agent 配一个交接工具(handoff),干完自己的活直接把控制权连同相关状态转给同事;
- 适合"售前→售后→投诉"这类流程化接力;
- 官方封装:
langgraph-swarm。
选型与共性
- 任务边界清晰、需要全局把控 → Supervisor;
- 流程像接力赛、Agent 间职责顺序明确 → Swarm;
- 共性基础:共享 State Schema、每 Agent 一个子图、Checkpointer 全程存档 —— 前几课的全部能力在这里汇合。
📝 课后练习
quiz-1 Swarm/Handoff 多智能体模式的特点是?