Agent Framework 横向对比

April 15, 2026 · View on GitHub

6 款主流 Agent Framework 的源码/文档级对比。仅 AgentScope 是本地源码级分析,其他 5 款基于官方文档和 README。

开发者 / 许可证 / 语言

Framework开发者许可证语言主版本论文
AgentScope阿里 Tongyi LabApache-2.0Python ≥3.100.xarXiv:2402.14034
LangGraphLangChainMITPython + TypeScript0.2.x
CrewAICrewAI IncMITPython0.x
AG2 (AutoGen)AG2 社区(原 Microsoft AutoGen 分叉)Apache-2.0Python0.xarXiv:2308.08155
Microsoft Agent FrameworkMicrosoftMITC# + Python预览
LangChainLangChainMITPython + TypeScript0.3.x

核心抽象风格

Framework主抽象适合场景
AgentScope显式 ReAct loop + hooks + MsgHub 广播需要细粒度控制 + 生态完整
LangGraphStateGraph 状态图 + 节点 + 条件边复杂工作流 + 可视化 + checkpoint
CrewAICrew + Agent (role) + Task + ProcessRole-based 业务场景
AG2GroupChat conversation + Agent 角色模拟对话 + 多 Agent 讨论
MAFChatHandler + FunctionInvocation + .NET 生态微软技术栈集成
LangChainChain + Runnable + LCEL 管道LLM 管线 + 大量 provider

主循环模型

Framework主循环结构退出条件
AgentScopefor _ in range(max_iters) 显式循环,_reasoning()_acting()无 tool_use block
LangGraph状态图遍历,节点返回下一状态到达 END 节点
CrewAITask 依次执行(Sequential / Hierarchical Process)所有 task 完成
AG2GroupChat.run() 轮询下一发言人终止条件或 max_round
MAFChatHandler.Invoke() 循环模型输出无 tool call
LangChainAgentExecutor._call()AgentFinish 输出

多 Agent 支持

Framework多 Agent 模式特点
AgentScopeMsgHub 广播简单、灵活、无结构化状态
LangGraphStateGraph 节点 = agent强结构、可 checkpoint 恢复
CrewAICrew + Role 分工业务层面最直观
AG2GroupChat + Selector自然对话流
MAFConnected Agents API微软风格
LangChain通过 LangGraph 扩展本体无原生支持

MCP 支持

FrameworkMCP ClientMCP Server备注
AgentScope✓ 官方 mcp>=1.13tools/_toolkit.py:23 直接 import mcp
LangGraph✗ 本体无需第三方包
CrewAI通过 crewai-tools 插件
AG2
MAF预览支持
LangChain通过 langchain-mcp-adapters

A2A (Agent-to-Agent) 协议

FrameworkA2A 支持实现方式
AgentScope✓ 原生集成官方 a2a-sdk + Nacos 服务发现
LangGraph
CrewAI
AG2
MAF概念提及无源码实现
LangChain

AgentScope 是 6 款 framework 中唯一原生集成 A2A 的。

Memory 系统

FrameworkWorking MemoryLong-Term Memory后端
AgentScope✓ InMemory/Redis/SQLAlchemy/TableStore✓ Mem0 + ReMe4 种
LangGraph✓ Checkpointer (Memory / Postgres / Redis / SQLite)⚠️ 需自建4 种
CrewAI✓ ShortTerm / LongTerm / Entity✓ mem0 集成RAG + SQLite
AG2会话内⚠️ 手工
MAFChatHistory⚠️自定义
LangChainConversationBufferMemory⚠️

微调 / 学习支持

FrameworkAgentic RLFine-tune 接口
AgentScope✓ Trinity-RFTtune() 函数,trajectory 反哺训练
LangGraph
CrewAI
AG2
MAF
LangChain

AgentScope 独有

实时语音 Agent

FrameworkRealtime WebSocketTTS Provider 数
AgentScope✓ OpenAI / DashScope / Gemini Realtime4
LangGraph⚠️ 需自建
CrewAI
AG2
MAF
LangChain通过 LangChain-experimental

AgentScope 独有

可观测性 (Tracing)

FrameworkOTel 原生Tracing 粒度
AgentScope✓ 5 类 × 3 extractorAgent / LLM / Tool / Formatter / Embedding
LangGraph✓ LangSmith 集成节点级
CrewAI✓ Langtrace / OpenLLMetryTask 级
AG2⚠️ 手工
MAF✓ Application Insights
LangChain✓ LangSmithChain 级

Hook / 扩展

FrameworkHook 类型数量
AgentScopePython callable(class + instance level)10 个 hook 点(pre/post × reply/print/observe/reasoning/acting)
LangGraphinterrupt_before / interrupt_after + checkpointer节点级
CrewAITask callback任务级
AG2register_hook有限
MAFIFilterC# 风格
LangChainCallbackHandler细粒度

Plan 模块

Framework计划原语实现
AgentScopeFirst-class PlanNotebook + Plan + SubTask源码 src/agentscope/plan/
LangGraph隐式(状态图即计划)
CrewAITask 自动分解(可选)
AG2
MAF
LangChainPlan-and-Execute experimental实验性

代码规模(估算)

Framework代码量(Python)依赖数
AgentScope43K 行 / 215 文件
LangGraph~15-20K 行
CrewAI~25K 行
AG260-80K 行
MAF- (C# 为主)-
LangChain core100K+ 行极多

生态活跃度(2026-04 观察)

FrameworkGitHub Stars增长速度
LangChain~100k+放缓
LangGraph~10k快速增长
AutoGen/AG2~35k稳定(AG2 是 fork)
AgentScope23.7k快速增长
CrewAI~30k稳定
MAF预览中

决策指南:什么时候选哪款?

AgentScope,如果你:

  • 想要完整生态(MCP + A2A + 微调 + 实时语音)
  • 需要 production-grade OTel tracing
  • 构建中文场景 agent(DashScope + CosyVoice)
  • 研究 agentic RL(Trinity-RFT)
  • 要跨多个 agent 做松耦合广播(MsgHub)

LangGraph,如果你:

  • 需要可恢复的长流程(checkpointer)
  • 流程结构已知且复杂(可绘图)
  • 要做多 agent 编排 + 状态机风格
  • 已经在用 LangChain 生态

CrewAI,如果你:

  • 场景是业务角色分工(产品 → 设计 → 开发 → 测试)
  • 想要直观的 role-based API
  • 不想写太多底层逻辑

AG2 (AutoGen),如果你:

  • 想做多 Agent 对话模拟
  • 研究讨论/辩论场景
  • 需要学术一致性(参考 AutoGen 论文)

Microsoft Agent Framework,如果你:

  • 团队是 .NET / C# 栈
  • 需要 Azure 深度集成
  • 企业 Azure 环境部署

LangChain,如果你:

  • 需要最大的 provider 覆盖
  • 构建简单的 LLM 管道(非复杂 agent)
  • 已有 LangChain 代码库

一个都不选的理由

如果你的目标是构建一个 Code Agent(编程助手),这 6 款 framework 都不合适 —— Claude Code / Qwen Code / Codex CLI 都是自研的,因为:

  1. UX 要求高:TUI、流式渲染、快捷键、实时 diff —— framework 提供的抽象无法直接实现
  2. 启动速度:framework 都有几百 ms 的 import 延迟
  3. 定制深度:code agent 需要改 prompt cache 策略、compaction 算法、tool schema —— framework 的抽象是负担
  4. 性能:Rust / Bun 实现比 Python framework 快 10 倍

结论:framework 适合**"我要构建一个特定业务场景的 agent",不适合"我要构建下一个 Claude Code"**。


延伸阅读