到第 24 篇为止,这个系列的主角始终是 LangGraph:State 设计、控制流、人机协同、持久化、流式,八篇核心加 RAG 与 MCP 一路深潜。深潜有代价——视角变窄,手里拿着锤子,看什么都像钉子。本篇是系列第 25 篇、第五模块“进阶架构”的中篇,把镜头拉回行业高度:2026 年 10 月,主流 Agent 框架各自站在哪里,以及那个更扎心的问题——什么时候不该用 LangGraph。
本文按“对比维度 → 四家主力逐一过招 → 新锐三家 → 选型决策树 → MCP 对框架锁定的削弱 → 总结与练习”组织。丑话说在前面:这是一篇有立场的对比文,和稀泥的结论不值得你花 20 分钟阅读。
1、对比维度先行
对比文最常见的死法是变成粉丝骂战:各自甩出 hello world 行数与 star 数,然后不欢而散。解药是先钉死维度,再让框架上桌。先看格局——2026 年 10 月七位选手的版本与生态位,正好呼应第 1 篇的地图:
| 框架 | 当前版本 | 生态位 |
|---|---|---|
| LangGraph | 1.2.16 | 生产级状态工作流,控制粒度最细 |
| CrewAI | 1.15.28 | 角色协作式多 Agent,原型最快 |
| OpenAI Agents SDK | 0.24.0 | 极简循环,OpenAI 生态最短路径 |
| 微软 Agent Framework | 1.0 | AutoGen 与 Semantic Kernel 合流 |
| Pydantic AI | 2.59.0 | 类型优先,模型无关 |
| Google ADK | 2.0 | Gemini 生态配套,多云宣称 |
| Mastra | 高频发版 | TypeScript 全栈全家桶 |
版本号本身已是第一条信息:LangGraph 与 Pydantic AI 进入稳定大版本时代,微软 Agent Framework 刚过 1.0 GA,OpenAI Agents SDK 发布一年半仍停在 0.x——七家不在同一条成熟度刻度上,这比任何功能清单都诚实。
评判维度定为七个,每个对应选型时必问的一句话:
| 维度 | 核心问题 | 为什么重要 |
|---|---|---|
| 抽象层级 | 库、框架还是平台 | 决定要学多少概念 |
| 控制权 | 循环谁写、状态谁管 | 出事时能不能调试 |
| 状态管理 | 持久化与恢复是否内建 | 生产系统的生死线 |
| 工具生态 | MCP 是否一等公民 | 工具资产能否复用 |
| 可观测 | 有无内建 tracing | 排错成本 |
| 部署 | 自托管还是绑定平台 | 供应商依赖程度 |
| 许可证 | MIT/Apache 还是其他 | 商用合规 |
七个维度里,控制权的分量最重。框架替你做的事越多,上手越快;但你交出去的每一分控制权,都会在生产事故的深夜连本带利地讨回来。后文各家的差异,大部分都能折算到这一维上。
顺手拿抽象层级套一遍七家:LangGraph、Pydantic AI、OpenAI Agents SDK 是库级,嵌进你自己的应用进程,架构主动权还在你手里;CrewAI 与微软 Agent Framework 是框架级,自带一整套运行约定与工程脚手架;Google ADK 与 Mastra 则往平台延伸,SDK 之上还有托管与部署配套。层级越低越灵活,越高开箱越快——这条分界与控制权维度完全同构。
2、LangGraph 控制权天花板
LangGraph 的方法论是图即代码:流程建模为显式的图,节点是步骤,条件边管分支回环,Checkpointer 让执行随时可暂停、可恢复。第 12 篇那个“杀掉进程、会话原地满血复活”的实验,就是这套哲学的极限展示。近况也稳:1.2.0 给节点执行加了超时、错误恢复与优雅停机,写作时最新 1.2.16(2026 年 10 月中)——大版本稳定后更新全在打磨生产细节,这是“生产优先”该有的样子,细节见 LangGraph 官方文档。
代价同样真实。这个系列用了整整八篇才讲完它的核心面(第 6 到 13 篇),学习曲线不是传言。所以判断要旗帜鲜明:不该用 LangGraph 的场景,恰恰是大多数简单场景——流程是直线(一次检索一次生成)、循环只有一跳(一问一调一返回)、不需要中断与回放,这些用第 2 篇的 create_agent 甚至裸 while 循环就够了,上图纯属过度工程。LangGraph 的入场券是复杂度:状态要可见、流程要分支回环、执行要可中断可回放。付得起,它是控制权的天花板;付不起,它是纯负担。
3、CrewAI 原型速度的代价
CrewAI 的隐喻是剧组:Agent 是演员(role、goal、backstory 三件套),Task 是剧本,Crew 把两者装在一起。十行代码跑通“研究员写稿、编辑审稿”的多角色协作,这个上手速度至今没有对手。生态同样是硬通货:GitHub 4.7 万余 star,最新 1.15.28(2026 年 10 月中),定位已从“角色扮演多 Agent”改口为“企业级 Agent 构建与运行时”,可视化编排器还能把拖拽出的流程导出为 Python。文档见 CrewAI 官方文档。
代价浓缩成两个字:让渡。CrewAI 的执行循环、Agent 间通信、任务编排全由框架代管——你配置角色,它决定怎么跑。demo 阶段这是福利,生产阶段这是负债:第二个 Agent 为什么拿到了奇怪的记忆?答案在框架源码里,不在你的代码里。模型层由 LiteLLM 统一代理,llm="openai/gpt-5" 一个字符串就能切厂商,省心,但依赖链也长了一截。
我的用法建议:CrewAI 适合两件事——48 小时验证一个多 Agent 想法是否成立、给非技术同事演示协作概念。验证通过要上生产时,先问自己敢不敢把流程黑盒交给别人;不少团队的实际路径是 CrewAI 出原型、LangGraph 重写上线,这笔重写成本从第一天就该进预算。
4、OpenAI Agents SDK 极简与绑定
OpenAI Agents SDK 的哲学是把 Agent 缩到不能再小:核心只有 Agent、Handoff、Guardrail 三个原语,Session 管会话,Runner 跑循环,Python 与 TypeScript 双语言。20 分钟能学完全部概念,极简到什么程度看代码:
from agents import Agent, Runner
agent = Agent(
name="技术助手",
instructions="你是严谨的中文技术助手。",
)
result = Runner.run_sync(agent, "MCP 和 Function Calling 是一回事吗?")
print(result.final_output)
工具就是带类型注解与 docstring 的普通函数,挂进 tools 参数即可,与第 5 篇的 @tool 同构。Handoff 让 Agent 交接像函数调用一样直白,Guardrail 把输入输出校验做成内建模式——这两样在别家往往要自己拼。文档见 OpenAI Agents SDK 官方文档。
两个必须说破的事实。其一,2026 年 10 月版本停在 0.24.0——发布一年半没到 1.0,版本号本身就是工程信号:API 还会动,升级成本要计入预算。其二,“不绑定 OpenAI”只对了一半:模型层确实无关,任意兼容端点都能接;但 Tracing、沙箱、托管运行这些增值能力全指向 OpenAI 平台——SDK 免费,生态引力收钱。纯 OpenAI 栈的个人项目它是终点,多厂商生产系统请三思。
5、微软 Agent Framework 合流
微软的动作是把两代资产合流:AutoGen 贡献对话式多 Agent 的研究成果,Semantic Kernel 贡献企业级流程编排,2025 年 10 月合并为 Agent Framework;2026 年 2 月 19 日 RC,4 月初 .NET 与 Python 双端 1.0 GA。GA 公告里最重的一个词是长期支持承诺——七家里唯一敢白纸黑字写 LTS 的,对企业采购来说,这一条顶十条功能对比。时间线详见微软官方公告。
GA 后仍在加码:Build 2026 发布 Agent Harness 与 GitHub Copilot SDK 集成,Harness 已于 8 月 GA,Go 语言进入公开预览。它的编排核心 Workflows 是显式、确定性的状态机,与 LangGraph 的图模型神似,再加上 Azure 的合规与托管体系——微软栈企业把 Agent 嵌进现有系统,几乎不用犹豫。反向判断同样干脆:.NET 是一等公民,Python 略显二线;非微软技术栈的团队没有任何理由选它——不会有人为了一个 Agent 框架,把整个技术栈搬进 Azure。
6、新锐三家
三家新锐各占一个生态位。Pydantic AI 出自 FastAPI 团队,2026 年 6 月 23 日 v2.0 稳定,最新 2.59.0(10 月 20 日),发布节奏七家里最凶。立场写在名字里:类型优先——依赖注入、结构化输出、工具参数全用类型系统表达,v2 把 instructions、tools、hooks 统一成 capability 原语,且模型完全无关。它与 LangGraph 生态位重叠,选择本质是口味之争:要显式的类型,还是显式的图。团队是 FastAPI 背景、讨厌魔法——选它不会错,Pydantic AI 官网一行直达。
Google ADK(Agent Development Kit)2026 年完成多语言布局:Python 2.0、Java 1.0 GA(3 月底)、Go 2.0,并与 Gemini Enterprise Agent Platform 深度集成。多云与模型无关是官方口径,也部分属实——但一等公民永远是 Gemini 与 Vertex AI。已定 Google Cloud 的团队用它顺路;没定的团队选它,等于放着别家的原生集成不用,单买它一层抽象税。入口见 Google ADK 官网。
Mastra 是 TypeScript 阵营的答案:Apache 2.0 协议,agents、workflows、memory、workspaces 全家桶,2026 年中 star 破 2.4 万,发版极其密集,细节见 Mastra 官网。它承包的是“TS 全栈团队的一站式框架”——前端团队不用跨语言,就能把 Agent 织进 Next.js 应用。Python 团队则不必跨语言追它,生态位上,有它就够了。
7、选型决策树
把前六节压成一张决策树,从场景出发往下问,第一个命中的分支就是答案:
你的 Agent 是什么场景?
├─ 个人项目 / 技术验证
│ ├─ 模型只用 OpenAI ──────────▶ OpenAI Agents SDK
│ └─ 想要多角色协作演示 ────────▶ CrewAI
├─ 要上生产的复杂系统
│ ├─ Python 栈 ────────────────▶ LangGraph
│ ├─ TypeScript 全栈 ──────────▶ Mastra
│ └─ 团队有类型洁癖 ────────────▶ Pydantic AI
├─ 企业 .NET / Azure / Copilot ──▶ 微软 Agent Framework
└─ 已定 Google Cloud ────────────▶ Google ADK
注意 LangGraph 出现在“生产的复杂系统”分支里,而不是树根上——它是复杂系统的默认答案,不是所有项目的起点。第 1 篇说过“原型期选什么都行,上线前认真考虑 LangGraph”,现在你可以拿着七个维度的证据去验证这句话了。
提醒:选型讨论别超过一周。省下的时间拿去搭评测集——框架差异是小事,能持续证明 Agent 靠不靠谱的评测基建才是大事。
8、MCP 削弱框架锁定
最后一个战略问题:选错框架的代价有多大?第 19 到 21 篇讲透的 MCP 在这里给出了一半答案。工具层标准化之后,你写的每个 MCP Server——查库的、读文件的、调 GitHub 的——对七个框架一视同仁,LangGraph、CrewAI、Agents SDK、微软 Agent Framework 全部原生支持接入,工具资产已经不属于任何框架。
把切换成本拆开看会更清楚:模型层本就无关,各家都有统一接口;工具层被 MCP 抹平;观测层 OpenTelemetry 渐成标配。真正锁死你的只剩编排层与状态层——业务流程写在哪套 API 里,迁移就疼在哪里。结论反直觉但重要:2026 年做框架选型,心理负担应该比一年前低一个量级;只要守住“工具 MCP 化、评测独立化”两条底线,框架就退化为一个可更换的零件。
9、总结
一句话带走七家:LangGraph 用学习曲线换控制权,是复杂生产系统的天花板;CrewAI 原型最快,代价是流程黑盒;OpenAI Agents SDK 极简优雅,但仍在 0.x 且生态引力向 OpenAI;微软 Agent Framework 靠 LTS 承诺通吃企业 .NET;Pydantic AI 给类型洁癖者;Google ADK 服务 Gemini 生态;Mastra 承包 TS 全栈。比结论更长寿的是三条原则:维度比功能重要,控制权比行数重要,MCP 让工具资产保值。
练习:用 CrewAI 重写第 2 篇的 hello-agent,亲身体会“让渡”二字。uv add crewai 之后:
from crewai import Agent, Crew, Task
from crewai.tools import tool
from datetime import datetime
@tool("查询当前时间")
def get_current_time() -> str:
"""返回当前的本地时间"""
return datetime.now().strftime("%Y-%m-%d %H:%M")
assistant = Agent(
role="技术助手",
goal="准确回答用户的问题",
backstory="严谨的工程师,回答前先查证",
tools=[get_current_time],
allow_delegation=False,
)
task = Task(
description="现在几点了?",
expected_output="一句话报时",
agent=assistant,
)
print(Crew(agents=[assistant], tasks=[task]).kickoff().raw)
对照第 2 篇找三处不同:工具注册从 LangChain 的 @tool 换成 CrewAI 自家的装饰器,思路一致、约定不同;Agent 不再是“模型加工具”的显式组装,而是 role、goal、backstory 的戏剧化人设,模型默认由 LiteLLM 代理;再给 Crew 加 verbose=True 跑一遍,盯着它的执行日志——你会想念 LangSmith 每步可视化的确定感,那一刻你会真正理解“控制权”三个字值多少钱。
对于正在选型的团队,建议先用一周按第 7 节的决策树落子,同时把工具全部 MCP 化——无论最终选谁,这笔投资永不过时。下一篇离开框架之争,看前沿 Agent 形态:Deep Research、Computer Use 与代码 Agent 是怎么长出来的。


