到 2026 年中,Agent 框架的竞争轴已经悄悄换掉了。两年前大家在比"谁的功能清单更长"——多智能体、RAG、记忆、规划、监控全往里塞;现在生产线的工程团队在比的是一件更朴素的事:你和模型之间到底隔着几层抽象。
把市面上五个主流栈从底到顶拆开看,会得到一张清晰的层级图:L0 模型原语(tool calling / 流式)→ L1 Agent 循环(while + 工具分派)→ L2 委派原语(subagent / handoff)→ L3 编排拓扑(图 / crew / 群聊)→ L4 角色人格与治理(role / goal / 审批)。每多注入一层,就多一份隐式行为、多一层调试黑箱、多一道框架锁定。本轮横评的结论很反直觉:生产用户正在集体往下迁移——从动辄四五层的编排框架,退回到只有两层的厂商 SDK 与极简库。原因不是这些库更"高级",而是它们现在自带了过去必须靠厚框架才能拿到的东西:沙箱、MCP、子智能体、文件编辑。厚框架省下的样板代码,已经不够抵消它引入的隐式行为税。
| 维度 | Claude Agent SDK | OpenAI Agents SDK | PydanticAI | LangGraph | CrewAI |
|---|---|---|---|---|---|
| 抽象层数 | ~2 层 | ~2–3 层 | ~2 层(最薄库) | ~3–4 层 | ~5 层(最厚) |
| Hello-Agent LOC | ~15 | ~20 | ~10 | ~35 | ~25 |
| 内建工具 | bash/file/web/edit 全套 | 需自配或 MCP | 无,纯契约 | 无,全靠自写 | 内置少量搜索/爬取 |
| 委派原语 | subagents(一等公民) | handoffs + guardrails | 无原生 | graph 节点跳转 | role→task→delegation |
| 状态管理 | session/hook + checkpoint | run context | 依赖注入 + state | checkpointer(强项) | memory + 短/长期记忆 |
| 模型锁定 | Anthropic | OpenAI 倾向 | 模型无关 | 模型无关 | 模型无关 |
| 上手到首跑 | 30–60 分钟 | 1–2 小时 | 30 分钟 | 半天到一天 | 1–2 小时 |
| 变现/产品化 | 高(自带 Codex/CLI 级能力) | 高(OpenAI 生态背书) | 中(基建库) | 高(生产编排刚需) | 中高(原型+训练营友好) |
| 最适合 | 通用自主体、IDE 级 agent | OpenAI 原生多智能体 | 类型严苛的契约式 agent | 有状态长流程、人在环 | 角色协作式原型 |
Anthropic 在 2026 年 Q2 把原来的 Claude Code SDK 改名升级为 Claude Agent SDK,定位极其直白:让你用几行代码就拿到 Claude Code 那套能力——自主读文件、跑 bash、改代码、搜网页。它的抽象层数只有两层:底下是 Anthropic 的 tool-calling 原语,上面是一层会话循环 + hook。没有 graph、没有 crew、没有 role/backstory 那一套,开发者拿到的是一个"开箱即用的自主体运行时"。
from claude_agent_sdk import query, ClaudeAgentOptions
options = ClaudeAgentOptions(
mcp_servers={},
permission_mode="acceptEdits",
system_prompt="你是一个资深数据工程师,先读 schema 再写 SQL",
)
async for message in query(prompt="给 sales 表写一个按地区汇总的视图", options=options):
print(message)
上面这段不到 15 行,agent 就能自己 ls、cat schema、写 .sql、用 bash 跑迁移、出错自己改。优点的另一面是缺点:它假设你愿意把 bash 和文件编辑权交给模型,这对内部工具链是红利,对多租户 SaaS 是地雷。变现潜力极高,因为 SDK 直接把"做出一个 Claude Code 同款产品"的门槛拉到了一个周末项目的量级——做垂直领域的代码/运维/数据 Agent,几乎没有竞品能比它更短路径。
OpenAI Agents SDK 是 Swarm 实验转正后的产物,2025 年发布,2026 年持续迭代。它的抽象层数约两到三层:模型原语 + Agent 循环 + 一层 handoff(智能体间委托)和 guardrail(输入/输出校验)。核心理念是把多智能体简化成"显式委托",而不是隐式的群聊广播。
from agents import Agent, Runner, handoff
triage = Agent(name="分诊", instructions="判断用户问题归类并 handoff")
billing = Agent(name="计费", instructions="处理账单问题", tools=[lookup_invoice])
triage.handoffs = [handoff(billing)]
result = Runner.run_sync(triage, "我上个月的发票怎么没收到?")
它的强项是显式拓扑:每条委托路径在代码里都看得见,调试和审计比隐式群聊好太多。短板也很明显——天然偏 OpenAI 模型,跨厂商时需要自己接适配层,且内建工具远不如 Claude Agent SDK 厚(没有开箱的 bash/文件编辑),要靠 MCP 自己补。变现上,OpenAI 生态背书让它成为面向中小企业做"客服/工单/内部助手"产品的稳妥底盘,但做代码级自主体时会显得力不从心。
PydanticAI 是 2025 年崛起、2026 年站稳脚跟的一匹黑马。它的抽象层数和 Claude Agent SDK 一样薄(约两层),但走的是完全相反的路线:不内建任何工具,专注做类型安全的输入/输出契约。它的卖点是把 Pydantic 的运行时校验带到 Agent 世界——工具的参数、Agent 的返回值都有严格的类型契约,模型乱编参数会被框架当场拦下。
from pydantic_ai import Agent
from pydantic import BaseModel
class Order(BaseModel):
sku: str
qty: int
agent = Agent("anthropic:claude-sonnet-4-6", result_type=Order,
system_prompt="从用户自然语言里提取订单")
result = agent.run_sync("来三件 A-12 的螺丝")
print(result.data) # Order(sku='A-12', qty=3) —— 类型保证
优点是模型无关、可测试性极强(依赖注入让 mock 一切变得自然),适合做"结构化抽取 + 受控工具调用"这种对正确性敏感的场景。缺点是没有编排、没有委派、没有沙箱——它是一个"基建库",不是"运行时"。变现上它最适合作为底座被嵌入更大的产品,单独包装训练营卖点偏弱,但作为"类型安全 Agent 工程"的高级课极有市场。
LangGraph 是 LangChain 体系里唯一被生产团队广泛背书的部分。它把 Agent 编排建模成显式状态图:节点是函数,边是条件跳转,状态通过 checkpointer 持久化。这正是它抽象层数偏厚(三到四层)的根源——你拿到的是图引擎、状态机、持久化和人在环节点的组合,能力极强但样板代码也最多。
from langgraph.graph import StateGraph, END
from typing import TypedDict
class S(TypedDict):
question: str; answer: str
def think(s): return {"answer": "根据知识库……"}
def route(s): return END if s["answer"] else "think"
g = StateGraph(S)
g.add_node("think", think); g.set_entry_point("think")
g.add_conditional_edges("think", route)
app = g.compile(checkpointer=memory) # 持久化 + 续跑
LangGraph 的真正护城河是 checkpointer 带来的可恢复性和完全显式的控制流——长流程断点续跑、人在环审批、复杂分支都能干净地表达。代价是学习曲线陡、调试时要在"图执行器"这一层抽象里穿行。变现上它是做企业级长流程 Agent(合规审批、多步理赔、复杂工单)的首选,训练营和咨询空间都很大,但门槛高,不适合做"快速 Demo"。
CrewAI 把 Agent 抽象到了"角色"粒度:每个 Agent 有 role、goal、backstory,配上 Task 和 Crew 就能跑出"团队协作"。它的抽象层数是五栈里最厚的——足足五层,从模型原语一直到角色人格全都包了。这种"高层抽象"换来的是全栈最低的上手门槛:照着模板填几个角色描述,一个像模像样的多智能体演示就出来了。
from crewai import Agent, Task, Crew
researcher = Agent(role="研究员", goal="收集资料",
backstory="严谨的数据分析师", llm="anthropic/claude")
writer = Agent(role="撰稿人", goal="写报告",
backstory="资深技术写手", llm="anthropic/claude")
crew = Crew(agents=[researcher, writer],
tasks=[Task(description="调研 X 并成文", agent=researcher)])
result = crew.kickoff()
优点是演示效果最好、产品感最强,非常适合做内容生产、营销、研究类协作。缺点是隐式行为最重:角色之间的"协作"很大程度上由 prompt 模板驱动,行为不可预测、调试困难,到生产规模时常常要花比原型多一个数量级的力气去稳定。变现上它是做"AI 团队"概念产品和高客单训练营的最佳弹药——故事性好、demo 惊艳,但要诚实地告诉学员"原型快 ≠ 生产稳"。
flowchart TB
subgraph L4["L4 角色人格/治理 (CrewAI 强)"]
role[role/goal/backstory 审批]
end
subgraph L3["L3 编排拓扑 (LangGraph 强)"]
graph[state graph + checkpointer]
crew[crew/task 流水线]
end
subgraph L2["L2 委派原语"]
sub[Claude subagents]
hof[OpenAI handoffs]
end
subgraph L1["L1 Agent 循环 (五栈都有)"]
loop[while: 模型→工具→观测]
end
subgraph L0["L0 模型原语"]
tc[tool calling / 流式]
end
L4 --> L3 --> L2 --> L1 --> L0
biz[业务逻辑] -.厚框架注入更多隐式行为.-> L4
L0 -.薄 SDK 直连模型.-> model[(LLM)]
classDef thick fill:#fde2e4,stroke:#c9184a
classDef thin fill:#d8f3dc,stroke:#2d6a4f
class L4,L3 thick
class L0,L1,L2 thin
图中红色层是"厚框架注入区"——层数越多,你和模型之间的隐式行为就越多;绿色层是"薄 SDK 直连区"。2026 年的迁移方向,就是从图的顶部往底部走。
把五个栈摆在一起,选型逻辑其实非常收敛:
一个反复被验证的规律:层数每多一层,原型速度提升约 30%,但生产稳定性的返工成本大约翻一倍。这就是为什么 2026 年中,所有认真做生产的团队都在往下走——厂商 SDK 已经把沙箱、MCP、子智能体做进了 L1/L2,厚框架曾经换来的便利,正在被它引入的隐式行为税反噬。如果一定要用一句话总结本轮横评:离模型越近的赢,离模型越远的,要靠某个不可替代的原语(如 LangGraph 的 checkpointer)才能活下去。
[!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 等场景全覆盖。
