一、选错框架的代价
打开 GitHub,搜索 "AI agent framework"。你会看到至少 20 个框架,每一个都号称自己是「最适合生产环境的 Agent 解决方案」。
这不是 2024 年那个「要不要用框架」的问题了。Gartner 预测,到 2026 年底,40% 的企业应用将集成任务型 AI Agent------而 2025 年这个数字还不到 5% 1。问题已经变成:选哪个框架。
但这里有一个被严重低估的风险:选框架不是选工具,是签一份 12 个月的生产承诺 2。编排逻辑、状态管理、工具集成------这些代码和业务紧密耦合,一旦选定,迁移成本极高。选错了,6 个月后你不是在优化 Agent,而是在重写整个编排层。
本文将拆解 2026 年中最主流的八大 Agent SDK,不做功能清单罗列,而是深入到每个框架的架构决策层面------它在什么约束下做了什么选择,牺牲了什么,适合什么场景,在什么条件下会崩塌。
二、全景速览:八大 SDK 的设计哲学
在展开细节之前,先建立全局认知。这八个 SDK 的本质区别不在功能多寡,在于它们对一个根本问题的不同回答:谁来决定下一步做什么------代码还是 LLM?

| SDK | 编排模型 | 一句话定位 | Stars | 语言 |
|---|---|---|---|---|
| LangGraph | 有向状态图 | 用图的显式控制换取最高可预测性 | 14K+ | Python/TS/Java |
| CrewAI | 角色链 | 用角色三元组换取最快原型速度 | 52K+ | Python |
| OpenAI Agents SDK | Handoff 交接 | 在控制力和简洁性之间找平衡点 | 27K+ | Python/TS |
| Claude Agent SDK | 工具运行时 | 给 Agent 一台完整的计算机 | 7.3K+ | Python/TS |
| Google ADK 2.0 | 图执行引擎 | 用 A2A 协议推动跨框架互操作 | 20K+ | Python/TS/Go/Java/Kotlin |
| AWS Strands | 模型自驱动 | 三个原语,让 LLM 自己决定一切 | --- | Python |
| Mastra | 类型安全工作流 | TypeScript 生态的原生 Agent 框架 | 22.3K+ | TypeScript |
| smolagents | 代码生成 | 核心 1000 行,Agent 用写代码代替调工具 | 27.8K+ | Python |
(Star 数据截至 2026 年 7 月)
三、编排之争:四种范式的取舍
这是最根本的架构分歧。编排模型决定了你的 Agent 系统的成本结构、可调试性和天花板------它不是一个可以后期更换的「实现细节」,而是贯穿整个系统的结构性决策。
3.1 有向图------LangGraph 的「状态机路线」
一句话定位:把 Agent 工作流画成一张有向图,每个节点是一个操作,每条边是一个状态转移条件。
这就像地铁线路图------列车只能沿着轨道走,每个岔口有明确的信号灯。你用代码写路由逻辑(if/else),不需要 LLM 参与决策 3。
LangGraph 用 StateGraph 定义工作流,每个节点是一个函数,边决定数据怎么流转:
python
from langgraph.graph import StateGraph, START, END
from langgraph.types import interrupt
from typing import TypedDict, Annotated
from langgraph.graph.message import add_messages
class AgentState(TypedDict):
messages: Annotated[list, add_messages]
current_step: str
graph = StateGraph(AgentState)
graph.add_node("research", research_agent) # 研究节点
graph.add_node("analyze", analysis_agent) # 分析节点
graph.add_node("human_review", review_node) # 人工审核节点
graph.add_edge("research", "analyze")
graph.add_conditional_edges( # 条件路由------用代码,不用 LLM
"analyze",
route_by_confidence, # 置信度高→结束,低→人工审核
{"high": END, "low": "human_review"}
)
app = graph.compile(checkpointer=MemorySaver()) # 开启持久化
核心代价:代码量大。同样一个 ReAct Agent,LangGraph 需要约 120 行,smolagents 只要 40 行 13。你用样板代码换来的是完全可预测的执行路径和每一步可审计的状态快照。
适用边界:当你的工作流是「确定性的、有明确分支条件的、需要持久化和故障恢复的」时候,LangGraph 是最优解。但如果你的 Agent 需要高度自主的探索性行为------比如「自己想办法完成一个模糊的任务」------图的刚性反而成了约束。
3.2 角色链------CrewAI 的「团队协作路线」
一句话定位:定义角色(谁来做)和任务(做什么),框架自动处理协调。
这就像组建一个项目组------你指定研究员、写手、编辑各负责什么,他们按顺序或层级协作,你不用画流程图 4。
python
from crewai import Agent, Task, Crew, Process
researcher = Agent(
role="Senior Tech Analyst", # 角色
goal="Find accurate framework data", # 目标
backstory="10 years in tech analysis", # 背景故事
tools=[search_tool],
llm="claude-sonnet-4-20250514" # 可以混合使用不同模型
)
writer = Agent(
role="Technical Writer",
goal="Create insightful analysis",
backstory="Expert at developer content",
llm="gpt-4o" # 不同 Agent 用不同模型优化成本
)
crew = Crew(
agents=[researcher, writer],
tasks=[research_task, writing_task],
process=Process.sequential # 顺序执行
)
result = crew.kickoff() # 一键启动
核心代价 :角色三元组(role/goal/backstory)每次 LLM 调用都会被注入上下文,直接膨胀 Token 消耗 5。这是架构设计决定的------CrewAI 用 LLM 调用来做任务委派(「谁来做下一个任务」),而 LangGraph 用代码做这件事。这个差异在小规模下感知不到,放大到生产规模会变成真金白银。
适用边界:当你需要在一天内交付一个多 Agent 原型时,CrewAI 是最快的选择。但当任务变复杂(非线性分支、条件跳转),CrewAI 的抽象会漏水------你会发现自己在和框架搏斗,而不是在解决业务问题。
3.3 Handoff------OpenAI SDK 的「接力赛路线」
一句话定位:Agent A 做完自己的部分,通过 typed tool call 把接力棒传给 Agent B。
python
from agents import Agent, Runner
triage = Agent(
name="Triage",
instructions="Route to the right specialist.",
handoffs=[billing_agent, tech_agent] # 声明可以交接给谁
)
# 运行------Runner 自动处理 tool loop 和 handoff 切换
result = await Runner.run(triage, "I was double-charged")
简洁,但有一个隐藏成本:每次 Handoff 都传递完整对话上下文。3 次 Handoff 后,每个 Agent 看到的上下文已经累积了前面所有 Agent 的完整对话。短链高效,长链 Token 爆炸 3。
3.4 代码生成------smolagents 的「写代码路线」
一句话定位:LLM 不调用工具,而是直接写 Python 代码来执行操作。
传统 Agent 用 JSON 格式的 tool call(「调用 search 工具,参数是 xxx」),smolagents 让 LLM 直接输出可执行的 Python 代码 13。代码天然支持嵌套调用、变量复用和复杂逻辑------一个代码块能做到 JSON tool call 需要 5-6 轮才能完成的事。
核心代价:安全性。LLM 生成的代码直接执行,必须配合沙箱(E2B/Docker/Modal)。此外,代码生成对模型能力要求更高------小模型在代码质量上容易翻车。

四、六大主力 SDK 深入拆解
编排模型之外,还有几个关键的架构决策区分了这些框架。
4.1 Claude Agent SDK------「给 Agent 一台计算机」
被否决的替代方案:像 OpenAI SDK 那样提供空工具注册表,让开发者自己接入工具。
Anthropic 选了相反的路------内置 8 个工具(Read/Write/Edit/Bash/Glob/Grep/WebSearch/WebFetch),让 Agent 开箱即用就能操作文件系统、执行 shell 命令、搜索网页 6。这是所有 SDK 中唯一提供原生操作系统访问的方案。
这个决策的根源是 Claude Agent SDK 脱胎于 Claude Code------一个已经被数十万开发者使用的生产级编码工具。SDK 继承了它的整个运行时,包括 Session 持久化、Context Compaction(自动压缩长上下文)和 max_budget_usd(预算控制)7。
代价:与 Claude 模型深度绑定。虽然支持 AWS Bedrock、Google Vertex AI 等多云部署,但底层模型只能是 Claude。如果你需要在 GPT 和 Claude 之间灵活切换,这不是你的菜。
适用边界:编码 Agent(SWE-bench Verified 88.6%)3、数据分析、任何需要深度 OS 交互的场景。当你的 Agent 需要「像人一样使用电脑」时,Claude SDK 省去了大量工具开发工作。
4.2 Google ADK 2.0------协议先行者的稳定性困局
Google ADK 2.0 做了一个大胆的决策:从层级执行器过渡到图执行引擎,控制力直追 LangGraph 3。语言支持最广(Python/TypeScript/Go/Java/Kotlin),A2A 协议已有 50+ 合作伙伴。
但实测暴露了一个问题:复杂任务中 tool call 频繁失败,思考循环容易卡住 8。Cloud Run 冷启动 50-60 秒,对比 Strands 的 Lambda 5 秒冷启动,差距明显 9。
独立判断 :ADK 的最大价值不在 SDK 本身,而在 A2A 协议。当 Agent 间通信从框架内部问题变成跨框架互操作问题时,A2A 的意义比任何单个 SDK 都大。但 ADK 作为执行引擎,还需要至少 1-2 个季度来补齐稳定性短板。
4.3 AWS Strands------极简主义的赌注
Strands 的设计哲学可以用一句话概括:让 LLM 自己决定一切。三个原语(Model/Tools/Agent),没有图、没有角色、没有 Handoff。LLM 用 ReAct 模式(推理→行动→观察)自主循环 2。
这像是把方向盘完全交给自动驾驶------你只告诉它目的地(system prompt)和工具箱(tools),路线由它自己规划。
代价:可预测性和可调试性。没有可视化调试工具,必须程序化调试 9。当 Agent 行为不符合预期时,你没有 LangGraph 那样的状态快照可以回溯。

五、冷数据:Token、延迟、准确率
理论分析需要数据验证。以下数据来自多个独立基准测试的交叉比对 510。
5.1 Token 效率------被忽视的成本炸弹
在一个「orchestrator + 3 workers」基准测试中(Claude Opus 4.7),各框架的 Token 消耗差异惊人 10:
| 框架 | Token 消耗 | 单次成本 | 月均成本(1 万次) | 年化差异 |
|---|---|---|---|---|
| LangGraph | 18,500 | $0.35 | $3,500 | --- |
| Claude SDK | 22,000 | $0.42 | $4,200 | +$8,400 |
| CrewAI | 41,000 | $0.78 | $7,800 | +$51,600 |
LangGraph 和 CrewAI 之间的年化成本差异超过 5 万美元。原因很简单:LangGraph 用代码做路由决策(成本接近零),CrewAI 用 LLM 调用做任务委派(每次都消耗 Token)。
标准研究摘要流程循环 100 次的测试更直观:CrewAI 在编排层花费 $4.10 的 prompt tokens,LangGraph 接近零 5。
5.2 任务完成率
200 个任务的复杂度梯度测试(Qwen3 32B,2026 年 4 月版本)5:
| 复杂度 | LangGraph | CrewAI | OpenAI SDK | AG2 |
|---|---|---|---|---|
| 简单(1-2 工具调用) | 88% | 79% | --- | --- |
| 中等(3-5 工具调用) | 76% | 71% | --- | 68% |
| 复杂(8+ 步骤) | 62% | --- | --- | --- |
复杂任务是分水岭。LangGraph 的图状态机能优雅地处理失败节点重试,而缺乏显式控制流的框架在 8 步以上任务中的表现急剧下降。
5.3 延迟
编排层的固有延迟同样不可忽视 10:
- LangGraph:120ms/节点(代码路由,几乎只有函数调用开销)
- CrewAI:450ms/任务转换(需要一次 LLM 调用做委派决策)
对于 3 个并行任务的场景,CrewAI 在工作开始前就多花了 3 次 manager 调用。
六、生产基础设施:MCP/A2A 与可观测性
框架选好了,生产环境还缺什么?
6.1 MCP + A2A:正在收敛的双层协议栈
2026 年最重要的基础设施趋势是协议标准化 1112。两个协议解决不同层的问题:
- MCP(Model Context Protocol)------Agent 调用工具的标准接口,类似「USB-C for tools」。月下载量 9700 万+,所有主流框架都已支持 11。
- A2A(Agent-to-Agent Protocol)------Agent 之间发现、协商和交接任务的标准,类似「HTTP for agents」。150+ 组织参与,由 Linux Foundation 治理 12。
| 框架 | MCP 支持 | A2A 支持 |
|---|---|---|
| Claude SDK | 第一方(Anthropic 创建 MCP) | --- |
| LangGraph | 通过 LangChain 适配器 | --- |
| Google ADK | 原生支持 | 第一方(Google 提出 A2A) |
| CrewAI | 社区适配器 | v1.14 新增 |
| OpenAI SDK | v0.7 添加 | --- |
| Strands | 一等集成 | --- |
独立判断:短期内 MCP 的实际价值远大于 A2A。原因是大多数生产 Agent 还是单 Agent 或简单多 Agent 场景,工具互操作(MCP 解决的问题)是当下的刚需,而跨框架 Agent 协作(A2A 解决的问题)是下一个阶段的需求。但 A2A 的战略意义不容忽视------它可能决定 Agent 生态最终是封闭花园还是开放网络。
6.2 可观测性------隐性硬需求
如果你不能追踪 Agent 的每一步决策、每一次工具调用和每一个状态变化,你就不能在生产中运行它 14。
- LangSmith(LangGraph 生态):最成熟,支持完整状态转换追踪、可重放调试、成本追踪
- 内置追踪(OpenAI SDK/Claude SDK):开箱即用,但深度不及 LangSmith
- OpenTelemetry(Strands/ADK):标准化但需要自建分析管道

七、选型决策树
不再说「各有优劣」。根据你的具体约束条件,给出直接建议。
按团队规模
- 1-3 人团队 / 快速验证:CrewAI 或 smolagents。30 行代码出原型,先验证 Agent 是否解决了真实问题,再考虑框架迁移。
- 5-15 人工程团队 / 生产上线:LangGraph。学习曲线陡但值得------Klarna 用它服务 8500 万用户,降低了 80% 的平均解决时间 1。
- 大型企业 / 多语言团队:Google ADK(如果你在 GCP 上)或 Strands(如果你在 AWS 上)。平台绑定换来的是部署和合规的便利。
按技术栈
- Python + 需要最大灵活性:LangGraph(模型无关,工具生态最丰富)
- Python + 需要 OS 级操作:Claude Agent SDK(编码 Agent、数据分析首选)
- TypeScript / 全栈 Web:Mastra(原生 TS,集成 Next.js/React,部署 Vercel/Netlify)12
- 研究/实验 / 需要极简:smolagents(1000 行核心代码,代码生成范式)13
按场景
| 场景 | 推荐 | 原因 |
|---|---|---|
| 客服/工单路由 | OpenAI Agents SDK | Handoff 模式天然匹配分诊→专家路由 |
| 编码 Agent | Claude Agent SDK | SWE-bench 88.6%,内置 8 个开发工具 |
| 内容生产管线 | CrewAI | 角色模型自然映射:研究员→写手→编辑 |
| 复杂业务工作流 | LangGraph | 条件路由、持久化、人工审批全覆盖 |
| 语音 Agent | OpenAI Agents SDK | 唯一内置 Realtime API 的框架 |
| Serverless 场景 | AWS Strands | Lambda 冷启动 5 秒,部署最快 |
八、没有银弹,但有方法论
回到开头的问题:选错 Agent SDK 的代价是什么?
Reddit 上那些真正在赚钱的 Agent 给了一个出人意料的答案:「赚钱的 Agent 通常是小型、窄领域、'无聊'的应用------邮件转 CRM、FAQ 客服、简历解析」14。不是框架不重要,而是框架选择应该服务于业务约束,而不是技术审美。
2026 年的 Agent SDK 格局有一个被忽视的趋势:生产团队正在使用 2-3 个 SDK 的组合------用厂商 SDK(Claude/OpenAI)获取原生工具能力,用框架 SDK(LangGraph/CrewAI)做编排,用 AI Gateway 统一路由和监控 3。单一框架通吃一切的时代可能本就不会到来。
**核心判断:2026 年开发者的关键能力已经从「写 Prompt」转变为「设计协作机制」------定义角色边界、选择编排模型、设定交互规则。**框架是实现这个设计的工具,而不是设计本身。
如果你今天要做决定:从你最终要上线的那个框架开始,即使原型慢一点。「用 CrewAI 原型、用 LangGraph 生产化」听起来合理,但实际迁移成本比你想象的高------因为角色链和状态图是两种完全不同的思维模型,代码几乎无法复用。
方向已经明确。选一个,开始建。
参考资料
1 Best AI Agent SDKs Compared (2026) --- Requesty: www.requesty.ai/blog/best-a...
2 2026 AI Agent Framework Showdown --- QubitTool: qubittool.com/blog/ai-age...
3 Claude Agent SDK vs OpenAI Agents SDK vs Google ADK --- Composio: composio.dev/content/cla...
4 Multi-Agent 框架终极对比 --- 腾讯云开发者社区: cloud.tencent.com/developer/a...
5 CrewAI vs LangGraph vs AutoGen 2026: Benchmarks --- Pooya Blog: pooya.blog/blog/crewai...
6 OpenAI Agents SDK vs Claude Agent SDK --- Developers Digest: www.developersdigest.tech/blog/openai...
7 Claude Agent SDK vs OpenAI Agents SDK: I Built the Same Agent in Both --- Substack: elshadk.substack.com/p/claude-ag...
8 Claude Agent SDK vs OpenAI Agents SDK vs Google ADK --- Composio (实测部分): composio.dev/content/cla...
9 Google ADK vs AWS Strands --- TechAhead: www.techaheadcorp.com/blog/google...
10 LangGraph vs CrewAI: Multi-Agent Performance and Cost --- Markaicode: markaicode.com/vs/langgrap...
11 Agent Interoperability Protocols 2026 --- Zylos Research: zylos.ai/research/20...
12 The AI Agent Protocol Stack --- TURION.AI: turion.ai/blog/ai-age...
13 smolagents --- HuggingFace GitHub: github.com/huggingface...
14 What the AI-Agent Crowd on Reddit Is Arguing About --- DEV Community: dev.to/liv_melende...