到 2026 年中,"该用哪个 Agent 框架"这个问题已经被问错了。真正决定一个 Agent 系统 fate 的,不再是框架的名字,而是循环(loop)的归属权——谁来发起一轮调用、谁来决定何时停步、谁来在崩了之后从断点接续。本文以 2026 年六月刚刚定盘的六大框架(Claude Agent SDK、Strands Agents、LangGraph、OpenAI Agents SDK、CrewAI、AG2)为样本,把它们归纳为四种"控制权内核",并用同一道试金石——可恢复性(resilience & resume)——去戳穿每种内核最典型的崩溃模式与变现边界。
把任何一篇写于 2026 之前的对比文丢掉吧,下面的版本号与时间线才是真相。微软 Agent Framework 1.0 于 2026 年 4 月 3 日正式 GA,把 AutoGen 与 Semantic Kernel 合并成同一套 .NET/Python SDK,同时原生支持 MCP 与 A2A;这意味着曾经三足鼎立的微软系已经收口为单引擎。AG2 作为 AutoGen 进入维护模式后的社区续命体,在 v0.12 引入了基于 MemoryStream 的事件驱动架构,把"会话历史"升级成了可重放的 pub/sub 流。
Claude Agent SDK(原 Claude Code SDK)在 2026 年初改名,并从 6 月 15 日起将订阅额度切成两本账——Agent SDK 与非交互式 claude -p 单独从一个"Agent SDK 月度额度"扣费(Pro $20 / Max 5x $100 / Max 20x $200),用尽即停或回退到标准 API 价,不滚存。这是第一次有厂商对"循环本身"单独计价,等于在经济学层面承认了"运行时即内核"。
CrewAI 跑到 v1.14.6,GitHub 星标 5.24 万,过去 12 个月执行了约 20 亿次 Agent 任务;LangGraph 月下载量突破 4700 万,Klarna、Uber、LinkedIn 都在生产上跑它;Strands Agents 是 AWS 2025 年开源、如今 1.34+ 的极简派,靠"模型即循环"和语义检索工具表在 Bedrock 生态站稳。协议层也在 2026 收敛:ACP 并入 A2A 交由 Linux Foundation 托管,MCP 跨过 200 个服务器实现。框架问题已不再是"用不用",而是"你愿意把控制权交给哪一种内核"。
| 维度 | Claude Agent SDK | Strands Agents | LangGraph | OpenAI Agents SDK | CrewAI | AG2 |
|---|---|---|---|---|---|---|
| 控制权内核 | 运行时即循环 | 模型即循环 | 图即循环 | 协议(交接)即循环 | 角色(声明)即循环 | 事件即循环 |
| 状态模型 | Session 持久环境 | 对话历史 | 类型化状态图+reducer | 上下文变量+会话 | 任务上下文+共享内存 | MemoryStream 流 |
| 持久化 | 内建,Session 自动续跑 | 手动(DynamoDB/S3) | Checkpointer(mem/SQLite/PG) | 2026 新增会话级 | 手动(文件) | 事件重放 |
| 人在回路 | 事件流中断 | 自定义工具 | 一等公民 interrupt() |
Harness 审批回调 | 自定义工具 | GroupChat 管控 |
| 多步任务准确率 | 92% | 89% | 94% | 90% | 87% | 91% |
| 单任务 token 成本 | $0.15 | $0.10 | $0.08 | $0.11 | $0.12 | $0.45 |
| 模型可移植性 | 仅 Claude | 多家(Bedrock/Anthropic/OpenAI/Ollama) | 任意(LangChain) | OpenAI 兼容 | 多模型 | 多模型 |
| License | 专有 SDK | Apache 2.0 | MIT | MIT | Apache 2.0 | Apache 2.0 |
Strands 的赌注最激进:只给 Model、Tools、Agent 三个原语,所有规划与路由决策全部下放给 LLM。底层是一个三阶段事件循环——模型生成响应、框架解析函数调用、把工具结果回喂——直到模型只产出纯文本为止。
from strands import Agent
from strands.tools import tool
@tool
def get_weather(city: str) -> str:
"""Get current weather for a city."""
return f"72F and sunny in {city}"
agent = Agent(tools=[get_weather])
agent("What is the weather in Seattle?")
优点是"无可调试的框架魔法"——没有图、没有状态 schema、没有路由逻辑,代码即真理;缺点同样致命:循环的稳定性完全等于模型本身的稳定性,模型一抽风,整个 Agent 抽风,而你没有图可以回放定位。它的杀手锏是内建 Retrieve 工具用语义检索在数千个工具里动态挑选——这是它在企业微服务海里的护城河。变现评估:极适合做"Bedrock 原生训练营",门槛最低、出活最快,但客单价受限于"没有复杂编排"带来的护城河浅。
LangGraph 把 Agent 工作流建模成带显式状态的有向图,节点是函数,边是路由,reducer 定义并发写同一状态键时的合并规则。compile(checkpointer=...) 一调,可中断、可检查点、可从任意节点回放重跑——这就是著名的"time travel"调试。
from langgraph.graph import StateGraph
from langgraph.graph.message import add_messages
from typing import Annotated
class AgentState(TypedDict):
messages: Annotated[list, add_messages]
current_step: str
g = StateGraph(AgentState)
g.add_node("planner", planner_node)
g.add_node("executor", executor_node)
g.add_edge("planner", "executor")
g.add_conditional_edges("executor", route_after_execution)
app = g.compile(checkpointer=MemorySaver())
优点是状态管理最精密、interrupt() 让人在回路一等公民、生产履历最深;缺点是设计前置成本高,简单任务纯属过度工程。多步任务准确率 94% 居首、单任务 $0.08 最省,靠的就是确定性图压制了模型自由度。变现评估:最适合包装成"企业级可审计 Agent 训练营",因为有 reducer/checkpoint/interrupt 这套硬核词汇撑住客单价,且 Klarna/Uber 的背书是最好的招生素材。
它把每个 Agent 当成一个有状态、沙箱化的运行时而非函数链:Agent 封装模型与工具,Environment 是配置好的容器模板,Session 是环境里跑着的、跨轮持久化的实例,Events 是你与 Agent 之间的事件流。
from claude_agent_sdk import Agent, Session
agent = Agent(
model="claude-sonnet-4-20250514",
system_prompt="You are a data analysis assistant.",
tools=[read_csv, plot_chart, query_database],
mcp_servers=["filesystem", "postgres"],
)
async with Session(agent, environment="data-analyst-env") as session:
response = await session.send("Analyze Q1 revenue trends")
async for event in response:
print(event)
状态活在会话环境里——写盘的文件、设的环境变量、建的库都跨轮留存,最适合编码、数据分析这类"产生制品"的任务。代价是与 Claude 模型强绑定,不能换 GPT 或 Llama,且 6 月 15 日起循环本身被单独计价,跑 CI/定时任务必须为 Agent SDK 额度单独做预算。变现评估:适合做"Claude 原生编码 Agent 训练营",深度优势明显,但强绑定与额度账本会让对成本敏感的学员望而却步。
OpenAI 把多 Agent 建模成交接链(handoff chain):Agent A 把控制权交给 B,B 再交给 C,形成易理解、易调试的管线。它背后跑的是 Codex 同款 harness——把指令、工具、审批、追踪、续跑记账包在一起,支持长时运行与沙箱执行。
from agents import Agent, Runner, function_tool
@function_tool
def refund(order_id: str) -> str:
return f"Refunded {order_id}"
triage = Agent(name="Triage", handoffs=[billing])
billing = Agent(name="Billing", tools=[refund])
result = Runner.run_sync(triage, "我要退款 order_123")
优点是顺序交接极其直观、与 GPT/Codex 生态无缝、2026 年 4 月 harness 更新后追踪粒度到"工具审批/续跑/交接决策";缺点是交接本质上偏顺序,原生不支持并行 Agent 或图式路由,复杂拓扑要自己造轮子。变现评估:适合"客服/工单管线训练营",交接链天然映射支持分级与工单流转,叙事好讲,但天花板被"顺序"二字锁死。
CrewAI 走"角色驱动"路线:用 role/goal/backstory 三元组定义人格、用 expected_output 声明任务、把执行顺序交给框架。v1.14 已支持多模型混用、A2A 协议、MCP 适配与企业版 AMP 可视化编辑器。
from crewai import Agent, Task, Crew
researcher = Agent(role="Senior Market Researcher",
goal="Gather competitive intelligence",
backstory="10 years in tech analysis.", tools=[web_search])
research_task = Task(description="Research the 2026 agent landscape",
expected_output="A 2000-word analysis", agent=researcher)
writer = Agent(role="Technical Writer", goal="Write clearly")
write_task = Task(description="Write the blog post",
expected_output="SEO post", agent=writer, context=[research_task])
Crew(agents=[researcher, writer], tasks=[research_task, write_task]).kickoff()
优点是学习曲线最平、对非工程师最友好、原型出活最快;缺点是状态精细控制远不如 LangGraph,复杂编排容易黑盒。准确率 87% 垫底但延迟最低。变现评估:变现天花板最高——"角色化多 Agent"是给业务方讲故事最顺的范式,最适合做面向产品经理/运营的低代码训练营,招生面最广。
AG2 继承 AutoGen 的 GroupChat 自由对话范式,但用 MemoryStream 把它重构成了事件驱动、异步、可重放的架构。GroupChatManager 控制发言选择(轮询/LLM 选/自定义)与终止条件。
from ag2 import AssistantAgent, UserProxyAgent, GroupChat, GroupChatManager
coder = AssistantAgent(name="Coder",
system_message="Python expert", llm_config={"model": "gpt-4o"})
reviewer = AssistantAgent(name="Reviewer",
system_message="Code review expert")
executor = UserProxyAgent(name="Executor", human_input_mode="NEVER",
code_execution_config={"work_dir": "workspace"})
gc = GroupChat(agents=[coder, reviewer, executor], messages=[], max_round=12)
manager = GroupChatManager(groupchat=gc)
executor.initiate_chat(manager, message="Implement a FastAPI auth module")
优点是自由对话+代码执行的范式独一无二,研究、协作编码、教学仿真没有对手,v0.12 原生 MCP;缺点是延迟高、token 成本 $0.45/task 最贵——多轮自由讨论天然烧 token。变现评估:适合做"研究型/科研 Agent 训练营",人群窄但单价可拉高,靠"群智协作"的故事。
把"调研+写报告"这个任务分别交给六框架并中途 kill -9,差异瞬间暴露。Strands 崩了基本重跑——它没有检查点,状态全在对话历史里,进程一死,记忆归零。AG2 靠 MemoryStream 事件重放能续,但群聊顺序难复现,重放常跑偏。CrewAI 只能任务级 replay,粒度粗。OpenAI 靠 harness 的 resume 记账接续,但仅限顺序交接链。Claude Agent SDK 最特殊——Session 环境里的文件与数据库是真实落盘的,进程死了,制品还在,重启续跑最自然,这是"运行时即内核"的真正红利。LangGraph 最强——interrupt() 能在任意节点暂停等人审批,再从该检查点精确续跑,配合 LangGraph Studio 可逐节点回放、回滚。一句话:谁把状态做成了可检查点的一等公民,谁的恢复成本就最低;把状态塞进对话历史的框架,恢复就是重跑。
把六个框架压成四种内核,选型的本质就清楚了:
flowchart LR
Q["循环归谁掌控?"] --> A["模型即循环<br/>Strands"]
Q --> B["图即循环<br/>LangGraph"]
Q --> C["运行时即循环<br/>Claude Agent SDK"]
Q --> D["协议即循环<br/>OpenAI交接 / CrewAI角色 / AG2事件"]
A -.确定性低.-> R1["崩溃=重跑"]
B -.确定性高.-> R2["崩溃=检查点续跑"]
C -.制品落盘.-> R3["崩溃=环境续跑"]
D -.协同原语.-> R4["崩溃=任务/事件重放"]
| 你的约束 | 推荐 | 理由 |
|---|---|---|
| 已在 AWS + Bedrock,工具成百上千 | Strands | 极简+语义检索工具表+IAM 原生 |
| 需要可审计、可回放、复杂有状态工作流 | LangGraph | 检查点+interrupt+生产履历 |
| 只用 Claude,做编码/数据分析 | Claude Agent SDK | 沙箱环境+最深 MCP,但要为额度单独预算 |
| GPT 生态、顺序管线(客服/工单) | OpenAI Agents SDK | 交接链天然映射分级 |
| 非工程师团队、要快速出原型 | CrewAI | 角色声明最直观、变现叙事最好 |
| 研究型群智协作、代码 write-run-debug | AG2 | GroupChat 事件重放独一无二 |
2026 年的框架之争已经收敛成一个判断题:你的系统里,循环归谁掌控,以及崩了之后从哪里接续。 选模型即循环,换来自由但接受重跑;选图即循环,换来精密但接受设计税;选运行时即循环,换来制品持久但接受模型锁定与额度账本;选协议即循环,换来低门槛但接受粗粒度恢复。真正值钱的不是框架名字,而是你能否说清自己押注的是哪一种内核、以及它最典型的崩溃模式你能否兜得住。把这道判断题想透了,6 月 15 日那本新开的"循环计费账",你才知道该为它预留多少预算。
[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
