前言
2026年了,还在问「LangGraph 好还是 CrewAI 好」?
这个问题本身就问错了。
我用这15个框架跑过真实项目,最深的体会只有一句:框架没有最好,只有最合适。而「合适」的标准不是星标数量,不是功能列表,是你面对的问题本身适合哪种编排模式。
这篇文章不给功能对比表——那种表格 Google 一搜一大把,没有意义。我给你一套编排模式分类法和选型决策树,看完就能做决定。
编排模式分类法:先分清楚你面对的是什么问题
选框架的第一步不是比较框架,是认清你的问题属于哪一类。
第一类:线性任务流(Linear Workflow)
特征:任务一步一步执行,不需要分支、不需要回头、不需要状态持久化。
例子:
- 「用户输入一段文字 → 翻译 → 总结 → 发邮件」
- 「抓取网页 → 清洗数据 → 存入数据库」
这类问题不需要框架。用 LangChain 的 Chain 就够了,上框架反而是过度设计。
推荐:LangChain LCEL、Anthropic Messages API
第二类:角色协作流(Role-based / Handoff)
特征:多个 Agent 各司其职,之间有任务交接(handoff)。每个 Agent 有明确的角色定义。
例子:
- 研究团队: Researcher → Analyst → Writer → Reviewer
- 客服流程: Classifier → Resolver → Escalator → QA
这是 CrewAI、Mastra 擅长的领域。CrewAI 的 Role + Goal 定义几乎就是为这类场景量身定做的。
关键判断:如果你描述工作流时频繁出现「XX负责YYY,然后交给ZZZ」,这是角色协作流。
推荐:CrewAI(快速原型)、Mastra(TypeScript 团队生产级)
第三类:状态机流(Graph-based / State Machine)
特征:任务执行路径依赖中间状态,分支多、需要回滚、支持暂停、人工审批介入。
例子:
- 贷款审批:收集材料 → 风控评估 → 额度计算 → 人工复核 → 放款
- 代码审查:发现Bug → 评估严重性 → 自动修复 → 人工确认 → 合并
这是 LangGraph 的主场。图结构天然适合表达状态依赖、条件分支、检查点机制。
关键判断:如果你说「这一步的结果决定下一步走哪条路」,或者「有时候需要人工确认才能继续」,这是状态机流。
推荐:LangGraph(Python/JavaScript)、Microsoft Agent Framework(Azure 团队)
第四类:网络协作流(Network-based / Peer-to-Peer)
特征:多个 Agent 长期存在,可以互相发现、协作、组合,Agent 之间是对等的,没有中央指挥。
代表场景:多智能体社区、持续运行的 Agent 网络、需要 A2A(Agent-to-Agent)协议互操作。
这是 OpenAgents 的方向,也是 MCP 协议流行的背景。
关键判断:如果你的场景是「一堆 Agent 长期运行,彼此协作」,这是网络协作流。
推荐:OpenAgents、MCP-native 框架
选型决策树
第一步:你的任务是线性的吗?├── 是 → 别上框架,用 LCEL 或直接 API└── 否 ↓第二步:需要多 Agent 协作吗?├── 否 → 单 Agent,用 Agno 或直接 API└── 是 ↓第三步:协作是角色交接型还是状态依赖型?├── 角色交接型 → CrewAI 或 Mastra│ ├── 快速验证 / 非TypeScript 团队 → CrewAI│ └── TypeScript 团队 / 需要可观测性 → Mastra└── 状态依赖型(分支/回滚/人工审批) → LangGraph ├── .NET / Azure 团队 → Microsoft Agent Framework └── 需多模态 / GCP-native → Google ADK四个最常见的迁移路径
框架选型最痛的点不是选错,是选早了。以下是社区最常见的四条迁移路径,理解它们能帮你避坑。
路径一:CrewAI → LangGraph
最常见的迁移。
CrewAI 上手太快,很多团队用它做原型,做着做着发现需要细粒度状态管理、需要审计日志、需要人工审批节点——CrewAI 的 Role 定义不够用了,迁到 LangGraph。
我的建议:如果你预估项目会在3个月内进入生产,直接从 LangGraph 开始。CrewAI 的学习曲线优势只有几天,迁移成本是几周。
路径二:AutoGen → Microsoft Agent Framework
微软官方正在推动这条迁移路。
AutoGen 的 GitHub Star 最多(50K+),但微软战略重心已经转向统一的 Microsoft Agent Framework(合并了 AutoGen 和 Semantic Kernel)。AutoGen 以后只有 Bug Fix,没有新功能。
我的建议:已经在用 AutoGen 的团队,关注 Microsoft Agent Framework 的迁移指南。新项目不要再选 AutoGen。
路径三:LangChain → LangGraph
这是官方推荐的方向。
LangChain v0.3 之后,所有新特性都在 LangGraph 一侧。LangChain 本身更多是工具集成层,真正的运行时是 LangGraph。
我的建议:把 LangChain 当工具箱,把 LangGraph 当 runtime。新项目直接学 LangGraph,别走 LangChain 再迁移 LangGraph 的弯路。
路径四:单框架 → MCP 混用
2026年的新趋势。
以前选了一个框架就用到底。现在越来越多团队用 MCP(Model Context Protocol)连接多个框架的能力——用 LangGraph 做状态管理,用 Mastra 做 TypeScript 集成,用 OpenAgents 做 A2A 通信。
我的建议:MCP 支持度已经是选框架的硬指标。不支持 MCP 的框架,2026年以内会开始落后。
五大框架核心分析
LangGraph — 生产级状态管理的不二选择
LangGraph 是这批框架里最「工程化」的一个。我用它做过金融合规审计系统,最满意的点是:
- 检查点机制:每步执行完自动存档,出错从上一个检查点恢复,不是从头重跑
- Human-in-the-loop:在关键节点可以暂停等人工确认,确认后才继续
- 执行轨迹完整可查:每条边、每个状态变化都有记录,审计无忧
LangGraph 的代价是学习曲线陡峭。它的图模型对没有状态机经验的团队来说有门槛。但一旦理解了其核心概念(State、Node、Edge、Reducer),表达能力极强。
适合:有合规要求的团队、复杂多步骤工作流、需要状态回滚的生产系统
CrewAI — 最快的多Agent原型框架
CrewAI 的核心设计哲学是**「让非AI工程师也能快速搭多Agent」**。
Role + Backstory + Goal 的定义方式,直观到可以直接拿给业务方看:「你看,这个Agent的角色是这个,它的目标是那个」。
但 CrewAI 的局限也在这里:
- Role 定义是描述性的,精细控制要靠 hack
- 状态管理薄弱,不适合需要审计的流程
- 没有内置的 Human-in-the-loop 机制
适合:想法验证阶段、需要向非技术人员演示原型、一次性多步骤任务
Mastra — TypeScript 团队的生产级选择
Mastra 是2026年最值得关注的新框架之一。它的核心差异是TypeScript 原生 + 生产级可观测性。
对 Web/前端团队来说,这很重要:
- 不需要切换到 Python 环境
- 与现有 Node.js 项目集成自然
- 内置 tracing,调试多步骤工作流不靠猜
- 内置 RAG pipeline 支持,不是后期加的,是设计时就考虑了
Mastra 和 CrewAI 的编排模式接近(Role-based),但 Mastra 更适合生产级而非原型阶段。
适合:TypeScript/Node.js 团队、需要快速把原型转生产的团队、有前端工程化背景的开发者
AutoGen — 历史价值高于未来价值
AutoGen 50K+ GitHub Star 的体量不容忽视,它在多 Agent 对话模式上的探索是开创性的。
但微软的战略已经明确转向 Microsoft Agent Framework,AutoGen 不会有重大新功能了。
如果你现在已经在用 AutoGen,不急着迁,但要开始评估 Microsoft Agent Framework。如果你是新项目,不要选 AutoGen。
适合:已经在用 AutoGen 的团队维持现有系统、新项目不推荐
OpenAgents — 面向协议优先的未来
OpenAgents 的设计思路是网络优先,Agent 是网络节点,不是一个被调用一次就结束的工作流。
它的两个差异化点值得关注:
- 原生 MCP + A2A 支持:不是后期集成,是设计时就考虑了协议互操作
- 持久化网络:Agent 可以离开网络再回来,网络本身持续运行
这个方向代表未来,但目前生产案例偏少。适合对 Agent 互操作有强需求的团队做技术储备。
适合:需要多框架互操作、研究 Agent 网络协作协议、技术储备阶段
总结:不要用功能清单选框架
框架选型最常见的错误是把功能列表当决策依据。表格里 LangGraph 有「状态管理」,CrewAI 没有,所以选 LangGraph——这个逻辑在选型第一阶段就错了。
正确的决策顺序:
- 先分类问题:线性?角色协作?状态机?网络协作?
- 再匹配编排模式:问题类型对上了,框架自然清晰
- 最后看实现细节:学习曲线、团队技术栈、生态成熟度
编排模式匹配了,技术决策就正确了80%。剩下的20%是工程问题,不是架构问题。
相关阅读: