多智能体系统(Multi-Agent System, MAS)是 AI Agent 从单兵作战走向团队协作的必然路径。本文分析层级式、扁平式、市场式三种组织模式,探讨通信协议与冲突解决机制,对比 CrewAI、AutoGen、MetaGPT 等主流框架,并通过实际案例展示多 Agent 协作的工程实践。
| 模式 | 描述 | 适用场景 |
|---|---|---|
| 直接消息 | Agent A → Agent B | 点对点协作 |
| 广播 | Agent → All | 公告、状态同步 |
| 发布/订阅 | Topic-based | 事件驱动系统 |
| 黑板系统 | 共享内存空间 | 异步协作 |
json
{
"from": "researcher_agent",
"to": "writer_agent",
"type": "task_request",
"content": {
"task": "撰写报告第二章",
"context": {...},
"deadline": "2026-03-14T15:00:00Z"
},
"priority": "high",
"correlation_id": "msg_123"
}
| 策略 | 机制 | 适用场景 |
|---|---|---|
| 投票 | 多数决 / 加权投票 | 知识冲突 |
| 仲裁 | 上级 Agent 裁决 | 目标冲突 |
| 协商 | 讨论达成一致 | 复杂决策 |
| 竞标 | 价高者得 | 资源冲突 |
| 回退 | 随机退避重试 | 简单资源冲突 |
特点: 角色扮演 + 任务编排
python
from crewai import Agent, Task, Crew
researcher = Agent(
role="研究员",
goal="收集并分析数据",
backstory="资深技术研究员..."
)
writer = Agent(
role="写手",
goal="撰写报告",
backstory="专业技术写手..."
)
crew = Crew(
agents=[researcher, writer],
tasks=[research_task, write_task],
process=Process.sequential
)
优点: 上手简单,角色设计直观
缺点: 复杂工作流灵活性不足
特点: 对话驱动的多 Agent 协作
python
from autogen import AssistantAgent, UserProxyAgent
assistant = AssistantAgent("assistant", llm_config=llm_config)
user_proxy = UserProxyAgent("user", human_input_mode="NEVER")
user_proxy.initiate_chat(
assistant,
message="分析这个数据集..."
)
优点: 灵活的对话模式,支持人类参与
缺点: 需要较多手动配置
特点: 软件公司模拟,标准化 SOP
优点: 软件开发场景效果好
缺点: 场景较窄
| 维度 | CrewAI | AutoGen | MetaGPT |
|---|---|---|---|
| 上手难度 | ⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ |
| 灵活性 | ⭐⭐ | ⭐⭐⭐ | ⭐⭐ |
| 生产就绪 | ⭐⭐ | ⭐⭐ | ⭐ |
| 社区活跃 | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ |
| 最佳场景 | 通用工作流 | 研究/分析 | 软件开发 |
场景: 一个 AI 研究团队完成文献综述
效果: 10 篇论文综述,单人 2 天 → 多 Agent 2 小时
场景: AutoGen 驱动的代码审查系统
选择合适的多智能体协作模式,取决于任务特性、团队规模和可靠性要求。以下决策流程图帮助快速定位最佳方案:
| 场景 | 推荐模式 | 推荐框架 | 理由 |
|---|---|---|---|
| 软件开发全流程 | 层级式 | MetaGPT | SOP 明确,角色分工固定 |
| 研究/分析任务 | 层级式 | CrewAI | 任务可分解,需协调交付 |
| 开放式讨论/头脑风暴 | 扁平式 | AutoGen | 需要多方自由交流 |
| 多模型路由调度 | 市场式 | 自研 + LiteLLM | 竞标机制优化成本 |
| 代码审查协作 | 扁平式 | AutoGen | 平等对话,迭代改进 |
| 客服工单分发 | 层级式 | CrewAI | 按专长分配,统一出口 |
实际生产中,单一模式往往不够。推荐组合策略:
1. 层级式 + 扁平式:总体层级编排,子团队内部平等协作
2. 层级式 + 市场式:管理者负责分解,具体任务通过竞标分配
3. 多层级嵌套:顶层管理者 → 中层专项负责人 → 底层执行 Agent
💡 经验法则:不确定时从层级式开始,它最容易理解和调试。随着经验积累,再逐步引入市场式或混合模式。
1. Wu, Q. et al. "AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation" (2023) — Microsoft Research
- https://arxiv.org/abs/2308.08155
2. Hong, S. et al. "MetaGPT: Meta Programming for A Multi-Agent Collaborative Framework" (2023) — DeepWisdom
- https://arxiv.org/abs/2308.00352
3. CrewAI Documentation
- https://docs.crewai.com/
4. Wooldridge, M. "An Introduction to MultiAgent Systems" (2009) — John Wiley & Sons
5. Google A2A Protocol
- https://github.com/google/A2A
6. Zhang, S. et al. "Agent-as-a-Judge: Evaluate Agents with Agents" (2024) — CMU
- https://arxiv.org/abs/2410.10934
7. Wang, G. et al. "ChatDev: Communicative Agents for Software Development" (2024) — Tsinghua
- https://arxiv.org/abs/2307.07924
8. Anthropic. "Multi-Agent Research System" (2025) — Claude 多智能体研究系统
- https://www.anthropic.com/engineering/multi-agent-research-system