LangChain、LangGraph 与 CrewAI 的定位对比

从控制层、运行时、角色协作和工程边界角度比较 LangChain、LangGraph 与 CrewAI 的分工和选型。

#tech / ai #resource / langchain #resource / langgraph #resource / crewai #type / synthesis #status / growing

[!info] related notes

LangChain、LangGraph 与 CrewAI 的定位对比

范围

这篇关系笔记讨论的不是某个框架 API 怎么写,而是三者在 LLM 应用控制层里分别承担什么角色,以及什么时候该选哪一个。

为什么要放在一起理解

这三个名字经常在同一段讨论里出现,但它们解决的问题并不在同一层:

  • 有的更像通用开发框架
  • 有的更像低层运行时
  • 有的更像多智能体团队与流程编排框架

如果层级不分清,系统设计就很容易把“单 agent loop”“状态机控制”“多角色协作”混成一团。

依赖路径 / 调用链 / 演进链

先从控制层看,可以把成熟 LLM 应用粗略理解成:

用户输入 -> 上下文构建 -> 模型推理 -> 工具调用 / 检索 / 状态更新 -> 输出校验 / 审核 / tracing

这条链里:

  • langchain 更像通用 LLM/agent 应用开发框架
  • langgraph 更像状态化 agent 和 workflow 的底层运行时
  • crewai 更像多角色协作和流程表达框架

如果再往下拆:

  1. LangChain 重点解决模型、消息、tools、retrieval、structured output、middleware 的统一开发接口
  2. LangGraph 重点解决 state、nodes、edges、checkpoint、durable execution、HITL
  3. CrewAI 重点解决 Agent、Task、Crew、Flow 这套团队协作和流程骨架

对比与易混淆点

维度LangChainLangGraphCrewAI
核心定位通用 LLM / agent 开发框架stateful agent / workflow 运行时多智能体团队与流程编排框架
主要抽象model、messages、tools、agent、retrieval、middlewarestate、node、edge、checkpointagent、task、crew、flow
最擅长的问题快速搭 RAG、tool agent、结构化输出长流程、状态控制、恢复执行、人工介入多角色协作、任务拆分、流程表达
更像什么上层开发框架底层执行骨架有观点的团队协作框架
主要风险抽象很多,容易把架构做复杂图和状态设计需要工程纪律多 agent 容易 token 膨胀,角色表演大于收益

几个实用判断:

  • 如果你主要在做 RAG、tool calling、structured output,通常先看 LangChain
  • 如果你已经进入复杂状态流、审批点、checkpoint、durable execution,通常该看 LangGraph
  • 如果任务天然像团队协作,例如研究员、分析师、写作者串联,通常更适合看 CrewAI

还有一个更重要的边界:

  • 单 agent 问题,不要硬做成多 agent
  • 能由确定性代码完成的规则,不要交给框架里的 agent 自由决定
  • framework 只是控制层,不是模型能力本身
创建于 2026/5/20 更新于 2026/5/27