<!-- title: 谁握方向盘：六框架自主度光谱 -->

## 概述

2026 年的 Agent 框架之战已经收敛。曾经由 LangChain 一家定义、AutoGen/CrewAI 等研究型项目点缀的草莽时代结束了——市场清点下来只剩六个玩家，且每一个背后都站着一家超大规模云厂商、一家前沿实验室或一个成型的开源社区：Claude Agent SDK（Anthropic）、Strands Agents（AWS）、LangGraph（LangChain）、OpenAI Agents SDK、CrewAI、AG2（AutoGen 的社区续命版）。

但真正决定你该选哪一个的，不是 Star 数、不是文档厚度，而是一条被绝大多数对比文章忽略的暗轴：**决策权到底握在谁手里——是模型，还是你**。这六个框架恰好沿着"模型自主度 ↔ 开发者控制度"这条光谱，从极左（Strands：把一切交给模型）到极右（LangGraph：你亲手画每一条边）排成一行。选错位置，轻则过度工程，重则失控塌方。本文沿这条光谱逐个拆解，给出每个框架的代码骨架、状态模型、变现面与适配场景。

## 控制权光谱总览

```mermaid
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 Agents（极左）：把方向盘彻底交给模型

Strands 是这条光谱上最激进的"放权派"。它的核心论点只有一个——**LLM 本身就该驱动 Agent 循环**。框架只提供三个原语：Model、Tools、Agent，然后把所有的规划、路由、何时停，统统丢给模型决定。整个 Agent 的代码量可以短到令人发指：

```python
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（偏左）：角色驱动，框架替你排程

CrewAI 走的是完全不同的路子——**角色驱动编排**。你不定义图、不定义事件循环，而是通过"人设"（role / goal / backstory 三元组）来定义 Agent，用带预期产出的 Task 来声明任务，剩下的执行排程交给框架。源数据称它能在 30 分钟内搭出一个多智能体系统，且在鲲鹏基准上比 AutoGen 快 30%–60%。

```python
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（中左偏模型）：Agent 即沙箱运行时

Claude Agent SDK 前身是 Claude Code SDK，2025 年底改名以反映它已进化成通用 Agent 运行时。截至 2026 年 4 月，它同时以 Python 包（`claude-agent-sdk`）和 npm 上的 TypeScript 包发布。架构围绕四个核心概念：**Agent**（封装模型/系统提示/工具/MCP 服务器/Skills）、**Environment**（指定包、网络、文件系统挂载的容器模板）、**Session**（环境内一个运行中的实例，跨轮保持状态）、**Events**（应用与 Agent 之间的消息流）。

```python
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 程序员/数据分析师"这类高客单价产品。

### 四、AG2（中）：AutoGen 续命，事件驱动群聊

Microsoft 在 2025 年底把 AutoGen 切入维护模式后，社区核心成员分叉出 AG2，在保留 AutoGen 强大对话模式的同时引入了**事件驱动的异步架构**。v0.12 的核心是 MemoryStream 机制——基于 pub/sub 的异步 Agent 通信。

```python
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（中右）：以 Handoff 为中心的交接

OpenAI Agents SDK 由实验性 Swarm 项目进化而来，核心原语刻意保持简单：**Agent / Handoff / Guardrail**。定义性模式是 Handoff——一个 Agent 通过产出 handoff 把控制权转给另一个 Agent，接收方带着完整上下文接管对话。这天然映射到客服、分层支持这类"专业边界清晰"的场景。

```python
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（极右）：你画每一条边的状态图引擎

LangGraph 已从 LangChain 子库进化成采用最广的 Agent 编排框架，月下载量据称超 4700 万。它的架构与其余几家根本不同——**把 Agent 工作流建模为带显式状态的有向图**。

```python
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 与工具集成：从 N×M 到协议化

MCP 已成 2026 年 Agent-工具互操作的事实标准，六家都支持，但深度各异。Claude SDK 一方集成最深（协议亲儿子，MCP 服务器直接挂在 Agent 定义上）；Strands 把 MCP 服务器当一等工具供应商；OpenAI 在 2025 年加入 MCP；LangGraph 经 LangChain 适配层接入。Strands 的语义搜索式工具召回（从 6000+ 工具里动态筛选）是大规模工具库场景的破局点。

```mermaid
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 框架选择真正的分水岭。

## 参考来源

1. [2026 AI Agent Framework Showdown: LangGraph vs CrewAI vs AG2 vs Claude SDK vs Strands vs OpenAI — QubitTool](https://qubittool.com/blog/ai-agent-framework-comparison-2026) — 六框架代码级基准对比，架构、状态管理、MCP 集成、多智能体编排逐项拆解（2026-05-21）
2. [Top AI Agent Frameworks in 2026: A Production-Ready Comparison — Towards AI](https://pub.towardsai.net/top-ai-agent-frameworks-in-2026-a-production-ready-comparison-7ba5e39ad56d) — 七大企业级维度横向对比
3. [AI Agent Frameworks 2026 Comparison Guide — Pharos Production](https://pharosproduction.com/insights/engineering/ai-agent-frameworks-comparison-2026/) — LangChain/LangGraph/CrewAI/AutoGen/OpenAI/Anthropic SDK 工程视角选型
4. [The best AI agent frameworks in 2026 — LangChain](https://www.langchain.com/resources/ai-agent-frameworks) — 厂商视角七框架评审（编排、可观测性维度）
5. [Best AI Agent Frameworks 2026: 7 Production-Tested Rankings — AliceLabs](https://alicelabs.ai/en/insights/best-ai-agent-frameworks-2026) — 按生产就绪度排名（LangGraph #1、Claude Agent SDK #2、CrewAI #3）

> [!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 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
