多Agent协作框架
为什么多Agent:单个 Agent 能力有上限——角色单一、上下文相互污染、难以并行。多 Agent 通过分工协作拆解复杂任务,但"协同"本身是最大工程难点:谁来发言、状态怎么共享、如何终止、失败怎么处理。
三大框架(2025-2026 主流)
框架 | 哲学 | 核心抽象 | 优点 | 缺点 |
LangGraph | 图驱动/状态机 | Node+Edge+共享State+Checkpointer | 控制力最强、状态持久化、断点恢复 | 学习曲线陡、样板代码多 |
CrewAI | 角色驱动/团队隐喻 | Agent+Task+Crew | 上手快、结构清晰 | 复杂流程控制粒度弱 |
AutoGen | 对话驱动/群聊协商 | GroupChat+发言策略 | 灵活、天然支持人机协作 | 结果不可预测、成本高、状态弱 |
关键差异点
状态管理:LangGraph 显式 TypedDict+Checkpointer;CrewAI 任务间 context 传递;AutoGen 隐含在对话历史
执行控制:LangGraph 条件边/循环/并行任意组合;CrewAI 三种 Process(顺序/层级/事件驱动 Flows);AutoGen 对话轮次+发言策略
HITL:LangGraph 可中断在任意节点前后(最成熟);AutoGen UserProxyAgent 天然支持;CrewAI 需自定义工具
重要事件:2025 年 10 月微软将 AutoGen 与 Semantic Kernel 合并为 Microsoft Agent Framework(MAF),AutoGen 不再作为独立库接收重大更新。
选型建议
快速验证/研究 → AutoGen 系
标准流程自动化/内容管线 → CrewAI(顺序/层级模式)
生产级/长流程/合规审计 → LangGraph(可观测性、断点恢复、HITL 成熟)
实战路径:CrewAI 原型 → LangGraph 生产
避坑
多 Agent ≠ 更聪明:每多一个 Agent 多一层协调开销、token 成本和失败面
终止条件是硬需求:不设 max_round/TERMINATE 会死循环烧钱
共享状态要显式设计,否则 Agent 各自为政
无可观测性不生产:无追踪系统无法定位哪一步出错
