EN

LangChain vs LangGraph 2026深度对比:何时用哪个框架?

从线性链到有状态图:理解两者的设计哲学和适用边界

返回教程列表🌐 Read in English
高级9 分钟

LangChain vs LangGraph 2026深度对比:何时用哪个框架?

从线性链到有状态图:理解两者的设计哲学和适用边界

LangChain vs LangGraph 对比(2026):链管线性流程、图管有状态 Agent(循环/审批/持久化)——判断标准一条:运行时要不要根据结果改路径。含决策表、组合用法(图编排+链做单步)、AgentExecutor 迁移路径。

LangChain vs LangGraph 2026 深度对比:何时用哪个框架?

一句话区分

LangChain:组装线性的 LLM 调用链(提示词 → 模型 → 解析),适合 RAG、简单工具调用。 LangGraph:把 Agent 建成有状态的图(节点 + 条件边 + 持久化状态),适合循环、分支、多 Agent、人工审批。

二者同源同团队,不是竞争关系而是分工:官方自己的新 Agent 能力全部建在 LangGraph 上,经典 LangChain AgentExecutor 已是遗留路径。所以真正的问题不是"哪个好",而是"你的工作流是链还是图"。

LangChain:LCEL 链

python
from langchain_core.prompts import ChatPromptTemplate
from langchain_openai import ChatOpenAI
from langchain_core.output_parsers import StrOutputParser

chain = ( ChatPromptTemplate.from_template('用三句话总结:{text}') | ChatOpenAI(model='gpt-4o-mini') | StrOutputParser() ) result = chain.invoke({'text': '……'})

管道操作符把"提示词→模型→解析"串起来,天然支持流式/批量/异步。适合:问答、摘要、翻译、RAG 检索问答、确定性的多步流水线。特征:流程在写代码时就定死了,运行时不会改变路径。

LangGraph:状态图

当流程需要"根据结果决定下一步"——重试、循环、分支、等人审批——线性链就表达不了了:

python
from langgraph.graph import StateGraph, START, END

builder = StateGraph(State) builder.add_node('agent', call_model) builder.add_node('tools', tool_node) builder.add_edge(START, 'agent') builder.add_conditional_edges('agent', route) # 模型要调工具→tools;否则→END builder.add_edge('tools', 'agent') # 工具结果回流,形成循环 graph = builder.compile(checkpointer=saver) # 持久化:多轮记忆/断点恢复

LangGraph 独有的三件生产级能力:checkpointer 持久化(状态存库,崩溃可恢复、跨请求多轮记忆)、interrupt 人工审批(图暂停等人确认再续跑,可以隔几天)、时间旅行调试(回看/分叉任意历史状态)。完整教程见 LangGraph 状态化 Agent 指南

决策表

你的场景用理由

RAG 问答、摘要、格式转换LangChain(或裸 SDK)线性,链够用 工具调用但只有一两步LangChainbind_tools + 简单循环即可 Agent 需要循环试错(搜→不满意→再搜)LangGraph条件边表达循环 多 Agent 协作(主管分派+回收)LangGraphsupervisor 模式就是一张图 需要人工审批关键操作LangGraphinterrupt 原生支持 对话状态要跨请求/跨天保留LangGraphcheckpointer 很简单的单次调用都别用裸 SDK 50 行更清楚

组合使用(生产中的常态)

不是二选一:图做编排,链做单步。LangGraph 节点内部完全可以跑一条 LCEL 链——检索节点是一条 RAG 链,评审节点是一条打分链,图负责把它们按条件接起来。官方文档也是这么推荐的。

迁移注意

  • 旧的 AgentExecutor/initialize_agent 代码 → 优先迁到 langgraph.prebuilt.create_react_agent(三行起步),需要定制再展开成显式图
  • LangChain 的模型/工具/检索器对象在 LangGraph 里直接复用,迁移成本主要在编排层
  • 部署形态的选择(自托管 FastAPI vs LangGraph Platform)见 FastAPI vs LangServe
  • 框架本身要不要用:和 LlamaIndex 的分工见 LangChain vs LlamaIndex
  • FAQ

    Q:学哪个? 2026 年的答案:先学 LangGraph 的图思维(这是行业方向,状态机式 Agent 编排各框架都在收敛),LCEL 链作为节点内的工具顺带会。

    Q:LangGraph 会不会太重? 对简单流程是的——没有循环/状态/审批需求时,引入图是过度设计。判断标准就一条:运行时需不需要根据结果改变路径

    Q:JS/TS 生态? LangGraph.js 与 Python 版 API 高度一致;Next.js 原生路线对比见 Vercel AI SDK vs LangChain.js


    *最后更新:2026 年 6 月。API 以 LangChain/LangGraph 官方文档为准。*

    相关工具

    LangChainLangGraphOpenAI
    所属主题:LangChain / LangGraph