← 返回 AI大模型从0到1——理论与实操
C3-12 多Agent协作
🎯 本节目标:说清 5 种多 Agent 协作模式及适用场景,用代码实现 Supervisor 和 Swarm 模式,根据任务复杂度选择合适的协作模式。
为什么/什么时候需要多 Agent?
单个 Agent 的局限:
- ❌ 上下文窗口有限:装不下所有工具描述(10+ 工具就让 LLM 选择困难)
- ❌ 角色混淆:既当"研究员"又当"程序员"还当"审核员"
- ❌ 任务复杂时容易跑偏:长任务中途"忘记"目标
解决方案:专业化分工,多个 Agent 协作完成。
五种核心协作模式

Python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
模式一:串行链式(Sequential Chain)
原理
Plain Text
1 | |
代码示例(LangChain Expression Language)
Python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
适用场景
| 场景 | 为什么适合 |
|---|---|
| 文本处理流水线 | 每步输出是下一步输入 |
| RAG:检索 → 阅读 → 回答 | 天然串行 |
| 代码:生成 → 审查 → 测试 | 严格顺序依赖 |
模式二:路由分发(Router)
原理
Plain Text
1 2 3 4 5 6 | |
代码示例(LangGraph 实现)
Python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | |
模式三:并行处理(Parallel)
原理
Plain Text
1 2 3 4 | |
代码示例(LangGraph 并行)
Python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | |
💡 竞速技巧:让 3 个 Agent 并行跑同一个任务,取最快/最好的结果。
模式四:Supervisor(中央协调者)★ 最常用
原理
graph TD
U[用户任务] --> S[Supervisor
中央协调者]
S -->|派遣| R[Researcher
研究专家]
S -->|派遣| W[Writer
写作专家]
S -->|派遣| C[Critic
审核专家]
R -->|汇报| S
W -->|汇报| S
C -->|汇报| S
S --> F[最终输出]
style S fill:#FFE4B5
style R fill:#87CEEB
style W fill:#90EE90
style C fill:#FFB6C1
特点:
- Supervisor 决定每一步该调用谁
- 子 Agent 之间不直接通信(全部经过 Supervisor)
- 流程可预测,适合生产环境
代码示例(完整可运行)
Plain Text
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | |
Supervisor 模式优劣势
| 维度 | 优势 | 劣势 |
|---|---|---|
| 控制力 | 完全集中,流程可预测 | Supervisor 成为瓶颈 |
| 扩展性 | 建议 3-8 个 Agent | 超过 10 个后路由逻辑复杂 |
| 容错 | 单点故障 | 需要额外实现高可用 |
模式五:Swarm(对等接力)
原理
Python
1 2 3 4 5 | |
特点:
- 没有中央协调者
- 每个 Agent 自主决定"移交给谁"
- 类似"击鼓传花",动态性最强
代码示例(OpenAI Swarm 风格)
Plain Text
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | |
Swarm 模式优劣势
| 维度 | 优势 | 劣势 |
|---|---|---|
| 灵活性 | 自主决定移交,适配动态场景 | 流转路径难以预测 |
| 容错 | 无单点故障 | 需设置移交次数限制防死循环 |
| 可观测 | 去中心化,Trace 难度大 | 需显式注入追踪逻辑 |
五种模式对比总结
🦄 也有一些不同叫法,比如Planner-Excutor/Orchestrator-worker模式等,实际原理都类似supervisor模式
| 模式 | 中心化程度 | 典型场景 |
|---|---|---|
| 串行链式 | 无中心 | 文本流水线、RAG |
| 路由分发 | 弱中心(Router) | 智能客服、工单分流 |
| 并行处理 | 无中心 | 多角度分析、竞速 |
| Supervisor | 强中心 | 报告生成、确定性工作流 |
| Swarm | 无中心 | 客户服务、多轮对话 |
根据实际场景进行模式组合举例:
当选择"智能客服/工单系统":
推荐 Router + Swarm 组合。Router 做第一层分流(技术/订单/售后),Swarm 做每层内的动态移交。
当选择"内容生成/报告撰写":
推荐 Supervisor 模式。Supervisor 协调 Researcher → Writer → Critic,流程可控,质量稳定。
当选择"代码生成/技术分析":
推荐 Supervisor + 并行 组合。多个 Agent 并行尝试不同实现,Supervisor 选最优结果。
当选择"最简单":
从 串行链式 开始,3 个 Agent 串起来,代码最少,概念最清晰。