深色模式
多智能体协作
是什么
把任务拆给多个有不同角色/工具的 Agent,通过消息、共享状态或监督者协调,共同完成目标。
为什么需要
单一 Agent 上下文有限、易跑偏、难并行。复杂任务(研究 + 写作 + 审核、代码生成 + 测试 + 修复)用多 Agent 分工更高效、更可控。
核心概念
- 角色分工:规划者、执行者、审核者、检索者……各司其职。
- 通信方式:消息传递(A→B)、共享黑板(公共状态)、监督者分发。
- 编排模式:Supervisor(监督者调度)、Pipeline(流水线)、Debate(辩论对齐)。
- 终止条件:共识达成、轮次上限、人工确认。
范式:Supervisor 调度
最小范式(监督者思路)
python
workers = {"planner": planner_agent, "executor": executor_agent, "reviewer": reviewer_agent}
state = {"task": user_task}
for _ in range(max_rounds):
role = supervisor.select(state) # 决定下一步交给谁
state = workers[role].run(state)
if reviewer.approve(state): # 终止条件
break
return state["result"]1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
常见陷阱
- 通信开销爆炸:Agent 间频繁互发长消息,token 成本指数级上升。
- 责任不清:多个 Agent 都能做同一件事,结果互相覆盖、无人负责。
- 无终止:辩论/迭代无上限,要设轮次与"通过判据"。
- 一致性漂移:各 Agent 基于不同上下文,结论相互矛盾,需共享一份事实状态。
何时上多 Agent
单 Agent + 良好工具链能解决的事,不要拆多 Agent。仅在"明显可并行 / 需独立专业 / 需相互制衡"时才引入。
参考
- AutoGen(Microsoft)多 Agent 对话文档
- CrewAI 角色编排文档
- LangGraph 多节点图编排文档