概览

LangChain 与 LangGraph:同一家族两种编排范式

LangChain 是链式抽象(LCEL / prompt / model / output parser)起家的通用 LLM 编排框架;LangGraph 是同一个团队出的图状态机抽象,主打 stateful multi-agent + cycles + 显式控制流。本文从抽象层级、控制流、状态管理、生态和典型场景五个角度对比。

对比项目

LangChain

Python · MIT

143.9k ★

LangChain 是面向 Agent 工程化的开源框架与编排平台,提供模型接入、工具调用、RAG、记忆与可观测性的统一抽象。

agent-frameworkragorchestrationllmpython
查看项目 →

LangGraph

Python · MIT

39.4k ★

LangGraph 是一个用于构建可控、可调试、长期运行的有状态 Agent 框架,以图的方式描述 Agent 的状态与控制流。

agent-frameworkstatefulgraphorchestrationpython
查看项目 →

功能对比

适合场景 LangChainLangGraph
抽象层级 Chain 抽象(LCEL):prompt | model | parser 串起来。组件化、易上手 Graph 抽象(StateGraph):节点 + 边 + 状态。允许 cycle、conditional branch、显式 state 管理
控制流 LCEL 默认 linear + operator overloading 风格的隐式控制流。需要循环 / 分支要写 RunnableLambda 自定义 显式节点 + 边:可以加 loop / branch / 状态读写 / 子图。控制流就是图本身
状态管理 短期内存用 LangChain 自带 Memory(ConversationalBufferMemory 等);长期持久化要自己接 DB 内置 state schema + checkpointing(InMemorySaver / SqliteSaver / PostgresSaver 等),agent 可以暂停 / 恢复 / time-travel
生态与集成 LangChain 生态:700+ integrations、LangSmith 观测、LangGraph Studio / LangServe 部署。可单独用 LangChain 不用 LangGraph LangGraph 生态:依赖 LangChain 的 integrations,但 StateGraph 是核心。可以跟 LangChain 组件混用
典型场景 线性 / 单步 LLM 工作流:RAG pipeline、prompt 实验、tool calling、output parsing。生产部署常见 复杂 multi-agent / stateful workflow:循环里 agent 互相 review、time-travel debug、长流程 human-in-the-loop

GitHub 数据

Metric LangChainLangGraph
Stars 143.9k39.4k
Forks 24.0k6.6k
语言 PythonPython
许可证 MITMIT
最近提交 2026年8月11日2026年8月10日

应该选择哪一个?

建议根据你的主要工作流、技术栈语言和集成需求来选择。用于生产前,请进一步查看项目文档、社区活跃度和最近的 GitHub 维护情况。

常见问题

LangChain 和 LangGraph 应该一起学吗?

建议先 LangChain LCEL 基础(chain / prompt / model / parser),再上 LangGraph 处理 stateful 场景。LCEL 学完你能搞定 80% 的 LLM 工作流;剩下 20% 需要循环 / 状态持久化 / time-travel 的,LangGraph 才有意义。

LangGraph 取代 LangChain 了吗?

没有。LangChain 是"上层 chain + integrations",LangGraph 是"图状态机",是补充关系。官方仓库 LangGraph 还是 LangChain monorepo 的一部分。生产里常见两者混用:LangGraph 管 workflow,LangChain 管 components。

LangGraph 适合做 multi-agent 吗?

适合。它的 StateGraph + checkpointing 是 multi-agent 场景的标准方案:CrewAI / AutoGen / OpenHands 等框架底层很多就用 LangGraph 做编排。time-travel debug 也是 multi-agent 痛点,LangGraph 内置。

新项目应该选 LCEL 还是 LangGraph?

如果是 RAG / 简单 tool calling,LCEL 更轻;如果涉及 multi-agent / 循环 / 状态持久化 / 长流程审批,选 LangGraph。也可以 LCEL 起步,发现不够再迁移到 LangGraph,迁移成本不高。