2026 年的 Agent 框架之战已经收敛。曾经由 LangChain 一家定义、AutoGen/CrewAI 等研究型项目点缀的草莽时代结束了——市场清点下来只剩六个玩家,且每一个背后都站着一家超大规模云厂商、一家前沿实验室或一个成型的开源社区:Claude Agent SDK(Anthropic)、Strands Agents(AWS)、LangGraph(LangChain)、OpenAI Agents SDK、CrewAI、AG2(AutoGen 的社区续命版)。
但真正决定你该选哪一个的,不是 Star 数、不是文档厚度,而是一条被绝大多数对比文章忽略的暗轴:决策权到底握在谁手里——是模型,还是你。这六个框架恰好沿着"模型自主度 ↔ 开发者控制度"这条光谱,从极左(Strands:把一切交给模型)到极右(LangGraph:你亲手画每一条边)排成一行。选错位置,轻则过度工程,重则失控塌方。本文沿这条光谱逐个拆解,给出每个框架的代码骨架、状态模型、变现面与适配场景。
flowchart LR
subgraph Model["🤖 模型主导 —— 把方向盘交给模型"]
S["Strands Agents\n三原语,模型自己路由"]
CR["CrewAI\n角色驱动,框架排程"]
CL["Claude Agent SDK\n模型+沙箱运行时"]
end
subgraph Mid["⚖️ 中间地带 —— 协议化交接"]
AG["AG2\n事件驱动群聊"]
OA["OpenAI Agents SDK\nHandoff 交接"]
end
subgraph Dev["✋ 开发者主导 —— 你画每条边"]
LG["LangGraph\n状态图+检查点"]
end
S --> CR --> CL --> AG --> OA --> LG
style S fill:#ffd6d6
style LG fill:#d6e5ff
这条光谱不是排序,而是哲学分野。Strands 的赌注是"模型已经够聪明,框架别添乱";LangGraph 的赌注是"复杂工作流必须可预测、可恢复,模型只是节点里的一个函数"。中间的四个框架,是在这两极之间寻找平衡点。
| 框架 / 版本 | 背书方 | 决策权归属 | 核心原语 | 状态模型 | 上手难度 | 变现潜力 |
|---|---|---|---|---|---|---|
| Strands Agents 1.34+ | AWS | 模型主导 | Model / Tools / Agent | 对话历史(消息列表) | ⭐ 极低 | 中(AWS 锁定) |
| CrewAI 1.14 | 开源社区 | 角色驱动(偏模型) | Agent / Task / Crew | 任务上下文+共享内存 | ⭐ 极低 | 高(内容流水线) |
| Claude Agent SDK | Anthropic | 模型+运行时 | Agent / Environment / Session / Events | Session 持久化(含文件系统) | ⭐⭐ 中 | 高(编码/数据分析 SaaS) |
| AG2 0.12 | 社区(AutoGen 续命) | 事件驱动群聊 | AssistantAgent / GroupChat / MemoryStream | 对话历史+MemoryStream | ⭐⭐⭐ 偏高 | 中(研究/教育) |
| OpenAI Agents SDK | OpenAI | Handoff 交接 | Agent / Handoff / Guardrail | 上下文变量+对话 | ⭐⭐ 中 | 高(客服/语音) |
| LangGraph | LangChain | 开发者主导 | StateGraph / Node / Edge / Reducer | 类型化状态图+检查点 | ⭐⭐⭐⭐ 高 | 极高(生产级编排) |
Strands 是这条光谱上最激进的"放权派"。它的核心论点只有一个——LLM 本身就该驱动 Agent 循环。框架只提供三个原语:Model、Tools、Agent,然后把所有的规划、路由、何时停,统统丢给模型决定。整个 Agent 的代码量可以短到令人发指:
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])
response = agent("What is the weather in Seattle?")
没有图定义,没有状态 schema,没有路由逻辑——这就是一个完整 Agent。底层是一个三阶段事件循环:模型生成响应 → 框架解析函数调用请求 → 工具结果回灌给模型,直到模型产出不含工具调用的最终文本。
优点:上手门槛全场最低,真正"30 行出 Agent";天然多模型(Bedrock/Anthropic/OpenAI/LiteLLM/Ollama 通吃);它对超大规模工具库的处理是亮点——内置 Retrieve 工具用语义搜索,从 6000+ 工具里动态召回最相关的几个,这正好命中企业级"一个 Agent 对接几百个微服务 API"的场景。
缺点:状态管理几乎为零,持久化要你自己接 DynamoDB/S3;模型一旦犯浑,框架没有结构化的拦截手段,调试"框架魔法"为零——因为你就是指望模型自己想明白。
变现评估:天然适合做 AWS 原生 SaaS(配 Bedrock + AgentCore 托管),但离开 AWS 生态护城河骤减。做训练营的卖点很足——"一堂课从零搭出会调工具的 Agent"是它最性感的招生文案。
CrewAI 走的是完全不同的路子——角色驱动编排。你不定义图、不定义事件循环,而是通过"人设"(role / goal / backstory 三元组)来定义 Agent,用带预期产出的 Task 来声明任务,剩下的执行排程交给框架。源数据称它能在 30 分钟内搭出一个多智能体系统,且在鲲鹏基准上比 AutoGen 快 30%–60%。
from crewai import Agent, Task, Crew
researcher = Agent(
role="Senior Market Researcher",
goal="Gather and analyze competitive intelligence",
backstory="10 years in tech market analysis.",
tools=[web_search, arxiv_reader], llm="gpt-4o")
research_task = Task(
description="Research the 2026 AI agent landscape",
expected_output="A 2000-word analysis with data support",
agent=researcher)
crew = Crew(agents=[researcher, writer], tasks=[research_task, write_task])
result = crew.kickoff()
v1.14 的关键升级在于多模型混搭(不同 Agent 可用不同 LLM,按能力优化成本)、A2A 协议支持(兼容 Google 的 Agent-to-Agent 协议,实现跨框架互通)、以及企业版 AMP(可视化工作流编辑器+实时监控)。
优点:业务侧友好度最高,非工程师也能看懂"研究员+撰稿人"的角色设定;最适合内容流水线、市场调研自动化这类天然多角色的业务。
缺点:相比 LangGraph,精细状态控制很有限;一旦工作流超出"线性任务链"的形态,它的抽象就开始捉襟见肘。它在光谱上的位置偏左——决策权名义上在框架,实质还是模型在演角色。
变现评估:六框架里训练营变现最顺的一个。角色驱动的叙事极适合包装成"AI 团队自动化"课程,企业内训和 ToC 知识付费都吃这个调性。
Claude Agent SDK 前身是 Claude Code SDK,2025 年底改名以反映它已进化成通用 Agent 运行时。截至 2026 年 4 月,它同时以 Python 包(claude-agent-sdk)和 npm 上的 TypeScript 包发布。架构围绕四个核心概念:Agent(封装模型/系统提示/工具/MCP 服务器/Skills)、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)
决定性特征:它把每个 Agent 当成一个有状态、有沙箱的运行时,而不是轻量的函数链。Session 在失败后自动恢复、维护工作目录、能在容器里执行代码。这让它在编码型 Agent、数据分析这类"需要持久环境状态"的任务上几乎无对手。它还有全场最深的 MCP 集成——毕竟 MCP 就是 Anthropic 联合发起的协议。
缺点:死死绑在 Anthropic 模型上,换不了 GPT 或 Llama。如果模型可移植性是你的硬需求,直接出局。
变现评估:编码/数据分析 SaaS 的理想底座,Claude Managed Agents 提供托管+容器沙箱。训练营方向适合做"AI 程序员/数据分析师"这类高客单价产品。
Microsoft 在 2025 年底把 AutoGen 切入维护模式后,社区核心成员分叉出 AG2,在保留 AutoGen 强大对话模式的同时引入了事件驱动的异步架构。v0.12 的核心是 MemoryStream 机制——基于 pub/sub 的异步 Agent 通信。
from ag2 import AssistantAgent, UserProxyAgent, GroupChat, GroupChatManager
coder = AssistantAgent(name="Coder", llm_config={"model": "gpt-4o"})
reviewer = AssistantAgent(name="Reviewer", llm_config={"model": "claude-sonnet-4-20250514"})
executor = UserProxyAgent(name="Executor", human_input_mode="NEVER",
code_execution_config={"work_dir": "workspace"})
group_chat = GroupChat(agents=[coder, reviewer, executor], messages=[], max_round=12)
manager = GroupChatManager(groupchat=group_chat)
executor.initiate_chat(manager, message="Implement a FastAPI user auth module")
它内置两智能体、群聊、嵌套、顺序对话四种模式,原生支持 Docker/本地沙箱执行 Agent 生成的代码,并标准化了 Agent Harness 生命周期(Discover → Plan → Execute → Verify)。GroupChat 是它独有的杀手锏——多个 Agent 自由讨论达成共识的场景,别家做得都很别扭。
缺点:学习曲线偏陡,调试异步事件流门槛高;GroupChat 的 max_round 一旦设大,token 消耗和延迟都会爆炸。
变现评估:研究工作流、协作编码(写+审+执行)、教育模拟的优选。它偏学院派,训练营调性要往"前沿研究复现"靠。
OpenAI Agents SDK 由实验性 Swarm 项目进化而来,核心原语刻意保持简单:Agent / Handoff / Guardrail。定义性模式是 Handoff——一个 Agent 通过产出 handoff 把控制权转给另一个 Agent,接收方带着完整上下文接管对话。这天然映射到客服、分层支持这类"专业边界清晰"的场景。
from agents import Agent, Runner
triage_agent = Agent(
name="Triage",
instructions="Route the user to the correct specialist.",
handoffs=[billing_agent, technical_agent, general_agent])
result = Runner.run_sync(triage_agent, "I was double-charged last month")
2026 年 4 月的一次大升级引入了 harness 系统——正是驱动 Codex 的同一套脚手架。harness 用指令、工具、审批、追踪、恢复记账把模型包裹起来,使 Agent 能在被打断后续跑,并通过沙箱执行安全评估代码。它支持任何实现了 OpenAI Chat Completions API 的模型供应商,生态开放性比 Claude SDK 强。
优点:Handoff 心智模型简单清晰,客服/语音场景几乎开箱即用;harness 让长时运行 Agent 第一次具备生产级可靠性。
缺点:Handoff 是单线交接,复杂的多对多协作不如 LangGraph 的图表达力强;多智能体编排能力相对克制。
变现评估:客服自动化与语音 Agent 是它的舒适区,toB 销售线索路由、分层客服系统是高价值切入点。
LangGraph 已从 LangChain 子库进化成采用最广的 Agent 编排框架,月下载量据称超 4700 万。它的架构与其余几家根本不同——把 Agent 工作流建模为带显式状态的有向图。
from langgraph.graph import StateGraph
from langgraph.graph.message import add_messages
from typing import TypedDict, Annotated
class AgentState(TypedDict):
messages: Annotated[list, add_messages]
current_step: str
graph = StateGraph(AgentState)
graph.add_node("planner", planner_node)
graph.add_node("executor", executor_node)
graph.add_node("reviewer", reviewer_node)
graph.add_edge("planner", "executor")
graph.add_conditional_edges("executor", route_after_execution)
graph.add_edge("reviewer", "planner")
app = graph.compile(checkpointer=MemorySaver())
你定义工作流的精确拓扑:每个节点是一个读写类型化状态对象的函数,边可以是条件边以支持分支和循环。状态在每一步都被检查点化,带来扛得住崩溃和重启的持久执行。interrupt() 原语能在任意节点暂停等待人工审批,再从该检查点精确恢复——这是全框架里最成熟的人机回路支持。reducer 机制还能让你精确定义并发更新同一状态键时如何裁决,这对并行多智能体至关重要。
优点:控制力全场最强,"裸金属"级编排引擎;持久执行+人机回路让它在生产环境(Klarna、LinkedIn 量级)最扛打。
缺点:你必须亲手设计每条边、每个条件分支、每次状态转移,对简单场景就是过度工程;学习曲线最陡。
变现评估:生产级复杂工作流的唯一答案。训练营方向走"企业级 Agent 架构师"高阶路线,客单价能拉满。
状态管理是六框架分歧最尖锐的地方,也最直接反映其控制权哲学:
| 能力 | Claude SDK | Strands | LangGraph | OpenAI SDK | CrewAI | AG2 |
|---|---|---|---|---|---|---|
| 状态形态 | Session 环境 | 消息列表 | 类型化状态图+reducer | 上下文变量 | 任务上下文+共享内存 | 对话+MemoryStream |
| 持久化 | 内置 session 存储 | 手动(DynamoDB/S3) | Checkpointer API | 2026 新增 session | 手动(文件) | 手动(Redis/文件) |
| 持久执行 | Session 自动恢复 | 开发者自管 | 内置持久执行 | harness 恢复记账 | 有限(任务重放) | MemoryStream 事件重放 |
| 人机回路 | 事件流中断 | 自定义工具实现 | 一等公民 interrupt() | harness 审批回调 | 自定义工具 | GroupChat 管理 |
LangGraph 在状态复杂度上断崖式领先;Claude SDK 把状态塞进 session 环境本身(写到磁盘的文件、设的环境变量、建的数据库都跨轮存活),不如 LangGraph 结构化,但对"产出制品"的任务更自然;Strands 故意轻装——少框架魔法意味着少调试地狱,这是它的特性而非缺陷。
MCP 已成 2026 年 Agent-工具互操作的事实标准,六家都支持,但深度各异。Claude SDK 一方集成最深(协议亲儿子,MCP 服务器直接挂在 Agent 定义上);Strands 把 MCP 服务器当一等工具供应商;OpenAI 在 2025 年加入 MCP;LangGraph 经 LangChain 适配层接入。Strands 的语义搜索式工具召回(从 6000+ 工具里动态筛选)是大规模工具库场景的破局点。
flowchart TB
U["用户任务"] --> M{"谁做决策?"}
M -- "模型自主" --> SL["Strands/CrewAI\n模型自己选工具、定顺序、判停止"]
M -- "协议交接" --> MD["OpenAI Handoff / AG2 群聊\n按专业边界转移控制权"]
M -- "开发者编排" --> LG["LangGraph\n每条边/每个分支你定义"]
SL --> TOOLS["工具层 / MCP 服务器"]
MD --> TOOLS
LG --> TOOLS
TOOLS --> STATE{"状态如何持久化?"}
STATE -- "Session 运行时" --> CS["Claude SDK / OpenAI harness"]
STATE -- "检查点图" --> CP["LangGraph Checkpointer"]
STATE -- "手动接线" --> MN["Strands / CrewAI / AG2"]
style M fill:#fff3cd
style STATE fill:#fff3cd
1. 30 分钟搭出能跑的多 Agent Demo → CrewAI。 角色驱动+最平滑的学习曲线,演示和快速验证的不二之选。
2. 全 AWS 生态、要接几百个微服务工具 → Strands Agents。 语义搜索工具召回 + Bedrock/AgentCore 原生集成,云厂商绑定换来了上手中最低的心智负担。
3. 编码型/数据分析型 Agent → Claude Agent SDK。 Session 级沙箱运行时 + 全场最深 MCP,是"AI 程序员"类产品的天然底座——前提是你接受 Anthropic 模型锁定。
4. 客服分层/语音转接 → OpenAI Agents SDK。 Handoff 机制几乎是为分层客服量身定做的,harness 让长时运行 Agent 首次具备生产可靠性。
5. 研究复现/多 Agent 自由讨论共识 → AG2。 GroupChat 模式处理"多智能体自由协商"独此一家,事件驱动适合代码执行密集的研究工作流。
6. 生产级复杂工作流、要扛崩溃恢复、要严格人机审批 → LangGraph。 唯一的答案。reducer、检查点、interrupt() 三件套是其余五家都给不了的生产级弹药,代价是你必须亲手设计整张图。
一句话决策法则:能容忍模型偶尔犯浑、追求最快上线,往光谱左侧走(Strands/CrewAI);要可预测、可恢复、可审计的工业级流程,往右侧走(LangGraph);专业边界清晰的服务类场景,停在中段(OpenAI/AG2);编码和数据分析这种"产出制品"的任务,单独选 Claude SDK。决策权的归属一旦定错,后面的架构、招聘、成本结构全跟着错位——这才是 2026 框架选择真正的分水岭。
[!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 等场景全覆盖。
