多 Agent 协作:编排、分工、冲突与成本
《大模型实战》第 6/10 篇
上篇:Tool Calling 工程化
下篇预告:大模型成本治理
单 Agent + 好工具,已经能覆盖很多场景。
但当任务变成 调研 → 写作 → 审核 → 发布 这种跨角色、跨回合的长链路,很多人会开始堆 Agent。
多 Agent 解决的是「分工与并行」,不是「模型不够聪明」。
本篇讲何时从单 Agent 升级、三种编排模式、框架对比、冲突处理,以及 Token 爆炸怎么治。
你将学到
- 单 Agent vs 多 Agent 的切换标准
- Supervisor / Pipeline / 并行三种编排
- LangGraph、CrewAI、自研状态机怎么选
- Agent 间消息格式与冲突处理
- 多 Agent 的 Token 成本陷阱
- 「调研 + 写作 + 审核」三 Agent Demo 思路
一、先结论:默认单 Agent,证明不够再拆
| 信号 | 建议 |
|---|---|
| 任务步骤固定、≤5 步 | 单 Agent + 工具足够 |
| 需要不同「角色人格」且会互相改稿 | 考虑多 Agent |
| 子任务可并行(多源检索) | 并行 Worker,不一定多 Agent |
| 要强审计「谁决定了什么」 | 分 Agent 便于追责 |
| 团队没人维护状态机 | 别为了酷而上多 Agent |
多 Agent 的代价是:协调成本 + Token 成本 + 调试成本。
没有分工收益,就是三个模型互相聊天。
二、三种编排模式
1. Supervisor(主管调度)
Supervisor Agent
├─ 派单 → Researcher
├─ 派单 → Writer
└─ 汇总 / 再派单 → Reviewer
- 优点:灵活 | 缺点:Supervisor 上下文膨胀
- 适合:步骤随运行变化的探索任务
2. Pipeline(流水线)
Research → Outline → Draft → Review → Publish
- 优点:简单可回放 | 缺点:上游错则全链路错
- 适合:SOP 明确的内容 / 办公流
3. 并行(Map-Reduce)
多 Worker 分源检索 → Reducer 合并。适合多文档对比;注意合并冲突。
模式对比
| 模式 | 延迟 | 成本 | 可解释性 | 实现难度 |
|---|---|---|---|---|
| Supervisor | 中 | 高 | 中 | 高 |
| Pipeline | 低~中 | 中 | 高 | 低 |
| 并行 | 低 | 中~高 | 中 | 中 |
三、框架对比:LangGraph / CrewAI / 自研
| 维度 | LangGraph | CrewAI | 自研状态机 |
|---|---|---|---|
| 核心抽象 | 图 + 状态 | 角色 + 任务 | 自定义 |
| 控制力 | 高 | 中 | 最高 |
| 上手速度 | 中 | 快 | 慢 |
| 适合 | 复杂分支、人机混合 | 角色扮演 PoC | 生产 SOP、强审计 |
| 风险 | 图复杂后可读性下降 | 魔法封装多 | 重复造轮子 |
选型:PoC 用 CrewAI;分支多 checkpoint 用 LangGraph;强审计 SOP 用自研状态机 + 版本化 JSON Handoff。
四、Agent 间消息:别传整段聊天史
反模式:每个 Agent 都收到完整对话 + 所有中间产物 → Token 指数涨。
推荐:结构化 Handoff
{
"handoff_version": "1",
"from": "researcher",
"to": "writer",
"task_id": "t-042",
"summary": "三条关键发现…",
"sources": [
{"title": "...", "url": "...", "quote": "..."}
],
"open_questions": ["定价是否含税费"],
"constraints": ["1500 字内", "面向开发者"]
}
原则:
- 只传 结论 + 引用 + 未决问题
- 原始资料放对象存储,消息里放指针
- 每跳限制 max_tokens,超出先摘要
五、冲突:多 Agent 一定会打架
常见冲突类型:
| 类型 | 例子 | 处理 |
|---|---|---|
| 事实冲突 | 调研 A 说 30%,B 说 40% | 标注来源,Reviewer 仲裁 |
| 目标冲突 | Writer 要长文,Reviewer 要短 | Supervisor 读 rubric 定稿 |
| 工具冲突 | 两个 Agent 同时改一篇稿 | 资源锁 / 单写者原则 |
| 循环 | A 让 B 改,B 让 A 重查 | 最大轮数 + Escalate 人工 |
Reviewer Agent 不要和 Writer 共用同一「改稿」工具写权限。
审核应只读 + 评论,或单独 apply_patch 需确认。
六、Token 爆炸:多 Agent 的隐形账单
成本来自:
- 重复 system prompt(每个 Agent 一份)
- Handoff 传太多
- Supervisor 旁听全部中间过程
- 失败重试在多个 Agent 间传导
- Reflection「再想想」轮次过多
估算示意(单任务):
| 架构 | 约略相对 token |
|---|---|
| 单 Agent 5 步 | 1× |
| Pipeline 3 Agent | 1.8~2.5× |
| Supervisor + 3 子 Agent | 2.5~4× |
| 无摘要 Handoff | 可轻松 >5× |
治理:小模型做 Research 摘要、Handoff 限长、硬上限 max_agent_turns(详见第 7 篇)。
七、三 Agent Demo:调研 + 写作 + 审核
目标:生成一篇技术短文,保证有引用、语气统一、无敏感表述。
角色
| Agent | 职责 | 工具 |
|---|---|---|
| Researcher | 检索、列要点 | web_search, read_doc |
| Writer | 成稿 | 无写外部工具,只输出 markdown |
| Reviewer | 事实与规范 | check_facts, lint_style |
流程:Researcher(handoff) → Writer(draft) → Reviewer(pass|comment×≤2|escalate)。Reviewer 只读 + 评论,不与 Writer 共写写权限。
踩坑清单
- Supervisor 包办一切 → 成为单点瓶颈;该 Pipeline 就 Pipeline
- Agent 人格描述写三页 → system token 浪费;角色一句 + rubric 足够
- 没有 max_turns → 两 Agent 互相「请继续」到天亮
- Handoff 传 raw HTML → 先清洗再传
- 并行 Worker 无 Reducer 规范 → 输出风格割裂
- 把多 Agent 当多模型ensemble → 应分工,不是投票
成本 / 风险提示
| 项 | 说明 |
|---|---|
| Token | 多 Agent 最大成本项;先度量再扩角色 |
| 延迟 | 串行 Pipeline 步数 × 每步 RTT |
| 质量 | 协调错误 > 单模型胡编更隐蔽 |
| 运维 | 图/角色一多,回归测试量指数上升 |
| 安全 | 子 Agent 权限过大 = 攻击面 × N |
上线前问三个问题:能否画出状态图?能否回放一次失败任务?能否说清每 Agent 的 token 占比?
系列导航
| 篇 | 主题 |
|---|---|
| 第 5 篇 | Tool Calling 工程化 |
| 第 6 篇 | 多 Agent 协作(本篇) |
| 第 7 篇 | 大模型成本治理 |
| 第 8 篇 | Agent 安全 |
跨系列内链:《AI 前端实战》Agent 状态机——并发工具、Abort、防白屏。
小结
多 Agent 核心是 证明单 Agent 不够、Handoff 结构化、冲突有仲裁、Token 当一等公民。下篇专门算钱。
下篇预告:《大模型实战》第 7/10 篇
大模型成本治理:Token 预算、缓存、模型路由。
更多推荐


所有评论(0)