跳到内容

怎么选★★★★★9 分钟阅读

Agent 框架怎么选:LangGraph、CrewAI、Mastra 跟「不要框架」对比

大部分团队先挑框架再发现需求。这篇帮你按 agent 真正要做的事来挑(或不挑)。

登入以收藏

每半年都会冒出一个「最终解」的 agent 框架。2026 年已经有几十个了。诚实的答案是,有经验的 builder 大多已经达成共识:简单的 tool-use loop 不需要框架;graph 形状的多步骤工作流用 LangGraph;只用 Python 多 agent demo 用 CrewAI;TypeScript 环境用 Mastra。其他的大多是噪音。

业界小秘密:大部分 agent 不需要框架

如果你的 agent 是「调用 LLM、parse tool call、跑 tool、loop 到结束」,你不需要框架。那大概是 30 行代码,任何语言都能写。Anthropic SDK、OpenAI SDK、Vercel AI SDK 全部原生支持 tool use。你写一个 while loop、自己处理错误,然后 — 重点 — 你看得懂里面发生什么,因为是你写的。

业界最有想法的 builder(Anthropic 自家团队的公开 agent 文章、Cursor 团队等等)反复讲:「先不要框架,有具体理由再加」。框架加抽象层,出事的时候你要 debug 你自己的 code 跟框架对「应该发生什么」的想象。

失败 pattern:第一天就选 LangChain → 花好几周跟框架抽象战斗 → 写绕过框架的自定义程序 → 最后拿到两边最差的部分。

LangGraph:真的有 graph 的时候是对的选择

LangChain 的 LangGraph 是大部分有经验 builder 勉强尊重的框架。它把 agent 流程当作明确的状态图 — node 是步骤、edge 是转移、state 是共享的。当你有真的多步骤工作流、有分支、有 retry、有 human-in-the-loop checkpoint,这个模型很干净地对应到问题。

什么时候用 LangGraph:agent 有 5 个以上不同步骤、多个决策分支、多次执行间需要持久化、或者有人工审核 gate。「状态当图」的心智模型在工作流真的复杂时才有价值。

LangGraph 也是 LangChain 修掉 LangChain 过去多年罪过的地方。新版 Python 跟 JS SDK 比较干净。LangSmith 提供内建可观测性。持久化也直接。

弱点:还是复杂。心智成本是真的。简单 ReAct loop 不要用它。

CrewAI:demo 取胜的多 agent 框架

CrewAI 的卖点是多 agent:定义几个「agent」给角色,给他们任务,看他们协作。Demo 看起来很棒。API 的简洁有真实吸引力。

Production 的现实:CrewAI 的「角色式」心智模型 —「营销」、「研究员」、「编辑」 — 大多是表演。真实的多 agent 系统做成一个有分支的单一连贯 agent 比较好,不是多个人格互相对话。Roleplay 路线烧很多 token,品质提升只比好好写 prompt 的单一 agent 边缘一点点。

什么时候用 CrewAI:需要快速 agent 行为 demo、特别受益于角色分离(少见)、或者在做之后会重写的原型。任何要可靠性的 production 场景不要 ship CrewAI。

Mastra:真的好的 TypeScript 优先选项

Mastra 是 TypeScript / Next.js 环境最值得注意的 agent 框架。它有意识地限定范畴:workflow、agent、RAG、eval、memory、observability。DX 很好 — 自动完成 work、type 有帮助、跟 Vercel 跟 Cloudflare deploy 原生整合。

什么时候用 Mastra:stack 是 Next.js 或 Node.js、想要 LangGraph 的结构但不被 Python 锁、想要 first-class 的 observability 跟 eval 支持不用拼三个厂商。

Mastra 比较新、社群小、API 还在动。但设计选择合理、maintainer 回应快、没有 LangChain 累积的历史包袱。

OpenAI Assistants API 跟 Anthropic Computer Use

  • OpenAI Assistants API — 简单聊天助手加文件搜索 OK。production agent 受限因为状态管理不透明(你看不到自己的 thread state)。大部分从这里开始的团队最后都直接写 tool-use loop 了。
  • Anthropic Computer Use — Claude 控制浏览器或桌面。酷、慢、贵、脆。可以针对特定用途(资料输入自动化、QA 测试)实验,但不是通用框架。

Pydantic AI、LlamaIndex Agents、AutoGen、smolagents

  • Pydantic AI — 干净 Python、type 驱动。范畴比 LangGraph 小但设计好。Python 单一 agent 工作流值得考虑。
  • LlamaIndex Agents — LlamaIndex 的 agent 层。已经深陷 LlamaIndex 做 RAG 的话用。独立用没那么吸引。
  • Microsoft AutoGen — 研究风格。多 agent。Demo 有意思,production 用法少。持续观察。
  • HuggingFace smolagents — 极简 Python 框架,code-as-action 范式(agent 写 Python 而不是 tool call)。技术场景有意思。

什么时候完全不用框架

80% 的 agent 场景,自己写 loop 就好。伪代码:

messages = [{role: 'user', content: query}]
while True:
    response = llm.create(messages=messages, tools=tools)
    if response.stop_reason == 'end_turn':
        return response.content
    for tool_call in response.tool_calls:
        result = run_tool(tool_call.name, tool_call.args)
        messages.append({role: 'tool', content: result})

就这样。加上错误处理、指数退避 retry、结构化 log,你就有一个 production agent 在一个文件里。你会清楚知道发生什么。你能 debug。你不用跟抽象战斗。

什么时候框架真的有帮助

  • graph 形状的工作流,有分支、合流、retry、人工同意 → LangGraph 或 Mastra Workflows
  • 跨长期执行需要持久化 agent 状态 → LangGraph 的 checkpointing 或 Mastra 的 memory
  • 需要内建 observability,不想自己整合 Langfuse/Helicone/Pydantic Logfire → 框架内建
  • 多个工程师,想要共享心智模型 → 框架提供共同词汇

注意框架漂移

这个领域的框架变化超快。你 2024 年认识的 LangChain 不是 2026 年的 LangChain。CrewAI 在 2025 年改了核心 API 两次。Mastra 在 2025 年底重组了 workflow API。固定依赖版本、升级前读 changelog、接受你今天的框架选择 18 个月后会看起来过时。

这也是「不用框架」一直吸引人的原因:30 行手写的 agent loop 没有 changelog 要追。

决策树

  • 简单 tool-use loop、单 agent:不用框架,直接 SDK
  • 多步骤工作流、有分支、Python:LangGraph
  • 多步骤工作流、TypeScript:Mastra
  • type-safe Python 单一 agent:Pydantic AI
  • 快速多 agent demo:CrewAI(不要 ship)
  • 浏览器或桌面自动化:Anthropic Computer Use

下一步

  • 看一下 agent loop pattern:ReAct、Plan-and-Execute、Reflexion
  • 研究 agent observability 工具:Langfuse、Helicone、LangSmith
  • 看 agent memory 策略(独立主题,值得深入)
  • 先搭一个没有框架的 agent;只在能说出具体限制时才采用框架

最后更新: 2026-04-29

We use cookies

Anonymous analytics help us improve the site. You can opt out anytime. Learn more

Agent 框架怎么选:LangGraph、CrewAI、Mastra 跟「不要框架」对比 · BuilderWorld