2026年上半年,Agent框架领域发生了三件重塑格局的事件:Microsoft将AutoGen与Semantic Kernel合并为统一的Agent Framework 1.0(4月GA);ACP协议并入Google A2A,Agent间通信协议收敛为一;MCP服务器突破200+,成为事实上的工具访问标准。这三件事共同指向一个结论——框架间的差异已不在"能不能做",而在"怎么做"。本文从核心循环(Agent Loop)、记忆架构、工具链深度、协议支持四个维度,纵向解剖Claude Agent SDK、OpenAI Agents SDK、Google ADK、LangGraph、CrewAI、Smolagents、PydanticAI、Microsoft Agent Framework八个栈的内部构造,揭示每个栈的设计取舍与适用边界。
| 维度 | Claude Agent SDK | OpenAI Agents SDK | Google ADK | LangGraph | CrewAI | Smolagents | PydanticAI | MS Agent Framework |
|---|---|---|---|---|---|---|---|---|
| 语言 | Python, TS | Python, TS | Python, TS, Java, Go | Python, TS | Python | Python | Python | Python, .NET |
| 核心循环 | Hook+Subagent | Agentic Loop+Handoff | 层级Agent树 | DAG状态机 | Crew角色编排 | CodeAgent代码生成 | 单Agent验证循环 | 图编排引擎 |
| 记忆 | 会话管理+上下文压缩 | Session自动管理 | 检查点+状态回退 | 持久化检查点+Time-travel | 基础记忆 | 无内置持久化 | 无状态 | Session+中间件 |
| 工具链 | MCP原生(最深) | MCP+Hosted Tools | MCP适配器+100+连接器 | MCP适配器 | MCP原生+A2A | MCP支持 | 无MCP/A2A | MCP内置客户端 |
| A2A | ❌ | ❌ | ✅ 原生Agent Card | ❌ | ✅ 任务委托 | ❌ | ❌ | ✅ 1.0内置 |
| 多Agent | Subagent层级 | Handoff链式 | 层级树+图(2.0 Alpha) | 图节点编排 | Crew角色协作 | Manager+子Agent | ❌ 单Agent | 有向图编排 |
| Stars | ~8K | — | — | ~12K | ~46K | ~26K | ~16.5K | ~50K(合并) |
| 上手难度 | 中 | 低 | 中高 | 高 | 低 | 低 | 中 | 高 |
| 最佳场景 | 编码Agent/OS访问 | 语音/路由/轻量链 | 企业多语言/Google Cloud | 有状态工作流 | 快速原型 | 本地模型/研究 | 类型安全提取 | Azure生态/人机协作 |
Claude Agent SDK在2026年初从"Claude Code SDK"更名为"Claude Agent SDK",标志着其野心从编码助手扩展到通用Agent。其核心设计哲学是"给Agent一台电脑"——内置Bash工具、文件系统读写、Glob搜索,Agent直接操作操作系统级别的资源,无需开发者编写任何工具包装代码。
架构的核心是Hook+Subagent双层模型。Hook拦截Agent生命周期的关键节点(工具调用前、响应后、错误时),提供精确的行为控制。Subagent处理任务委派,每个子Agent拥有独立的上下文窗口和工具集。这种设计在生产环境中至关重要——无约束的Agent是安全隐患,而Hook+Subagent的组合让每个Agent的权限边界清晰可控。
from claude_agent_sdk import ClaudeAgent
agent = ClaudeAgent(
model="claude-opus-4-6",
mcp_servers={
"github": {"type": "http", "url": "http://localhost:3000/mcp"},
},
permission_mode="bypassPermissions",
max_budget_usd=5.0, # 单次会话预算上限
)
result = await agent.run("Fork this repo and fix the failing tests")
优势在于MCP集成的深度——200+服务器单行配置接入,是目前所有框架中最深的。内置的上下文压缩(Context Compaction)机制为长时间运行的Agent会话自动回收上下文窗口空间,这在实际编码Agent场景中是刚需。max_budget_usd参数提供硬性成本控制。
劣势是模型锁定——只能使用Claude系列模型,切换模型需重写工具Schema。缺乏A2A支持意味着无法与其他厂商的Agent互操作。仅支持Python和TypeScript,Java/Go团队无法直接使用。
编码Agent是目前最成熟的Agent商业化方向。Claude Agent SDK的"Agent即计算机"理念可直接包装为"AI全栈开发者训练营",核心卖点:从零构建能自主读代码、修Bug、提PR的编码Agent。训练营定价可在¥2,999-4,999区间,周期2-4周。
OpenAI在2025年3月发布Agents SDK作为Swarm的生产级替代品。核心原语极度精简:Agent(LLM+指令+工具)、Handoff(Agent间控制权转移)、Guardrails(安全校验)、Tracing(调试追踪)。
Handoff模型是整个生态中最干净的。当Agent A决定将任务委托给Agent B时,执行一个特殊工具调用transfer_to_agent_b,将控制权和对话历史一并传递。没有共享状态总线,没有消息队列——简洁即是设计目的。
Guardrails三层架构运行时与Agent执行并行。如果Guardrail失败,即使正在生成中也会立即停止执行。三种类型:输入Guardrail(验证用户消息)、输出Guardrail(验证最终响应)、工具Guardrail(包装单个工具调用)。
from openai import Agent, Handoff, Guardrail
triage = Agent(name="Triage", instructions="Classify the request")
specialist = Agent(name="Specialist", instructions="Handle complex cases")
triage.handoffs = [Handoff(agent=specialist)]
result = await triage.run(user_input, guardrails=[
InputGuardrail(check=harmful_content_check),
OutputGuardrail(check=factual_accuracy_check),
])
优势:Handoff模型最适合客服路由、分诊系统等线性流程。内置语音Agent支持(通过gpt-realtime+中断检测)是独有能力。GPT-5.x已适配,推理努力度可调。
劣势:无内置状态持久化——开发者需自行管理检查点。Handoff是线性链式,无法构建任意图拓扑。缺乏A2A支持。语音功能锁定OpenAI模型。
客服Agent+语音Agent是高需求方向。可包装为"AI客服自动化训练营",重点教Handoff路由设计和Guardrail安全策略。定价¥1,999-3,999。
Google ADK的核心论点是:Agent开发应该像软件开发一样。四语言SDK(Python、TypeScript、Java、Go)是最大的差异化——ADK Java 1.0和ADK Go 1.0均在2026年初发布,打破了Agent框架Python-only的局面。
架构采用层级Agent树。父Agent将任务委派给子Agent,每个子Agent拥有独立的工具集。to_a2a()函数从ADK Agent自动生成Agent Card(JSON能力描述),使外部Agent可以发现并调用。Agent Designer提供低代码可视化设计,原型阶段拖拽设计,然后平滑过渡到代码。
ADK 2.0 Alpha引入了图式工作流,支持条件分支、重试路径等复杂编排模式,是对LangGraph架构模式的回应。
from google.adk import Agent, SequentialAgent, ParallelAgent
researcher = Agent(name="Researcher", model="gemini-2.5-flash", ...)
writer = Agent(name="Writer", model="gemini-2.5-pro", ...)
pipeline = SequentialAgent(sub_agents=[researcher, writer])
result = await pipeline.run("Analyze Q1 earnings reports")
优势:最宽语言覆盖(Python/TS/Java/Go)。A2A原生支持最成熟。Vertex AI Agent Engine提供托管部署。OpenTelemetry分布式追踪集成。
劣势:对Google Cloud的依赖在生产部署中较重。MCP通过适配器接入,不如Claude SDK原生。社区规模小于LangChain/CrewAI生态。实际使用中报告工具调用循环问题(Agent陷入思考循环,5分钟烧掉$5)。
Java/Go企业团队是独特目标市场。可包装为"企业级Java Agent开发训练营",填补Java生态Agent开发的空白。定价¥3,999-6,999。
LangGraph将Agent建模为状态机。节点是函数,边是转移(条件或无条件),状态在每步后不可变并检查点化。这是你为Agent工作流添加分支、重试、人工审批门后仍能生存下来的框架。
持久化层是真正的差异化能力。MemorySaver、SqliteSaver、PostgresSaver在每次节点执行后检查点化状态。如果Agent在第7步崩溃,它从最后一个检查点恢复。Time-travel调试让你回滚到任意先前状态并以不同参数重放。
from langgraph.graph import StateGraph, END
def should_continue(state):
if state["retries"] > 3:
return "escalate"
return "retry"
graph = StateGraph(AgentState)
graph.add_node("agent", agent_node)
graph.add_node("tools", tool_node)
graph.add_conditional_edges("agent", should_continue)
graph.add_edge("tools", "agent")
app = graph.compile(checkpointer=PostgresSaver(conn_string))
优势:持久化检查点+自动崩溃恢复是唯一有"第7步失败怎么办"一级答案的框架。Time-travel调试无可匹敌。Human-in-the-loop门可插入任意节点。
劣势:对简单单Agent场景是过度工程。图设计需要更多前期架构思考。LangChain依赖带来整个抽象栈的重量。调试图状态转移比调试线性代码更难。
复杂工作流是高端方向。可包装为"生产级Agent工作流设计训练营",重点教状态机设计、检查点策略、崩溃恢复。定价¥4,999-7,999,面向有经验的开发者。
CrewAI将多Agent协作建模为团队。用自然语言定义Agent的角色、背景故事和目标,然后组装成Crew执行任务。Researcher收集数据→Writer起草内容→Reviewer检查质量。隐喻直观——这既是优势也是局限。
45,900+ GitHub Stars和520万月下载量,CrewAI是多Agent框架中最大的社区。v1.10.1原生支持MCP(通过crewai-tools[mcp])和A2A任务委托。框架自动管理连接生命周期、传输协商和工具发现。
from crewai import Agent, Task, Crew
researcher = Agent(role="Researcher", goal="Find latest data",
backstory="Expert data analyst", tools=[search_tool])
writer = Agent(role="Writer", goal="Create report",
backstory="Technical writer")
crew = Crew(agents=[researcher, writer],
tasks=[research_task, writing_task],
process=Process.sequential)
result = crew.kickoff()
优势:最快搭建原型——自然语言定义角色,小时级出Demo。原生MCP+A2A。日执行1200万Agent的生产验证。
劣势:角色扮演抽象带来性能开销(额外LLM调用用于"保持角色")。对执行流的控制不如图方案精确。调试多Agent交互不透明。仅Python。
Smolagents的核心理念:Agent生成Python代码调用工具,而非生成JSON工具调用。整个Agent逻辑约1,000行代码(agents.py)。CodeAgent编写Python代码片段直接调用工具,在复杂基准测试中比标准工具调用方法减少约30%的LLM调用。
两种Agent类型:CodeAgent(生成Python工具调用)和ToolCallingAgent(使用标准函数调用)。CodeAgent是默认且选择Smolagents的理由。代码在沙盒环境(E2B、Modal、Docker或Pyodide+Deno WebAssembly)中执行。
from smolagents import CodeAgent, HfApiModel, tool
@tool
def search_web(query: str) -> str:
"""Search the web for information"""
return search_results(query)
agent = CodeAgent(tools=[search_web], model=HfApiModel("Qwen/Qwen2.5-72B"))
result = agent.run("What are the latest Agent frameworks in 2026?")
优势:~1,000行核心逻辑,最容易理解和修改。代码生成Agent减少30% LLM调用。模型无关——本地模型、云API或任何LiteLLM支持的Provider。HuggingFace免费Agent课程。
劣势:无内置持久化或检查点。多Agent能力相比CrewAI/LangGraph基础。代码执行Agent比工具调用Agent攻击面更大。仅Python。
PydanticAI不是多Agent框架——它是单Agent类型安全框架,由Pydantic团队构建(OpenAI、Anthropic、Google、LangChain底层都依赖Pydantic验证)。设计哲学类似FastAPI:类型提示驱动一切,IDE在编写时而非运行时捕获错误。
三种结构化输出方法:Tool Output(工具调用产生类型化结果)、Native Output(模型生成匹配Schema的JSON)、Prompted Output(Schema注入指令,解析纯文本)。流式结构化输出+即时验证意味着数据边生成边验证。
from pydantic_ai import Agent
from pydantic import BaseModel
class AnalysisResult(BaseModel):
sentiment: float
topics: list[str]
summary: str
agent = Agent("openai:gpt-4o", result_type=AnalysisResult)
result = await agent.run("Analyze this quarterly report")
print(result.data.sentiment) # IDE自动补全,类型安全
优势:完全类型安全——IDE在编写时捕获错误。三种输出方法自动降级。流式结构化输出+实时验证。模型无关。
劣势:无多Agent编排。无MCP/A2A协议支持。仅Python。不适合复杂工作流(无状态持久化、无图执行)。
2026年4月3日GA的Microsoft Agent Framework是AutoGen与Semantic Kernel的合并体。四层架构:
从AutoGen的会话模型到图模型的转变是最关键的架构变更。AutoGen的GroupChat让Agent在聊天中讨论,但生产中不可预测——Agent可能主导对话、循环争论。新框架用显式有向图替代,每个节点是Agent或决策函数,边定义转移。
from agent_framework import AgentGraph, ChatCompletionAgent, Kernel
kernel = Kernel()
kernel.add_service(OpenAIChatCompletion(model_id="gpt-4o"))
researcher = ChatCompletionAgent(name="Researcher", kernel=kernel)
writer = ChatCompletionAgent(name="Writer", kernel=kernel)
reviewer = ChatCompletionAgent(name="Reviewer", kernel=kernel)
graph = AgentGraph()
graph.add_edge(researcher, writer)
graph.add_edge(writer, reviewer)
graph.add_conditional_edge(reviewer,
lambda r: researcher if "needs_revision" in r else None)
优势:DevUI浏览器调试器是目前最强的多Agent调试工具——可视化图、消息流、时间线回放。A2A 1.0内置+MCP内置客户端。Python+.NET双语言。Azure生态深度集成。12,000+组织已在生产中使用Semantic Kernel。
劣势:四层架构对简单用例是负担(单Agent需40-50行代码 vs CrewAI的15行)。Python+.NET但缺Java/Go/TS。文档因合并存在缺口。Azure中心化默认配置。
┌─────────────────────────────────┐
│ 显式控制(图/状态机) │
│ │
LangGraph ──────────────── MS Agent Framework │
(DAG+检查点) (有向图+DevUI) │
│ │
隐式编排 ────────────────── 显式编排 │
(角色/对话) (代码/图) │
│ │
CrewAI ──────────────────── Smolagents │
(角色扮演) (代码生成) │
│ │
│ 隐式控制(角色/对话) │
└─────────────────────────────────┘
2026年的协议层已收敛为两个活跃标准:
| 协议 | 方向 | 传输 | 状态 | 采用 |
|---|---|---|---|---|
| MCP | 垂直(应用→模型→工具) | JSON-RPC | 活跃,200+服务器 | Claude SDK/CrewAI原生,LangGraph/ADK适配器 |
| A2A | 水平(Agent↔Agent) | REST+Streaming | 活跃,吸收ACP | ADK/CrewAI/MAF原生,其他无 |
| ACP | 水平(已合并) | REST-native | 已并入A2A | — |
关键洞察:MCP解决"Agent如何调用工具",A2A解决"Agent如何发现其他Agent"。两者正交,可同时使用。但A2A生态仍在早期——找到可互操作的第三方Agent仍然困难。目前A2A主要用于连接自己跨服务的Agent。
| 你在构建什么 | 推荐框架 | 理由 |
|---|---|---|
| 编码Agent/开发助手 | Claude Agent SDK | OS级访问+最深MCP+上下文压缩 |
| 客服路由/语音Agent | OpenAI Agents SDK | Handoff模型+语音支持+Guardrails |
| 企业多语言系统 | Google ADK | 唯一四语言+A2A原生 |
| 有状态工作流(审批/文档管道) | LangGraph | 唯一有崩溃恢复+Time-travel |
| 快速原型/概念验证 | CrewAI | 最快搭建+最大社区 |
| 结构化数据提取 | PydanticAI | 唯一类型安全+流式验证 |
| 本地模型/研究 | Smolagents | 最精简+代码生成减30%调用 |
| Azure生态/人机协作 | MS Agent Framework | DevUI+LTS+Azure深度集成 |
实际生产中,单一框架难以覆盖所有需求。最常见的混合模式:
如果你今天必须选择且不能换,决策树如下:
需要多语言(Java/Go)?
├── 是 → Google ADK
└── 否 → 需要OS级访问?
├── 是 → Claude Agent SDK
└── 否 → 需要崩溃恢复?
├── 是 → LangGraph
└── 否 → 需要最快出原型?
├── 是 → CrewAI
└── 否 → Azure生态?
├── 是 → MS Agent Framework
└── 否 → OpenAI Agents SDK
[!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 等场景全覆盖。
