核心结论
Steel 团队在 5 月 4 日更新了 Agent Cookbook,用同一个任务、同一套工具,在八大主流 Agent 框架中分别实现了一遍。这种”控制变量”的对比方式,是目前市面上最公平的框架横向评测,为开发者选型提供了直接参考。
发生了什么
Steel 的 Cookbook 覆盖的八个框架包括:
| 框架 | 语言 | 核心定位 | 特点 |
|---|---|---|---|
| LangChain | Python/JS | 通用 AI 应用框架 | 生态最大,文档最全,学习曲线中等 |
| Mastra | TypeScript | 全栈 AI 框架 | 内置工作流、RAG、Agent 编排,TypeScript 原生 |
| Pydantic AI | Python | 类型安全的 AI 应用 | 利用 Pydantic 做结构化输出和验证 |
| Vercel AI SDK | TypeScript | 前端 AI 集成 | 流式响应、UI 组件、与 Next.js 深度集成 |
| Anthropic Agent SDK | Python/JS | Claude 原生 Agent | 对 Claude 工具调用和长上下文深度优化 |
| OpenAI Agent SDK | Python | OpenAI 原生 Agent | 对 GPT 工具调用和 function calling 深度优化 |
| LlamaIndex | Python | RAG 专用框架 | 数据索引和检索能力最强 |
| CrewAI | Python | 多 Agent 编排 | 角色分工、任务委派、协作流程 |
这个 Cookbook 的价值在于消除变量——同样的任务、同样的工具定义、同样的模型调用,唯一的区别是框架 API 和架构模式。这使得代码行数、实现复杂度、可读性等指标可以直接对比。
框架选型指南
场景一:快速原型开发
如果你需要在一天内搭建一个能用的 Agent 原型:
| 优先级 | 框架 | 理由 |
|---|---|---|
| 1 | Vercel AI SDK | 与 Next.js 无缝集成,UI + Agent 一站式 |
| 2 | LangChain | 文档丰富、示例多、社区问题好搜 |
| 3 | Mastra | TypeScript 全栈,内置工作流引擎 |
场景二:生产级 Agent 系统
如果你需要部署到生产环境,长期维护:
| 优先级 | 框架 | 理由 |
|---|---|---|
| 1 | Anthropic Agent SDK | 如果用 Claude,这是最优解(工具调用延迟最低) |
| 2 | OpenAI Agent SDK | 如果用 GPT,这是最优解(function calling 最稳定) |
| 3 | Pydantic AI | 类型安全,适合对输出格式要求严格的场景 |
场景三:多 Agent 协作
如果你的场景需要多个 Agent 分工合作:
| 优先级 | 框架 | 理由 |
|---|---|---|
| 1 | CrewAI | 专为多 Agent 协作设计,角色/任务/流程抽象最完整 |
| 2 | Mastra | 内置工作流编排,支持并行和串行 |
| 3 | LangGraph (LangChain) | 状态图方式编排多 Agent,灵活但学习成本高 |
代码复杂度对比
根据 Steel Cookbook 中的实现,八大框架在相同任务下的代码量估算:
| 框架 | 代码行数 | 配置复杂度 | 上手难度 |
|---|---|---|---|
| Vercel AI SDK | ~50 行 | 低 | ⭐ |
| LangChain | ~80 行 | 中 | ⭐⭐ |
| Mastra | ~60 行 | 低 | ⭐⭐ |
| Pydantic AI | ~70 行 | 中 | ⭐⭐ |
| Anthropic Agent SDK | ~45 行 | 低 | ⭐ |
| OpenAI Agent SDK | ~45 行 | 低 | ⭐ |
| LlamaIndex | ~100 行 | 高 | ⭐⭐⭐ |
| CrewAI | ~90 行 | 中 | ⭐⭐ |
关键发现:模型厂商原生 SDK(Anthropic/OpenAI)代码量最少,因为它们省去了跨模型抽象层。但如果你的系统需要切换模型,LangChain 或 Mastra 的跨模型抽象更有价值。
格局判断
2026 年 Agent 框架正在分化成两个方向:
- 模型原生派:Anthropic Agent SDK、OpenAI Agent SDK —— 深度绑定单一模型,追求极致性能和开发体验
- 跨模型派:LangChain、Mastra、Vercel AI SDK —— 提供模型抽象层,追求灵活性和可移植性
选择哪个方向取决于你的业务需求:
- 如果你的产品深度依赖某个模型的能力(如 Claude 的长上下文),选原生 SDK
- 如果你需要灵活切换模型或做多模型 A/B 测试,选跨模型框架
行动建议
| 角色 | 建议 |
|---|---|
| 新开发者 | 从 Steel Cookbook 入手,先看 2-3 个框架的实现,感受不同 API 风格再决定 |
| 技术选型 | 不要被”最大生态”绑架。LangChain 生态大不代表它适合你的场景。看代码复杂度和维护成本 |
| 团队负责人 | 统一团队的框架选型比追求”最优框架”更重要。框架切换成本远高于预期 |