10b - 多 Agent 框架对比
本文是《AI Agent 实战手册》第 10 章第 2 节。 上一节:10a-多Agent协作概述 | 下一节:10c-A2A协议详解
概述
选择多 Agent 框架是构建多 Agent 系统的第一个关键决策。本节对 2025-2026 年主流的多 Agent 框架进行系统化对比——涵盖 LangGraph、CrewAI、Microsoft Agent Framework(AutoGen + Semantic Kernel 合并)、OpenAI Agents SDK、Agno、smolagents 以及 Google ADK,从架构范式、学习曲线、社区规模、典型用例、价格和生产就绪度六个维度帮你做出明智选择。
1. 框架全景速览
2025-2026 多 Agent 框架演进关键事件
| 时间 | 事件 | 影响 |
|---|---|---|
| 2024 Q4 | OpenAI 发布实验性 Swarm 框架 | 验证了轻量级 Handoff 模式的可行性 |
| 2025 年 1 月 | Hugging Face 发布 smolagents | 极简主义 Agent 框架进入生态 |
| 2025 年 2 月 | Phidata 更名为 Agno,发布高性能多 Agent 运行时 | 性能优先的框架路线出现 |
| 2025 年 3 月 | OpenAI 发布 Agents SDK(Swarm 的生产级继任者) | 轻量级多 Agent 框架正式进入生产 |
| 2025 年 4 月 | Google 在 Cloud NEXT 2025 发布 Agent Development Kit (ADK) | Google 生态的多 Agent 方案落地 |
| 2025 年 10 月 | Microsoft 将 AutoGen 和 Semantic Kernel 合并为 Microsoft Agent Framework | 企业级统一框架诞生,AutoGen 进入维护模式 |
| 2026 年 | LangGraph Platform GA,近 400 家企业部署 | 状态图框架进入生产成熟期 |
框架定位一览
控制精度 高 ──────────────────────────────── 低
│ │
│ LangGraph Microsoft AF │
│ (状态图) (企业统一) │
│ │
│ Google ADK CrewAI │
│ (全栈企业) (角色团队) │
│ │
│ OpenAI Agents SDK Agno │
│ (轻量 Handoff) (高性能) │
│ │
│ smolagents │
│ (极简实验) │
│ │
抽象程度 低 ──────────────────────────────── 高2. 八大框架逐一解析
2.1 LangGraph — 状态图编排的标杆
| 属性 | 详情 |
|---|---|
| 开发者 | LangChain 团队 |
| 核心范式 | 有状态图(Stateful Graph)/ 有限状态机 |
| 语言支持 | Python、TypeScript |
| 开源协议 | MIT |
| GitHub Stars | 15k+(2026 年) |
| 价格 | 框架免费开源;LangGraph Platform(托管):Developer 免费,Plus $25/月,Enterprise 定制 |
| 生产就绪度 | ⭐⭐⭐⭐⭐ — 2026 年 GA,近 400 家企业生产部署(Uber、LinkedIn、Replit 等) |
架构特点:
LangGraph 将 Agent 工作流建模为显式的有限状态机——每个节点是一个 LLM 推理步骤或工具调用,边定义了确定性或 Agent 驱动的状态转换。这种设计让工作流高度可检查、可调试、可重放。
from langgraph.graph import StateGraph, END
# 定义状态图
workflow = StateGraph(AgentState)
workflow.add_node("researcher", research_agent)
workflow.add_node("writer", writing_agent)
workflow.add_node("reviewer", review_agent)
# 定义转换边
workflow.add_edge("researcher", "writer")
workflow.add_edge("writer", "reviewer")
workflow.add_conditional_edges(
"reviewer",
should_revise, # 条件函数
{"revise": "writer", "approve": END}
)核心优势:
- 精确控制流程:条件分支、循环、中断(Human-in-the-Loop)、重试全部显式定义
- 内置持久化:支持检查点和状态恢复,长时间运行的工作流可中断续跑
- MCP 原生集成:直接连接 MCP Server 作为工具
- 可观测性强:与 LangSmith 深度集成,提供完整的执行追踪
核心劣势:
- 学习曲线陡峭:需要理解图论概念和状态机设计
- 对简单场景过度工程化:单 Agent 任务用 LangGraph 显得笨重
- 与 LangChain 生态绑定较深(虽然可独立使用)
最适合: 需要精确控制流程的复杂多步骤工作流、需要 Human-in-the-Loop 的生产系统、需要状态持久化的长时间运行任务。
2.2 CrewAI — 角色制团队协作
| 属性 | 详情 |
|---|---|
| 开发者 | CrewAI Inc. |
| 核心范式 | 角色制团队(Role-based Crew) |
| 语言支持 | Python |
| 开源协议 | MIT |
| GitHub Stars | 28k+(2026 年) |
| 价格 | 框架免费开源;CrewAI+ 平台:Free(50 次执行/月)、Pro $25/月(100 次执行/月)、Enterprise 定制 |
| 生产就绪度 | ⭐⭐⭐⭐ — 100% 受访企业计划扩展 Agentic AI 使用(2026 State of Agentic AI 报告) |
架构特点:
CrewAI 借鉴人类团队组织结构,将 Agent 系统建模为”团队”——每个 Agent 是一个有明确角色、目标和工具集的”团队成员”。任务按角色分配,执行顺序可以是顺序、并行或层级委托。
from crewai import Agent, Task, Crew
# 定义角色化 Agent
researcher = Agent(
role="高级研究员",
goal="深入调研 AI Agent 框架的最新发展",
backstory="你是一位资深技术分析师...",
tools=[search_tool, web_scraper],
llm="gpt-4o"
)
writer = Agent(
role="技术作家",
goal="将研究成果转化为清晰易懂的技术文章",
backstory="你是一位经验丰富的技术写作者...",
llm="claude-sonnet-4"
)
# 定义任务和团队
crew = Crew(
agents=[researcher, writer],
tasks=[research_task, writing_task],
process="sequential" # 或 "hierarchical"
)
result = crew.kickoff()核心优势:
- 直觉化设计:角色/目标/背景故事的抽象非常贴近人类思维
- 上手极快:几分钟就能搭建一个多 Agent 团队
- 内置记忆和委托:Agent 之间可以自动委托任务
- 社区活跃:GitHub Stars 最高的多 Agent 框架之一
核心劣势:
- 流程控制有限:复杂的条件分支和循环不如 LangGraph 灵活
- 角色抽象有时过于僵化:动态工作流场景下角色边界难以调整
- 调试困难:Agent 间的隐式通信不够透明
最适合: 内容生产流水线、研究分析团队、快速原型验证、角色分工明确的协作场景。
2.3 Microsoft Agent Framework — 企业级统一框架
| 属性 | 详情 |
|---|---|
| 开发者 | Microsoft |
| 核心范式 | 统一框架(Semantic Kernel + AutoGen 合并) |
| 语言支持 | C#/.NET、Python、Java |
| 开源协议 | MIT |
| GitHub Stars | 42k+(AutoGen 仓库,2026 年) |
| 价格 | 框架免费开源;Azure AI Foundry 集成按 Azure 服务计费 |
| 生产就绪度 | ⭐⭐⭐⭐ — 2025 年 10 月公开预览,企业级功能完备 |
⚠️ 重要变更:AutoGen → Microsoft Agent Framework
2025 年 10 月,Microsoft 正式将 AutoGen(源自 Microsoft Research 的多 Agent 研究项目)和 Semantic Kernel(企业级 AI 编排框架)合并为统一的 Microsoft Agent Framework。这意味着:
- AutoGen 进入维护模式:仅接收 bug 修复,不再开发新功能
- Semantic Kernel 的企业能力(类型安全、线程状态管理、过滤器、遥测)被整合进来
- AutoGen 的多 Agent 模式(对话式协作、角色分配)被保留并增强
- 如果你正在使用 AutoGen,应该规划迁移到 Microsoft Agent Framework
# Microsoft Agent Framework 示例(Python)
from microsoft.agents import Agent, AgentRuntime, ChatCompletionAgent
# 定义 Agent
analyst = ChatCompletionAgent(
name="数据分析师",
instructions="你是一位数据分析专家...",
model="gpt-4o"
)
reviewer = ChatCompletionAgent(
name="审查员",
instructions="你负责审查分析结果的准确性...",
model="gpt-4o"
)
# 使用 AgentGroupChat 进行多 Agent 协作
from microsoft.agents import AgentGroupChat, TerminationStrategy
chat = AgentGroupChat(
agents=[analyst, reviewer],
termination_strategy=TerminationStrategy(max_turns=10)
)核心优势:
- 企业级特性:线程状态管理、类型安全、过滤器、遥测钩子、RBAC
- 多语言支持:C#、Python、Java——.NET 生态的首选
- Azure 深度集成:与 Azure AI Foundry、Copilot Studio 无缝对接
- 统一 SDK:一个框架覆盖单 Agent 和多 Agent 场景
核心劣势:
- 框架较重:设置和配置比轻量级框架复杂
- Azure 生态倾向:虽然可独立使用,但最佳体验在 Azure 生态内
- 合并过渡期:文档和社区资源仍在从 AutoGen/SK 迁移中
最适合: 企业级多 Agent 系统、.NET/C# 技术栈、需要 Azure 集成的项目、从 AutoGen 迁移的团队。
2.4 OpenAI Agents SDK — 轻量级 Handoff 模式
| 属性 | 详情 |
|---|---|
| 开发者 | OpenAI |
| 核心范式 | 轻量级 Handoff(Agent 间任务交接) |
| 语言支持 | Python |
| 开源协议 | MIT |
| GitHub Stars | 18k+(2026 年) |
| 价格 | SDK 免费开源;LLM API 按量付费(GPT-4o: $2.50/$10 per 1M tokens) |
| 生产就绪度 | ⭐⭐⭐⭐ — 2025 年 3 月发布,Swarm 的生产级继任者 |
架构特点:
OpenAI Agents SDK 是 2024 年实验性 Swarm 框架的生产级升级版。它围绕四个核心原语构建:Agents(带指令和工具的 LLM)、Handoffs(Agent 间任务交接)、Guardrails(输入/输出验证)和 Tracing(执行追踪)。
from agents import Agent, Runner
# 定义专业化 Agent
triage_agent = Agent(
name="分诊 Agent",
instructions="根据用户问题类型,将任务交接给合适的专家。",
handoffs=[billing_agent, tech_support_agent, sales_agent]
)
billing_agent = Agent(
name="账单专家",
instructions="处理所有与账单、付款、退款相关的问题。",
tools=[lookup_invoice, process_refund]
)
# 运行
result = await Runner.run(triage_agent, input="我想查询上个月的账单")核心优势:
- 极简设计:最少的抽象层,Python 原生风格
- Handoff 模式直觉化:Agent 间的任务交接像接力赛传棒
- 内置 Guardrails:输入验证并行执行,失败时提前终止
- 内置 Tracing:完整的执行追踪,支持导出到外部平台
- 模型无关:通过 OpenAI 兼容 API 支持 100+ LLM
核心劣势:
- 编排能力有限:不支持复杂的状态图或条件分支
- 无内置持久化:长时间运行的工作流需要自行实现状态管理
- 多 Agent 协作模式单一:主要是 Handoff(交接),缺少并行扇出、共识投票等模式
最适合: 客服路由系统、简单的多 Agent 交接场景、OpenAI 生态内的快速原型、需要 Guardrails 的生产系统。
2.5 Agno — 高性能多 Agent 运行时
| 属性 | 详情 |
|---|---|
| 开发者 | Agno(原 Phidata) |
| 核心范式 | 高性能可组合 Agent 运行时 |
| 语言支持 | Python |
| 开源协议 | MPL-2.0 |
| GitHub Stars | 20k+(2026 年) |
| 价格 | 框架免费开源;Agno Platform:Free 可用,Pro/Enterprise 定制 |
| 生产就绪度 | ⭐⭐⭐⭐ — 性能优异,多模态支持完善 |
架构特点:
Agno 的核心卖点是性能——官方声称 Agent 实例化速度比 LangGraph 快约 10,000 倍,内存占用低约 50 倍。它提供统一接口连接 23+ 模型提供商,支持多模态输入输出(文本、图像、音频、视频),内置多种记忆策略和强类型验证。
from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.tools.duckduckgo import DuckDuckGoTools
# 创建高性能 Agent
agent = Agent(
model=OpenAIChat(id="gpt-4o"),
tools=[DuckDuckGoTools()],
instructions="你是一位研究助手...",
markdown=True,
show_tool_calls=True
)
# 多 Agent 团队
from agno.team import Team
team = Team(
agents=[researcher, analyst, writer],
mode="coordinate" # 或 "route", "collaborate"
)核心优势:
- 极致性能:实例化和执行速度远超重量级框架
- 多模态原生:文本、图像、音频、视频全支持
- 模型无关:23+ 模型提供商统一接口
- 丰富的内置工具:开箱即用的工具集和强类型验证
- 灵活的记忆策略:多种记忆后端可选
核心劣势:
- 多 Agent 编排能力相对基础:不如 LangGraph 的状态图精细
- 社区规模不如 LangGraph/CrewAI
- 从 Phidata 更名后,部分文档和教程仍在过渡中
最适合: 性能敏感的 Agent 系统、多模态 Agent、需要快速实例化大量 Agent 的场景、模型无关的可组合 Agent。
2.6 smolagents — Hugging Face 的极简主义
| 属性 | 详情 |
|---|---|
| 开发者 | Hugging Face |
| 核心范式 | 极简代码优先 Agent |
| 语言支持 | Python |
| 开源协议 | Apache 2.0 |
| GitHub Stars | 15k+(2026 年) |
| 价格 | 完全免费开源;可使用 Hugging Face Hub 上的免费模型 |
| 生产就绪度 | ⭐⭐⭐ — 适合实验和原型,生产部署需额外工程 |
架构特点:
smolagents 的核心哲学是”小而美”——整个框架核心代码约 1,000 行,支持工具调用 Agent 和代码生成 Agent 两种模式。它与 Hugging Face 生态深度集成,可直接使用 Hub 上的模型和工具。
from smolagents import CodeAgent, HfApiModel, DuckDuckGoSearchTool
# 创建代码生成 Agent
agent = CodeAgent(
tools=[DuckDuckGoSearchTool()],
model=HfApiModel("Qwen/Qwen2.5-Coder-32B-Instruct"),
max_steps=5
)
# 多 Agent 编排
from smolagents import ManagedAgent
managed_researcher = ManagedAgent(
agent=researcher_agent,
name="researcher",
description="负责搜索和收集信息"
)
manager = CodeAgent(
tools=[],
model=model,
managed_agents=[managed_researcher, managed_writer]
)核心优势:
- 极简透明:代码量少,容易理解和修改
- Hugging Face 生态:直接使用 Hub 上的模型、工具和 Spaces
- 代码 Agent 模式:Agent 可以生成并执行 Python 代码
- 零成本入门:配合开源模型完全免费
- 学习友好:非常适合理解 Agent 工作原理
核心劣势:
- 缺乏生产级特性:无内置持久化、无企业级安全、无高级编排
- 多 Agent 能力基础:ManagedAgent 模式相对简单
- 错误处理和重试机制不够健壮
最适合: 学习和实验、快速原型验证、Hugging Face 生态内的 Agent 开发、代码生成 Agent。
2.7 Google Agent Development Kit (ADK) — Google 生态全栈方案
| 属性 | 详情 |
|---|---|
| 开发者 | |
| 核心范式 | 全栈 Agent 开发套件 |
| 语言支持 | Python |
| 开源协议 | Apache 2.0 |
| GitHub Stars | 12k+(2026 年) |
| 价格 | 框架免费开源;Gemini API 按量付费;Vertex AI 按 Google Cloud 计费 |
| 生产就绪度 | ⭐⭐⭐⭐ — 2025 年 4 月发布,与 Google 内部 Agentspace 同源 |
架构特点:
Google ADK 围绕四大支柱设计:Build(构建)、Interact(交互)、Evaluate(评估)、Deploy(部署),覆盖 Agent 开发全生命周期。它支持层级化多 Agent 编排、双向音视频流、A2A 协议原生集成。
from google.adk import Agent, Runner
# 创建 Agent
research_agent = Agent(
name="researcher",
model="gemini-2.0-flash",
instruction="你是一位研究助手...",
tools=[google_search, web_browse]
)
# 层级化多 Agent
coordinator = Agent(
name="coordinator",
model="gemini-2.5-pro",
instruction="协调研究和写作 Agent 完成任务",
sub_agents=[research_agent, writing_agent]
)核心优势:
- 全生命周期覆盖:构建、测试、评估、部署一站式
- A2A 原生支持:与 Google A2A 协议深度集成
- 企业级部署:Vertex AI、Cloud Run 一键部署
- 内置评估工具:Agent 行为的自动化测试和评估
- 多模态支持:双向音视频流
核心劣势:
- Google 生态倾向:最佳体验在 Google Cloud 内
- 相对较新:社区和第三方资源不如 LangGraph/CrewAI 丰富
- Python only:暂不支持其他语言
最适合: Google Cloud 用户、需要 A2A 协议集成的系统、需要全生命周期工具链的企业、多模态 Agent。
3. 六维综合对比
3.1 架构范式对比
| 框架 | 架构范式 | 核心抽象 | 控制粒度 | 确定性 |
|---|---|---|---|---|
| LangGraph | 有状态图 / 有限状态机 | 节点(Node)+ 边(Edge)+ 状态(State) | 极高——每个转换显式定义 | 高——确定性 + 条件分支 |
| CrewAI | 角色制团队 | Agent(角色)+ Task(任务)+ Crew(团队) | 中——角色和任务级别控制 | 中——角色内行为由 LLM 决定 |
| Microsoft AF | 统一框架(对话 + 编排) | Agent + AgentGroupChat + Kernel | 高——类型安全 + 过滤器 + 线程 | 高——企业级确定性保障 |
| OpenAI Agents SDK | 轻量级 Handoff | Agent + Handoff + Guardrail | 中——Handoff 级别控制 | 中——Handoff 路由由 LLM 决定 |
| Agno | 可组合运行时 | Agent + Team + Memory | 中——Team 模式级别控制 | 中——模式内行为由 LLM 决定 |
| smolagents | 极简代码优先 | Agent + Tool + ManagedAgent | 低——最少的控制抽象 | 低——高度依赖 LLM 推理 |
| Google ADK | 全栈开发套件 | Agent + SubAgent + Runner | 高——层级化 + 评估内置 | 高——内置测试和评估 |
3.2 学习曲线对比
| 框架 | 学习曲线 | 上手时间 | 前置知识要求 | 文档质量 |
|---|---|---|---|---|
| LangGraph | ⭐⭐⭐⭐⭐ 陡峭 | 1-2 周 | 图论、状态机、LangChain 基础 | 优秀——教程丰富 |
| CrewAI | ⭐⭐ 平缓 | 1-2 天 | 基本 Python | 良好——示例充足 |
| Microsoft AF | ⭐⭐⭐⭐ 较陡 | 1-2 周 | .NET/Python + Azure 基础 | 良好——过渡期中 |
| OpenAI Agents SDK | ⭐⭐ 平缓 | 数小时 | 基本 Python | 良好——官方文档清晰 |
| Agno | ⭐⭐ 平缓 | 1-2 天 | 基本 Python | 良好——从 Phidata 继承 |
| smolagents | ⭐ 最平缓 | 数小时 | 基本 Python | 中等——社区驱动 |
| Google ADK | ⭐⭐⭐ 中等 | 3-5 天 | Python + Google Cloud 基础 | 良好——官方教程完善 |
3.3 社区与生态对比
| 框架 | GitHub Stars | 主要贡献者 | 生态集成 | 第三方资源 |
|---|---|---|---|---|
| LangGraph | 15k+ | LangChain 团队 + 社区 | LangSmith、LangChain、MCP | 丰富——教程、课程、插件 |
| CrewAI | 28k+ | CrewAI Inc. + 社区 | CrewAI+ 平台、多种 LLM | 丰富——最活跃的社区之一 |
| Microsoft AF | 42k+(AutoGen) | Microsoft + 社区 | Azure AI Foundry、Copilot Studio | 丰富——企业资源多 |
| OpenAI Agents SDK | 18k+ | OpenAI + 社区 | OpenAI API、Responses API | 中等——快速增长中 |
| Agno | 20k+ | Agno 团队 + 社区 | 23+ 模型提供商 | 中等——从 Phidata 继承 |
| smolagents | 15k+ | Hugging Face + 社区 | Hugging Face Hub、Spaces | 中等——HF 生态内丰富 |
| Google ADK | 12k+ | Google + 社区 | Vertex AI、A2A、Gemini | 增长中——Google 资源支持 |
3.4 价格对比
| 框架 | 框架本身 | 托管平台 | LLM 成本 | 总体成本评估 |
|---|---|---|---|---|
| LangGraph | 免费开源 | LangGraph Platform: Developer 免费, Plus $25/月 | 按模型计费 | 中——平台费 + LLM 费 |
| CrewAI | 免费开源 | Free 50 次/月, Pro $25/月, Enterprise 定制 | 按模型计费 | 中——按执行次数计费 |
| Microsoft AF | 免费开源 | Azure AI Foundry 按用量计费 | 按模型计费 | 中高——Azure 服务费 |
| OpenAI Agents SDK | 免费开源 | 自托管(无托管平台) | OpenAI API 按量计费 | 低——仅 LLM 费用 |
| Agno | 免费开源 | Agno Platform: Free 可用, Pro 定制 | 按模型计费 | 低——框架开销极小 |
| smolagents | 免费开源 | 无(自托管) | 可用免费开源模型 | 最低——可完全免费 |
| Google ADK | 免费开源 | Vertex AI / Cloud Run 按用量计费 | Gemini API 按量计费 | 中——Google Cloud 费用 |
3.5 生产就绪度对比
| 框架 | 状态持久化 | 错误处理 | 可观测性 | 安全特性 | 水平扩展 | 综合评分 |
|---|---|---|---|---|---|---|
| LangGraph | ✅ 内置检查点 | ✅ 重试 + 降级 | ✅ LangSmith | ✅ 中断审批 | ✅ Platform | ⭐⭐⭐⭐⭐ |
| CrewAI | ⚠️ 基础 | ✅ 内置重试 | ⚠️ 需外部工具 | ⚠️ 基础 | ✅ CrewAI+ | ⭐⭐⭐⭐ |
| Microsoft AF | ✅ 线程状态 | ✅ 过滤器 + 重试 | ✅ 遥测钩子 | ✅ RBAC + 审计 | ✅ Azure | ⭐⭐⭐⭐ |
| OpenAI Agents SDK | ❌ 需自行实现 | ✅ Guardrails | ✅ 内置 Tracing | ✅ Guardrails | ⚠️ 需自行实现 | ⭐⭐⭐⭐ |
| Agno | ✅ 多种后端 | ⚠️ 基础 | ⚠️ 需外部工具 | ⚠️ 基础 | ⚠️ 需自行实现 | ⭐⭐⭐⭐ |
| smolagents | ❌ 无 | ⚠️ 基础 | ❌ 需外部工具 | ❌ 无 | ❌ 需自行实现 | ⭐⭐⭐ |
| Google ADK | ✅ Session | ✅ Callback | ✅ 内置追踪 | ✅ 权限范围 | ✅ Cloud Run | ⭐⭐⭐⭐ |
3.6 典型用例对比
| 用例场景 | 推荐框架 | 原因 |
|---|---|---|
| 复杂工作流编排(条件分支、循环、中断) | LangGraph | 状态图提供最精细的流程控制 |
| 内容生产流水线(写作、审校、SEO) | CrewAI | 角色制团队天然匹配内容生产分工 |
| 企业级 .NET 系统集成 | Microsoft AF | C# 原生支持 + Azure 深度集成 |
| 客服路由和分诊系统 | OpenAI Agents SDK | Handoff 模式完美匹配路由场景 |
| 高性能低延迟 Agent | Agno | 实例化速度和内存效率最优 |
| 学习和快速实验 | smolagents | 最简单、最透明、零成本 |
| Google Cloud 企业部署 | Google ADK | Vertex AI + A2A 原生集成 |
| 需要 A2A 跨组织协作 | Google ADK | A2A 协议原生支持 |
| 需要 Human-in-the-Loop | LangGraph / Microsoft AF | 内置中断和审批机制 |
| 多模态 Agent(音视频) | Agno / Google ADK | 多模态原生支持 |
4. 框架选择决策树
你要构建什么类型的多 Agent 系统?
│
├─ 需要精确控制每一步流程?
│ ├─ 是 → 你的技术栈是什么?
│ │ ├─ Python/TypeScript → LangGraph
│ │ └─ C#/.NET → Microsoft Agent Framework
│ └─ 否 → 继续 ↓
│
├─ 任务是否自然映射为"团队角色分工"?
│ ├─ 是 → CrewAI
│ └─ 否 → 继续 ↓
│
├─ 主要是 Agent 间的任务路由/交接?
│ ├─ 是 → OpenAI Agents SDK
│ └─ 否 → 继续 ↓
│
├─ 性能是首要考量(低延迟、高吞吐)?
│ ├─ 是 → Agno
│ └─ 否 → 继续 ↓
│
├─ 需要 Google Cloud / A2A 集成?
│ ├─ 是 → Google ADK
│ └─ 否 → 继续 ↓
│
├─ 是学习/实验/快速原型?
│ ├─ 是 → smolagents
│ └─ 否 → 继续 ↓
│
└─ 需要企业级安全和合规?
├─ Azure 生态 → Microsoft Agent Framework
├─ Google 生态 → Google ADK
└─ 其他 → LangGraph + LangSmith按团队规模推荐
| 团队规模 | 推荐框架 | 理由 |
|---|---|---|
| 个人开发者 / 学习 | smolagents 或 OpenAI Agents SDK | 上手快、成本低 |
| 小团队(2-5 人) | CrewAI 或 Agno | 快速搭建、直觉化设计 |
| 中型团队(5-20 人) | LangGraph 或 Google ADK | 流程控制 + 可观测性 |
| 企业团队(20+ 人) | Microsoft AF 或 LangGraph Platform | 企业级特性 + 治理 |
实战案例:同一任务在不同框架中的实现对比
场景:多 Agent 技术调研系统
需求:构建一个系统,由”搜索 Agent”收集信息,“分析 Agent”整理分析,“写作 Agent”生成报告。
LangGraph 实现思路
# LangGraph:显式状态图
from langgraph.graph import StateGraph, END
from typing import TypedDict, List
class ResearchState(TypedDict):
query: str
raw_data: List[str]
analysis: str
report: str
graph = StateGraph(ResearchState)
graph.add_node("search", search_node)
graph.add_node("analyze", analyze_node)
graph.add_node("write", write_node)
graph.add_node("quality_check", quality_node)
graph.set_entry_point("search")
graph.add_edge("search", "analyze")
graph.add_edge("analyze", "write")
graph.add_conditional_edges(
"quality_check",
lambda state: "pass" if state["quality_score"] > 0.8 else "revise",
{"pass": END, "revise": "write"}
)
graph.add_edge("write", "quality_check")
app = graph.compile()特点: 每一步转换显式定义,质量检查不通过可以循环修改,状态完全可追踪。
CrewAI 实现思路
# CrewAI:角色制团队
from crewai import Agent, Task, Crew, Process
searcher = Agent(role="信息搜索专家", goal="全面搜集相关信息", tools=[search_tool])
analyst = Agent(role="数据分析师", goal="从原始数据中提取关键洞察")
writer = Agent(role="技术作家", goal="撰写结构清晰的研究报告")
search_task = Task(description="搜索 {query} 的最新信息", agent=searcher)
analyze_task = Task(description="分析搜索结果,提取关键发现", agent=analyst)
write_task = Task(description="基于分析结果撰写研究报告", agent=writer)
crew = Crew(
agents=[searcher, analyst, writer],
tasks=[search_task, analyze_task, write_task],
process=Process.sequential
)
result = crew.kickoff(inputs={"query": "2026 多 Agent 框架趋势"})特点: 代码量少,角色定义直觉化,但缺少质量检查循环的精细控制。
OpenAI Agents SDK 实现思路
# OpenAI Agents SDK:Handoff 模式
from agents import Agent, Runner
writer_agent = Agent(
name="技术作家",
instructions="基于分析结果撰写研究报告。",
tools=[format_report]
)
analyst_agent = Agent(
name="数据分析师",
instructions="分析搜索结果,提取关键发现。完成后交给技术作家。",
handoffs=[writer_agent]
)
search_agent = Agent(
name="信息搜索专家",
instructions="搜索相关信息。完成后交给数据分析师。",
tools=[web_search],
handoffs=[analyst_agent]
)
result = await Runner.run(search_agent, input="调研 2026 多 Agent 框架趋势")特点: 最简洁的代码,Handoff 链清晰,但缺少循环和条件分支能力。
对比总结
| 维度 | LangGraph | CrewAI | OpenAI Agents SDK |
|---|---|---|---|
| 代码量 | 多(~30 行) | 中(~20 行) | 少(~15 行) |
| 流程控制 | 精细(条件 + 循环) | 中等(顺序/层级) | 基础(线性 Handoff) |
| 质量检查循环 | ✅ 原生支持 | ⚠️ 需额外配置 | ❌ 需自行实现 |
| 状态可追踪性 | 极高 | 中 | 中(Tracing) |
| 上手难度 | 高 | 低 | 最低 |
5. AutoGen 迁移指南
为什么需要迁移
2025 年 10 月,Microsoft 正式宣布将 AutoGen 和 Semantic Kernel 合并为 Microsoft Agent Framework。AutoGen 进入维护模式——仅接收 bug 修复,不再开发新功能。如果你的项目正在使用 AutoGen,建议尽早规划迁移。
迁移路径
AutoGen 项目
│
├─ 使用 AutoGen 的多 Agent 对话模式?
│ └─ → Microsoft Agent Framework 的 AgentGroupChat
│
├─ 使用 AutoGen 的工具调用?
│ └─ → Microsoft Agent Framework 的 KernelFunction(继承自 Semantic Kernel)
│
├─ 使用 AutoGen 的代码执行?
│ └─ → Microsoft Agent Framework 的 CodeInterpreter Agent
│
└─ 不想迁移到 Microsoft 生态?
├─ 需要精细流程控制 → LangGraph
├─ 需要角色制团队 → CrewAI
└─ 需要轻量级方案 → OpenAI Agents SDK关键变化
| AutoGen 概念 | Microsoft Agent Framework 对应 | 变化说明 |
|---|---|---|
AssistantAgent | ChatCompletionAgent | 更通用的命名 |
UserProxyAgent | Human-in-the-Loop 中断 | 更灵活的人工介入机制 |
GroupChat | AgentGroupChat | 增加了终止策略和选择策略 |
ConversableAgent | Agent 基类 | 统一的 Agent 抽象 |
| 无 | KernelFunction | 新增类型安全的工具定义(来自 SK) |
| 无 | Filters / Telemetry | 新增企业级可观测性(来自 SK) |
避坑指南
❌ 常见错误
-
盲目追求”最热门”框架
- 问题:看到 CrewAI Stars 最多就选它,结果发现需要精细流程控制时力不从心
- 正确做法:先明确需求(流程复杂度、控制粒度、团队技术栈),再按决策树选择
-
在简单场景使用重量级框架
- 问题:一个简单的客服路由用 LangGraph 实现,代码量和维护成本远超必要
- 正确做法:简单 Handoff 场景用 OpenAI Agents SDK,复杂状态管理才用 LangGraph
-
忽视 AutoGen 的维护模式状态
- 问题:2026 年仍在新项目中使用 AutoGen,未来将无法获得新功能和安全更新
- 正确做法:新项目直接使用 Microsoft Agent Framework;现有 AutoGen 项目规划迁移
-
低估框架间的迁移成本
- 问题:先用 CrewAI 快速原型,后来发现需要迁移到 LangGraph,架构完全不同
- 正确做法:如果预见到未来需要精细控制,从一开始就选择 LangGraph,避免重写
-
忽略 LLM API 成本在框架选择中的影响
- 问题:选择了功能强大的框架,但多 Agent 间的通信消耗了大量 token,成本失控
- 正确做法:在框架评估阶段就进行成本建模,计算 Agent 间通信的 token 开销
-
混淆”框架开源”和”平台免费”
- 问题:以为框架开源就完全免费,忽略了托管平台(LangGraph Platform、CrewAI+)的费用
- 正确做法:区分框架成本(通常免费)、平台成本(按用量计费)和 LLM 成本(按 token 计费)
✅ 最佳实践
- 从最简单的框架开始验证需求:先用 OpenAI Agents SDK 或 smolagents 验证核心逻辑,确认需要更强的编排能力后再升级
- 保持 Agent 逻辑与框架解耦:将核心业务逻辑封装为独立函数/类,框架只负责编排,降低未来迁移成本
- 从第一天就接入可观测性:无论选择哪个框架,都要接入 LangSmith、Langfuse 等追踪工具
- 建立成本预算机制:为每个 Agent 设置 token 预算上限,监控 Agent 间通信的 token 消耗
- 关注框架的协议支持:优先选择支持 MCP 和 A2A 的框架,为未来的互操作性做准备
相关资源与延伸阅读
- LangGraph 官方文档 — 状态图多 Agent 编排框架完整教程
- CrewAI 官方文档 — 角色制多 Agent 框架入门和进阶指南
- Microsoft Agent Framework 官方博客 — AutoGen + Semantic Kernel 合并公告和迁移指南
- OpenAI Agents SDK 官方文档 — 轻量级 Handoff 框架完整参考
- Agno 官方文档 — 高性能多 Agent 运行时入门
- smolagents 官方站点 — Hugging Face 极简 Agent 框架
- Google ADK 官方文档 — Google Agent Development Kit 完整指南
- A Guide to Building Reliable Agents — Atla AI — 九大框架横向对比分析
- Langfuse Agent Framework Comparison — 开源 Agent 框架对比与可观测性集成
- LangGraph Platform GA 公告 — LangGraph 生产部署平台正式发布
参考来源
- Introducing Microsoft Agent Framework (2025)
- Empowering Multi-Agent Solutions with Microsoft Agent Framework (2025)
- Hello Microsoft Agent Framework (Bye Bye AutoGen!) (2025)
- OpenAI Agents SDK vs LangGraph vs Autogen vs CrewAI (2025)
- A Guide to Building Reliable Agents (2025)
- Top 10 AI Agent Frameworks & Tools In 2026 (2026)
- Top 5 Open-Source Agentic AI Frameworks in 2026 (2026)
- Comparing Open-Source AI Agent Frameworks — Langfuse (2025)
- LangGraph Platform GA — Deploy & manage long-running, stateful Agents (2025)
- Google Introduces Agent Development Kit at Cloud Next 2025 (2025)
- Building AI Agents with Agno-Phidata (2025)
- 2026 State of Agentic AI Survey Report — CrewAI (2026)
- CrewAI Pricing, Features, & Alternatives Explained (2026)
📖 返回 总览与导航 | 上一节:10a-多Agent协作概述 | 下一节:10c-A2A协议详解