这五个框架的差异,主要体现在工作流表达、状态、工具集成和团队需要补建的组件。本文给出选型维度与验证方法,不用主观“成熟度高低”或未经统一测试的性能排名决定胜负。

本文在 LearnAgent 原文基础上修订,资料核验于 2026-10-03。框架、托管平台和模型服务分别比较;同名生态里的商业功能不自动属于开源包。

按工作流形态比较

框架 值得优先试用的情境 应重点验证的成本
LangGraph 需要明确状态、分支、暂停与恢复的代码工作流 state schema、checkpointer、重放与业务幂等
CrewAI 围绕角色、任务和 Flow 组织协作 任务输出约束、上下文传递、HITL 与外部系统集成
Microsoft Agent Framework 已有 Python/.NET 或 Microsoft 生态,评估多代理与工作流 所用 client、部署依赖、迁移能力和状态后端
Google ADK 希望使用 ADK Agent、会话、Runner 及工作流体系 目标语言的功能、事件模型和版本兼容
AG2 需要灵活代理通信与协作,愿意评估新架构 Classic 与 1.x API 差异、编排和迁移测试

上述是试用方向,不是排他分类。先把简单函数/固定工作流当成基线;当框架带来的控制能力确实解决需求时,再接受它的抽象和运维成本。

LangGraph 的持久化需要配置

图式编排应明确 state、节点、入口和终点。完整的顺序任务至少要定义输入状态、连接 START 与 END,并检查输出。只写两个节点而没有完整边和入口的片段,不构成可运行示例。Graph API

持久化需要配置 checkpointer,并按其要求使用线程标识等信息;没有 checkpointer 的普通图不能暗示已具备持久恢复。实际部署还应验证存储备份、版本变化和副作用重放。Persistence

CrewAI 的任务与人工介入

Task 需要明确描述和 expected_output;后续任务若依赖前一项结果,应显式建立上下文关系。工具必须真实定义并具备授权边界,不是放一个未实现的 search_tool 名称就完成研究能力。Tasks

CrewAI 有 human_input 及相关 HITL/Flow 能力,也有 MCP 和 A2A 相关官方支持,不能用旧表中的“无”直接淘汰。应进一步核对你使用的是内置接口还是 adapter、可选依赖、客户端还是服务端角色,以及对应版本。MCP、A2A 委派

框架提供人工介入原语,不代表已经提供符合业务要求的审批界面、身份验证、超时策略和持久审批记录。

Microsoft Agent Framework

MAF 1.0 于 2026-04-03 GA,官方说明包含 Python/.NET、工作流和互操作能力。SequentialBuilder 是真实接口;示例应按实际异步客户端和事件模型读取输出,例如关注 output 事件中的数据,而不是把整个事件直接当字符串结果。MAF 1.0 发布说明

既有 AutoGen 或 Semantic Kernel 应用要检查具体迁移路径。Microsoft AutoGen 仓库目前处于维护模式;现有项目应根据其维护政策评估继续使用与迁移。AutoGen 仓库

需要审计或持久恢复时,仍要确认配置的存储、访问控制、保留和导出方式;不能只因为进入 GA 就推定所有治理要求均已满足。

Google ADK 与多语言

ADK 有多个语言实现,语言清单和各自功能应按官方资料核对。某一语言支持的工作流、A2A 或工具功能,不应自动填入其他语言的矩阵。安装版本也不能用一年前的版本号代表当前项目。LLM Agent 文档、Python 发布记录

对于真实应用,会话服务、事件处理、部署方式和历史数据兼容,比“支持几种语言”更有区分度。应拿旧任务与旧会话一起测试升级。

AG2 的新旧 API

AG2 Classic 的示例常用 autogen 命名空间;AG2 1.x 则采用 Agent、Network 等新的体系。新项目和旧项目应分别决策,不要仅替换 import 或安装包就宣称迁移完成。AG2 当前说明、Classic 历史版本

AG2 有 A2A 支持和人工交互机制,具体接口随 Classic/新版区分。本文不再保留没有产品级官方证据的“.NET 支持”判断。A2A 文档

统一验收比代码行数更有价值

为所有候选准备同一个任务:读取两个资料源,形成带来源的结论,提出一个受限外部写入,再等待人工确认。用同一个工具 stub 或测试服务,固定模型、版本、预算和验收标准。

依次制造五种情况:资料不可用、工具超时、模型输出不合法、人工拒绝、写入完成后进程中断。检查是否能解释失败、正确恢复、避免重复写入,以及保留审批范围。记录成功率、费用和人工调试时间。

Tracing 能帮助排错,但不等同正式不可篡改审计。数据库持久化也不自动保证合规。需要这些能力时,应明确日志完整性、权限、保留、访问审计和恢复要求,再验证具体实现。

本文删除了原先缺少必要参数、混用版本或未定义工具的代码片段。开发时从选定版本的官方完整示例开始,把依赖锁、测试输入与断言一起保存;本文没有声称完成五套 SDK 的运行基准。

最终选择

先用硬约束淘汰不适用的语言、部署和许可方案;再用同一故障验收检查恢复、权限与状态;最后比较团队维护成本。需要完整图控制时可从 LangGraph 或相应工作流框架试起,重视角色任务表达时可试 CrewAI,已有特定生态则优先检验其集成优势。不要把起点建议写成“唯一正确方案”。