【系统学AI】11 Agent开发框架选型(2026版):最新的11大框架地图“

Agent开发框架选型(2026版):从五大到十一大的框架地图
2024年Agent框架"四大金刚"(LangChain/LlamaIndex/AutoGen/CrewAI),2026年已经扩展到11个主流框架。新增的SDK/框架有些是模型厂商官方出品(Claude Agent SDK / OpenAI Agents SDK),有些是新设计哲学(Pydantic AI类型安全、Mastra TypeScript优先)。这篇文章帮你一次性搞清楚2026年的框架地图。
一句话总结
2026年没有"通用最佳"框架,只有"按生态/语言/复杂度"匹配的最佳:
- 生产首选:LangGraph(最成熟)
- Anthropic生态:Claude Agent SDK
- OpenAI生态:OpenAI Agents SDK
- TypeScript团队:Mastra
- 类型安全Python:Pydantic AI
- 快速原型:CrewAI
- 极简学习:smolagents
- 不用框架:80%场景反而最优
1. 2026框架全景图
生态维度
▲
Anthropic │ OpenAI
Claude Agent SDK│OpenAI Agents SDK
│
────中立通用─────────┼─────────专业垂直────→
│
LangGraph │ LlamaIndex (RAG)
CrewAI │ Mastra (TS)
Pydantic AI │ smolagents
│
生产成熟度
▼
1.1 11大框架速览(2026.05)
| 框架 | 维护者 | 语言 | 月下载量 | 强项 | 何时用 |
|---|---|---|---|---|---|
| LangGraph | LangChain | Python/TS | 34.5M | 状态图+可观测性 | 生产级Agent |
| Claude Agent SDK | Anthropic | Python/TS | 高速增长 | Claude Code同款 | Anthropic生态 |
| OpenAI Agents SDK | OpenAI | Python/TS | 高速增长 | handoffs+tracing | OpenAI生态 |
| CrewAI | CrewAI Inc | Python | 8M+ | 角色化多Agent | 快速原型 |
| AutoGen | Microsoft | Python | 5M+ | 多Agent对话 | 研究/Azure |
| Mastra | Mastra | TypeScript | 上升中 | TS优先+DX | TS团队 |
| Pydantic AI | Pydantic | Python | 上升中 | 类型安全 | Pydantic团队 |
| smolagents | HuggingFace | Python | 1M+ | 极简+code-as-action | 研究/学习 |
| LangChain | LangChain | Python/TS | 50M+ | 生态最全 | 通用入门 |
| LlamaIndex | LlamaIndex | Python/TS | 15M+ | RAG最强 | 知识库问答 |
| Microsoft Agent Framework | Microsoft | Python/.NET | 上升中 | 替代AutoGen | .NET/Azure |
1.2 三层分级
🥇 Tier 1(生产成熟): LangGraph / Claude Agent SDK / OpenAI Agents SDK
🥈 Tier 2(快速原型): CrewAI / Mastra / Pydantic AI
🥉 Tier 3(专业领域/学习): AutoGen / smolagents / LlamaIndex / LangChain(旧主力)
💡 2026年趋势:模型厂商自家SDK崛起。OpenAI、Anthropic、Google都推自家Agent SDK,对自家模型而言通常与第三方框架打平甚至更强。如果你只用一个供应商,直接从官方SDK开始。
2. Claude Agent SDK ⭐ Anthropic生态首选
2.1 定位
Anthropic 2025年9月开放的Agent基础设施——把Claude Code底层的Agent引擎(规划循环、工具调用、记忆管理、沙箱执行)封装成可直接调用的SDK。
💡 历史:最初叫Claude Code SDK(2025年9月),2025年底改名Claude Agent SDK,与Claude Code自身解耦,成为通用Agent框架。Boris Cherny用它做Claude Code完成100%日常编码——这是个实战磨过的SDK。
2.2 设计哲学
工具即接口,不是抽象层。SDK内建工具集少而精:
| 工具 | 作用 |
|---|---|
| Bash | 执行shell命令 |
| Edit/Read/Write | 文件操作 |
| Glob/Grep | 文件搜索 |
| WebFetch/WebSearch | 网络访问 |
| Task | 开子Agent(一等公民) |
“Claude Code做过的每一个正经coding任务都只是这些工具的组合。重点是——你不需要50个工具,你需要10个把某个领域覆盖干净的好工具,然后让模型去组合它们。”
2.3 核心特性
| 特性 | 说明 |
|---|---|
| 基于文件的权限+沙盒 | 默认agent跑在用户授权的环境,可阻挡破坏性操作 |
| Subagents(子Agent) | Task工具可开独立Claude实例,有独立上下文窗口和受限回报 |
| 基于文件的Memory | Markdown记忆写进磁盘,跨session保留 |
| Skills机制 | 可被名称呼叫的可重用提示片段 |
| MCP原生支持 | 5000+ MCP Server即插即用 |
2.4 代码示例
from claude_agent_sdk import Agent, tool
@tool
def query_database(sql: str) -> str:
"""查询数据库"""
return execute_sql(sql)
# 创建Agent
agent = Agent(
model="claude-opus-4.7",
system_prompt="你是一个数据分析师",
tools=[query_database],
permissions={"bash": "ask", "edit": "auto"}, # 文件级权限
)
# 运行
result = agent.run("分析过去一周的用户增长,生成报告")
2.5 优势与局限
| 优势 | 局限 |
|---|---|
| Claude Code实战磨过,最稳定 | 锁定Claude,不支持其他模型 |
| Subagents是生产唯一稳定的多Agent方案 | MCP Server生态比OpenAI Tools年轻 |
| 文件-based权限+沙盒,安全性高 | 文档相对Anthropic风格"散" |
| Memory和Skills都是头等公民 | TypeScript版本相对Python滞后 |
3. OpenAI Agents SDK ⭐ OpenAI生态首选
3.1 定位
OpenAI 2025年发布的轻量Agent SDK,是Swarm(实验项目)的精神继承者。
💡 OpenAI Swarm:OpenAI 2024年的实验性多Agent框架,验证了"handoffs"模式的可行性。Agents SDK把它产品化、稳定化。
3.2 核心概念
| 概念 | 说明 |
|---|---|
| Runner | Agent执行器,简单可控 |
| Handoffs | Agent间任务交接,类似函数调用 |
| Guardrails | 输入/输出验证,安全护栏 |
| Tracing | 内建trace到OpenAI Dashboard |
| Tools | 函数自动转工具,无需JSON Schema |
3.3 代码示例
from openai import OpenAI
from openai.agents import Agent, Runner, function_tool
@function_tool
def search_web(query: str) -> str:
"""搜索互联网"""
return f"结果: {query}..."
# 主Agent
research_agent = Agent(
name="研究员",
instructions="你负责调研,把信息传给写作Agent",
tools=[search_web],
handoffs=["writer"], # 可以handoff给writer
)
writer_agent = Agent(
name="writer",
instructions="你基于调研写报告",
)
# 运行
runner = Runner(agents=[research_agent, writer_agent])
result = runner.run("调研AI Agent市场并写报告")
3.4 优势与局限
| 优势 | 局限 |
|---|---|
| 体积最小,学习曲线最平 | 锁定OpenAI生态 |
| Handoffs模式优雅,多Agent清晰 | 自定义复杂工作流不如LangGraph灵活 |
| 内建Tracing到OpenAI Dashboard | Tracing数据在OpenAI云上 |
| 合规友好(企业版) | 高级特性少 |
4. LangGraph ⭐ 生产级首选
4.1 定位
有状态Agent框架,2026年企业生产环境的事实标准——34.5M月下载量。
4.2 核心概念
| 概念 | 说明 |
|---|---|
| StateGraph | 用图结构定义Agent的状态流转 |
| Node | 图中的节点,每个节点是一个函数 |
| Edge | 节点间的边,可以是条件跳转 |
| Checkpoint | 状态持久化,支持暂停/恢复 |
| Human-in-the-loop | 人工介入点,2026企业必备 |
| LangGraph Studio | 可视化调试器(2026新增) |
4.3 代码示例
from langgraph.graph import StateGraph, END
from typing import TypedDict, Annotated
import operator
class AgentState(TypedDict):
messages: Annotated[list, operator.add]
next_step: str
def research_node(state: AgentState) -> AgentState:
return {"messages": ["研究完成"], "next_step": "write"}
def write_node(state: AgentState) -> AgentState:
return {"messages": ["写作完成"], "next_step": "review"}
def review_node(state: AgentState) -> AgentState:
quality = check_quality(state["messages"])
return {
"messages": ["审核通过"] if quality > 0.8 else ["需要修改"],
"next_step": "end" if quality > 0.8 else "write"
}
# 构建图
graph = StateGraph(AgentState)
graph.add_node("research", research_node)
graph.add_node("write", write_node)
graph.add_node("review", review_node)
graph.add_edge("research", "write")
graph.add_edge("write", "review")
graph.add_conditional_edges("review", lambda s: s["next_step"],
{"write": "write", "end": END})
graph.set_entry_point("research")
app = graph.compile(checkpointer=MemorySaver()) # 状态持久化
result = app.invoke({"messages": [], "next_step": "research"})
4.4 何时选LangGraph
- 复杂状态流转(循环、条件跳转、人工介入)
- 需要状态持久化和恢复
- 工作流不是简单线性链
- 需要LangSmith可观测性
- 多模型混用(不锁定单一供应商)
5. Mastra ⭐ TypeScript生态首选
5.1 定位
TypeScript原生Agent框架——2026年TS生态的最佳选择。
💡 Mastra在生产应用:已部署在Marsh McLennan(75K员工)、SoftBank的Satto Workspace等大型企业。证明TypeScript Agent框架已经达到生产级别。
5.2 核心特性
| 特性 | 说明 |
|---|---|
| TypeScript-first | 类型安全贯穿全栈 |
| Workflow + Agent | 既能写工作流也能写Agent |
| Next.js友好 | 与Next.js应用同代码库 |
| Vercel AI SDK兼容 | 流式输出无缝集成 |
5.3 代码示例
import { Mastra, Agent, createTool } from "@mastra/core";
const searchTool = createTool({
name: "search",
description: "搜索互联网",
inputSchema: z.object({ query: z.string() }),
execute: async ({ query }) => {
return await fetch(`https://api.search.com?q=${query}`).then(r => r.json());
},
});
const agent = new Agent({
name: "researcher",
model: { provider: "anthropic", name: "claude-opus-4.7" },
tools: { search: searchTool },
instructions: "你是一个市场研究员",
});
const result = await agent.generate("调研AI Agent市场");
5.4 何时选Mastra
- 团队主用TypeScript
- 与Next.js应用同代码库部署
- 需要前端流式输出
- Vercel云原生部署
6. CrewAI ⭐ 快速原型首选
6.1 定位
多Agent协作框架——用角色定义Agent,让它们像团队一样协作。
6.2 核心概念
| 概念 | 说明 |
|---|---|
| Agent | 有角色、目标、工具的智能体 |
| Task | 具体任务,有描述和预期输出 |
| Crew | Agent和Task的集合,定义协作流程 |
| Process | 协作方式:顺序/层级 |
| 内建Memory | 2026 CrewAI唯一内建语义记忆的框架 |
6.3 代码示例
from crewai import Agent, Task, Crew, Process
from langchain_anthropic import ChatAnthropic
llm = ChatAnthropic(model="claude-opus-4.7")
researcher = Agent(
role="市场研究员",
goal="收集和分析市场数据",
backstory="你是一位经验丰富的市场研究员",
llm=llm,
tools=[search_tool]
)
writer = Agent(
role="内容作者",
goal="撰写高质量的市场分析报告",
backstory="你是一位专业的商业写作者",
llm=llm
)
research_task = Task(
description="调研AI Agent市场现状和趋势",
agent=researcher,
expected_output="市场调研数据和分析"
)
write_task = Task(
description="基于调研数据撰写市场分析报告",
agent=writer,
expected_output="结构化的市场分析报告"
)
crew = Crew(
agents=[researcher, writer],
tasks=[research_task, write_task],
process=Process.sequential,
memory=True # 启用内建语义记忆
)
result = crew.kickoff()
6.4 何时选CrewAI
- 快速原型(最快从0到Demo)
- 角色化协作很自然的场景(内容/研究)
- 需要内建语义记忆但不想自建
7. Pydantic AI ⭐ 类型安全Python
7.1 定位
类型安全的Agent框架——Pydantic团队出品,把Pydantic的"类型即文档"理念带入Agent。
7.2 核心特性
| 特性 | 说明 |
|---|---|
| 类型安全 | Agent输入输出全部Pydantic验证 |
| Pydantic原生 | Pydantic用户零学习成本 |
| 依赖注入 | 优雅的Context管理 |
| 流式响应 | 类型安全的streaming |
7.3 代码示例
from pydantic import BaseModel
from pydantic_ai import Agent, RunContext
class WeatherInfo(BaseModel):
city: str
temperature: float
condition: str
agent = Agent(
'anthropic:claude-opus-4.7',
result_type=WeatherInfo, # 强类型输出
system_prompt="你是一个天气查询助手",
)
@agent.tool
async def get_weather(ctx: RunContext, city: str) -> dict:
"""查询天气API"""
return await weather_api.get(city)
result = await agent.run("北京今天天气")
print(result.data.temperature) # 类型安全访问
7.4 何时选Pydantic AI
- 团队已重度使用Pydantic
- 需要类型安全保障
- 喜欢Python现代异步风格
8. smolagents ⭐ 极简学习
8.1 定位
HuggingFace的极简Agent框架——核心代码~1000行,用代码而非JSON做工具调用。
8.2 核心创新:Code as Action
传统Agent: LLM输出JSON → 解析 → 调用工具
smolagents: LLM输出Python代码 → 沙箱执行 → 结果反馈
优势:更少的LLM调用次数(Python可以一次写多步),更透明(你能直接读代码)。
8.3 代码示例
from smolagents import CodeAgent, tool, HfApiModel
@tool
def search_web(query: str) -> str:
"""搜索互联网"""
return f"结果: {query}..."
agent = CodeAgent(
tools=[search_web],
model=HfApiModel("meta-llama/Llama-4-Maverick"),
)
# Agent内部会生成Python代码并执行
result = agent.run("找出AI Agent市场前3名公司,对比它们的估值")
8.4 何时选smolagents
- 想读完Agent源码理解原理
- 单Agent简单任务
- HuggingFace生态优先
9. AutoGen / Microsoft Agent Framework
9.1 定位变化
AutoGen正在被Microsoft Agent Framework取代(2026年)。但学术研究和Azure企业仍大量使用AutoGen。
9.2 何时选
- 在Azure生态
- 需要多Agent对话研究
- 已有AutoGen代码库
10. LlamaIndex / LangChain:经典两位老将
10.1 LlamaIndex - RAG最强
核心定位:数据索引框架,RAG场景的最强选择。
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader, Settings
from llama_index.llms.anthropic import Anthropic
Settings.llm = Anthropic(model="claude-opus-4.7")
documents = SimpleDirectoryReader("./data").load_data()
index = VectorStoreIndex.from_documents(documents)
query_engine = index.as_query_engine(similarity_top_k=5)
response = query_engine.query("什么是GraphRAG?")
何时选:核心需求是RAG / 多数据源 / 检索质量是第一优先级。
10.2 LangChain - 老牌通用框架
2026年定位变化:从"通用框架"变成"LangSmith可观测性入口"。
“LangChain/LangGraph的定位已经变成’可观测性’。LangSmith出现后,用LangGraph的主要理由不再是抽象,而是tracing。”
何时选:需要LangSmith观测 / 团队已用LangChain / 需要50+ integrations。
11. 何时不用框架 ⚠️ 重要
80%场景不用框架反而更优。
11.1 简单任务用直接API
# 不到20行的"增强LLM"模式
from anthropic import Anthropic
client = Anthropic()
tools = [search_tool, calc_tool]
messages = [{"role": "user", "content": "帮我..."}]
while True:
response = client.messages.create(
model="claude-opus-4.7",
tools=tools,
messages=messages,
)
if response.stop_reason == "tool_use":
tool_result = execute_tool(response.content)
messages.append({"role": "assistant", "content": response.content})
messages.append({"role": "user", "content": tool_result})
else:
return response.content[0].text
11.2 框架的真实成本
| 隐性成本 | 说明 |
|---|---|
| 抽象层调试 | 框架越厚,bug越难定位 |
| 版本升级 | LangChain breaking change频繁 |
| 性能损耗 | 每层抽象都有开销 |
| 锁定风险 | 切换框架需要重写 |
11.3 何时真正需要框架
- ✅ 复杂状态机(多分支、循环、Human-in-the-loop)→ LangGraph
- ✅ 多Agent协作 → CrewAI / Claude Subagents
- ✅ RAG密集应用 → LlamaIndex
- ✅ 团队多人协作(需要标准化)
12. 选型决策树(2026版)
你的核心约束是什么?
│
├── 单一模型供应商
│ ├── Anthropic为主 → Claude Agent SDK
│ ├── OpenAI为主 → OpenAI Agents SDK
│ └── Google为主 → Google ADK
│
├── 语言栈
│ ├── TypeScript → Mastra
│ ├── Python + 类型安全 → Pydantic AI
│ ├── .NET / Azure → Microsoft Agent Framework
│ └── Python通用 → 看下面
│
├── 任务复杂度
│ ├── 简单单Agent → 不用框架,直接API
│ ├── 复杂状态机 → LangGraph
│ ├── 多Agent协作 → CrewAI / Claude Subagents
│ └── RAG密集 → LlamaIndex
│
└── 团队成熟度
├── 学习/研究 → smolagents
├── 快速原型 → CrewAI
└── 生产级 → LangGraph + LangSmith
13. 框架组合实践
实际项目中,经常组合多个框架:
| 组合 | 场景 |
|---|---|
| LangGraph + LlamaIndex | 复杂工作流 + RAG后端 |
| Claude Agent SDK + Subagents | Anthropic生态多Agent |
| Mastra + Vercel AI SDK | TS全栈+流式 |
| CrewAI + LangChain Tools | 多Agent + 丰富工具集 |
| 自研Pipeline + 直接API | 80%生产场景 |
# 示例:LangGraph + LlamaIndex组合
from langgraph.graph import StateGraph
from llama_index.core import VectorStoreIndex
# LlamaIndex做RAG
index = VectorStoreIndex.from_documents(documents)
rag_engine = index.as_query_engine()
# LangGraph做流程编排
def rag_node(state):
answer = rag_engine.query(state["question"])
return {"answer": str(answer)}
graph = StateGraph(AgentState)
graph.add_node("rag", rag_node)
# ... 添加更多节点
14. 面试高频问题
Q1:为什么2026年模型厂商SDK崛起?
模型厂商最了解自家模型的最佳实践——Claude的tool_use细节、OpenAI的Responses API特性,第三方框架往往用最大公约数实现,损失了模型特定的能力。生产场景用官方SDK质量更高。
Q2:LangChain和LangGraph的区别?
LangChain是通用框架,链式调用为主;LangGraph是LangChain的扩展,用图结构定义复杂状态流转。2026年LangChain自身价值下降(很多场景被LangGraph和直接API替代),主要价值变成"LangSmith可观测性入口"。
Q3:Mastra为什么能跑出来?
2026年TypeScript生态的Agent需求被严重忽视。Next.js应用想加Agent,过去要用Python BFF——Mastra把全栈TS Agent做成一等公民。Marsh McLennan、SoftBank等大企业的生产部署证明它够稳。
Q4:什么场景不该用框架?
简单线性Pipeline(搜集→打分→输出)、单Agent + 少量工具、对延迟极敏感的场景、团队不愿持续维护框架版本升级。“框架demo一周搞定,生产版要6个月”——这个gap是framework没解决的。
Q5:CrewAI的内建Memory和别的框架有什么区别?
大部分框架的"记忆"只是把对话历史塞进Prompt。CrewAI内建语义记忆——会自动embedding存储+检索相关历史。LangGraph需要自己加Memory层,Claude Agent SDK有文件-based memory但不做语义检索。
总结
| 框架 | 定位 | 最适合 | 学习难度 |
|---|---|---|---|
| Claude Agent SDK | Anthropic生态 | Claude优先团队 | 中 |
| OpenAI Agents SDK | OpenAI生态 | OpenAI优先团队 | 低 |
| LangGraph | 状态机框架 | 生产级Agent | 中高 |
| Mastra | TypeScript框架 | TS团队 | 中 |
| Pydantic AI | 类型安全框架 | Pydantic团队 | 中 |
| CrewAI | 多Agent框架 | 快速原型 | 低 |
| smolagents | 极简框架 | 学习/研究 | 低 |
| LlamaIndex | RAG框架 | 知识库问答 | 中 |
| LangChain | 老牌通用 | LangSmith入口 | 中 |
| AutoGen | 多Agent对话 | Azure/研究 | 中 |
| 不用框架 | 直接API | 80%场景 | 低 |
框架选择的核心原则:
- 先想清楚要解决什么问题,再选框架——不是反过来
- 生态决定大于功能差异——你用Claude就用Claude SDK,别强行通用
- 简单场景拒绝过度工程——20行直接API比300行框架更靠谱
- 看真实生产案例——Marsh McLennan用Mastra、Anthropic自己用Claude Agent SDK,这些是最强背书
- 关注95%→99%的可靠性gap——这个差距是工程量5-10倍的鸿沟,框架解决不了
2026年的Agent框架已经过了"百花齐放"阶段,进入"按生态分化"阶段。不存在万能框架,只存在最适合你团队和场景的框架。
路易乔布斯 © 2026 | AI Agent & RAG学习计划 · 模块01-Agent · 第六篇
参考资源:
- Claude Agent SDK — Anthropic官方
- OpenAI Agents SDK — OpenAI官方
- LangGraph — LangChain官方
- Mastra — TypeScript Agent框架
- Pydantic AI — 类型安全Agent
- smolagents — HuggingFace极简框架
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)