[控场AI]
· 8 分钟阅读· 4,331 字

ADK vs LangGraph vs OpenAI/Claude SDK:功能趋同,崩溃时见真章

ADK vs LangGraph vs OpenAI/Claude SDK:功能趋同,崩溃时见真章

十大Agent框架功能趋同,真正的差异在崩溃恢复、循环归属与锁定风险。

文章横向梳理了10个主流AI Agent框架,指出它们在功能上已高度趋同:都提供模型选工具、读结果、继续跑的核心循环,都通过MCP连接工具,大多支持人类审批、Agent Skills和harness。真正的差异出现在工程层面。崩溃恢复方面,几乎所有框架默认内存状态,持久化需手动开启;而支付等外部副作用无法与状态保存原子化,通用解法是给每个动作加幂等键。循环归属上,多数框架把循环跑在用户进程内,Claude Agent SDK则每个会话一个进程。锁定方面,Claude Agent SDK只支持Claude模型,ADK的搜索工具绑定Gemini,OpenAI SDK默认把trace发给OpenAI。五家巨头正推出托管运行时,锁定正从框架转向记忆、会话、身份与权限。作者建议选一个能删掉的框架,并保持工具、技能和trace可移植。

当Agent崩溃时,你的退款会不会付两次?

一个AI Agent批准了客户的退款。然后服务器崩溃了。重启之后,客户会收到一次钱,还是两次?

这不是段子。OpenAI的文档写得明明白白:批准一次工具调用,并不保证它只执行一次。支付可能已经完成,而保存的状态里没有任何记录。Google的ADK则警告,恢复运行时,工具可能被执行多次。LangGraph的做法是从头重跑被中断的那一步。

据YouTube频道对10个主流Agent框架的横向梳理,2026年的真实故事是:纸面上,这些框架的功能已经高度趋同;真正拉开差距的,是出事的那一刻。而且有一个枯燥的老办法,在所有框架里都管用。

manages what the model sees

十个框架,同一套核心循环

这次对比覆盖了从Google ADK、LangGraph到OpenAI和Claude SDK的10个框架。作者抛出了三个问题:崩溃时会发生什么?谁在跑循环?你被绑定得有多深?

先看谁在用。Stack Overflow 2026年的调查显示,LangChain领先,其后是OpenAI SDK、LangGraph和Google ADK。但下载量讲的是另一个故事:在PyPI上,AWS的Strands下载量是OpenAI SDK的两倍多,可在调查中只有4%的人用过它。下载量统计的是机器,不只是人,别照着榜单选型。

真正的意外是:每一个框架都给你同一套核心循环——模型选工具、读结果、继续跑,直到完成。大家都通过MCP连接工具,都能暂停等待人类审批,大多数已经支持加载Agent Skills(一堆指令文件夹,Agent只在需要时读取),大多数还配上了harness。用AWS的话说,模型是大脑,harness是身体:它执行工具、管理模型看到的内容、保存状态、从失败中恢复。

harness重要吗?在一项学术基准测试中,同一个模型只换harness,分数波动可达24分。但作者没有找到这10个框架之间独立的头对头测试。所以在功能表上,这10个看起来几乎一模一样。

MCP(Model Context Protocol) 是由 Anthropic 提出、现由 Linux 基金会托管的一项开放协议,用于让 AI 模型以标准化方式连接外部工具和数据源。它定义了工具发现、调用和结果返回的统一接口,因此 Agent 框架不必为每个工具单独写适配器。MCP 服务器可以独立部署,任何支持该协议的客户端都能复用,这使其成为工具可移植性的关键基础——换框架时工具层通常无需重写。文章提到“大家都通过 MCP 连接工具”,正是说明工具接入层面已趋于标准化。

Agent Skills 是一组按需加载的指令和知识文件夹,Agent 只在遇到相关任务时才读取对应内容,而不是一次性塞进上下文。它本质上是把领域知识以文件形式外置,既节省 token,也让知识可以跨框架迁移。文章指出大多数框架已支持加载 Skills,并将其列为“能带走”的资产之一。

Harness 指包裹在模型之外的运行外壳,负责执行工具调用、拼装上下文、维护状态和处理失败恢复。AWS 将其比喻为“身体”,模型是“大脑”。文章引用学术基准说明同一模型仅更换 harness 分数波动可达 24 分,凸显其在工程实践中的分量。

问题一:进程中途死掉会怎样?

几乎所有的框架默认都是内存状态,一崩,这次运行就没了。持久化是需要你主动打开的开关。即便打开了,LangGraph默认在后台逐步保存,其文档警告崩溃时仍有小概率丢失一步——改一个设置就能解决。Claude Agent SDK把每个会话写进本地文件,所以新容器启动时是空的,除非你加上会话存储。OpenAI SDK和Pydantic AI把恢复交给Temporal这类引擎,后者能让长任务熬过崩溃。ADK可以恢复,但要你先打开。

关键的一点是:没有任何框架——甚至Temporal——能把"付钱给客户"和"记住已经付过"变成一步。因为支付发生在别处。

With most of these

办法又老又枯燥:给每个动作一个固定ID,比如退款单号。重试时发送同一个ID,支付系统自然会拒绝重复请求。这就是幂等键(idempotency key),OpenAI的文档也推荐这么做。

幂等键(Idempotency Key) 是分布式系统中保证操作重复执行不产生副作用的通用机制。客户端为每个业务动作生成一个全局唯一且稳定的标识(如退款单号),并在每次重试时携带同一个键;服务端记录已处理过的键,遇到重复请求直接返回首次结果而不再执行。之所以必要,是因为“执行支付”和“记录已支付”发生在两个独立系统,无法通过一个原子事务绑定,崩溃可能恰好落在两者之间。OpenAI 等支付与 API 文档均推荐此做法。在 Agent 场景中,幂等键应作为工具调用的固有参数,而非事后补救。

问题二:谁在跑循环?

大多数框架的循环跑在你自己的程序里,你像扩展普通代码一样扩展它。Claude Agent SDK不一样:它自己运行Claude Code,每个会话一个进程。你得到了Claude Code完整的harness,但同时跑一百个会话就是一百个进程。

框架之间还在互相套娃。Mastra可以插入用OpenAI或Claude SDK构建的Agent;Vercel的SDK可以把Claude Code或OpenAI的Codex当作Agent内部的引擎。

问题三:你被绑定得有多深?

Claude Agent SDK官方只支持Claude模型。ADK接受其他模型,但它的Google搜索工具需要Gemini。OpenAI SDK默认用OpenAI模型,默认把trace发给OpenAI,除非你关掉。其余的大多模型中立,切换基本只是改个模型名。

稳定性也参差不齐。OpenAI和Claude的SDK还停留在0.x版本。Google在v2围绕图引擎重建了ADK,一些旧的自定义代码现在被静默忽略。10月16日,微软更新了AutoGen页面,宣布归档、不再提供安全修复;其继任者Microsoft Agent Framework在4月达到1.0。

注意,这三个问题全都关于管道,而不是功能。而管道,正是最大的几家AI公司现在想替你跑的东西。

托管运行时的崛起与消失的框架

五家巨头——Anthropic、Google、AWS、微软、OpenAI——现在都提供替你跑Agent循环的服务。到目前为止,只有AWS的那项走出了beta或预览阶段。OpenAI说它替你处理会话、上下文和恢复;AWS说得更直白:不用写循环,用配置定义一个Agent。

框架厂商也在跟进。4月,LangChain的创始人写道,Anthropic的托管Agent把"几乎所有东西都藏在API后面"。到了8月,LangChain就推出了自己的托管Agent,跑在它的开源harness上。

Only AWS's is out of beta or preview so far

钱也指向同一个方向。9月,Temporal以125亿美元估值融资——它服务的远不止Agent,但这个数字是LangChain最后一次公布的估值的十倍。11月30日,OpenAI关掉了它的拖拽式Agent构建器,距发布约14个月,同时关掉的还有其评估平台。你构建在上面的东西,可能会消失。

那么锁定在哪里?作者的判断是:越来越少在框架里,因为AWS、微软和LangChain都会托管用几乎任何框架构建的Agent。锁定发生在Agent周围堆积的东西:记忆、保存的会话、身份和权限。

什么能带走?作为MCP服务器的工具、作为Agent Skills的知识、通过A2A的Agent间调用、以及OpenTelemetry格式的trace。MCP、A2A和Skills现在都在Linux基金会有一个中立的家。

agent-to-agent calls over A2A

对未来一两年的预测:框架会变薄,更多Agent从配置开始,真正的战场转向运行时——那个让Agent活着、并持有其身份和记忆的层。什么能证明这个判断错了?如果一年后这些托管服务还卡在beta,或者一次大故障把团队赶回自己跑Agent。

A2A(Agent-to-Agent Protocol) 是一项让不同 Agent 之间相互发现、委派任务并交换结果的开放协议,同样已归入 Linux 基金会。它与 MCP 互补:MCP 解决 Agent 与工具的连接,A2A 解决 Agent 与 Agent 的协作。因为协议中立且独立于具体框架,基于 A2A 的调用关系在更换运行时后仍可保留,所以文章将其列为可携带资产。

OpenTelemetry 是云原生计算基金会下的可观测性标准,统一了 trace、metrics 和 logs 的采集与导出格式。在 Agent 场景中,一次运行涉及多次模型调用和工具执行,用 OpenTelemetry 记录 trace 可以不依赖特定框架的后台,迁移时观测数据仍可复用,这也是文章建议“保留自己的 trace”的技术依据。

到底该选哪个?

已经没有默认答案了。4月,ThoughtWorks写道,它不再把LangGraph视为每个Agent系统的默认选择。作者的建议是:

  • 不想自己跑循环:选托管服务,尽管大多还在beta。
  • 想要任意模型和完全控制:LangGraph或Pydantic AI,或Mastra、Vercel SDK。
  • 已经承诺给某一家厂商:用它自己的——OpenAI SDK、做编码Agent用Claude的、Google的ADK、AWS的Strands,或微软的(也是.NET的选择)。

无论选哪个,做三件事:给每个动作加幂等键;保持工具和技能可移植;保留自己的测试和trace。

作者的核心观点是:选一个你删得掉的框架。它正在变成Agent身上最短命的部分,把精力投到那些能活得更久的东西上。

分享:

相关推荐