LangChain vs LangGraph:LLM 应用开发中的链式与图式编排,一文搞懂它们的关系与选型!

LangChain vs LangGraph:LLM 应用开发中的链式与图式编排,一文搞懂它们的关系与选型! 一、LangChain把组件串成链LangChain 是构建 LLM 应用的开源框架Python / JS 双版本核心做两件事一是提供一套标准接口把 LLM、提示词、检索器、工具、输出解析等组件统一起来二是攒起一个庞大组件生态向量库、文档加载器、各种模型适配器开箱即用。它的核心抽象是链——把组件像水管一样一段段接起来。最典型的写法是LCELLangChain Expression Language用管道符|把 Runnable 串起来# LangChain LCEL 最小示例一个带检索的问答链from langchain_core.prompts import ChatPromptTemplatefrom langchain_openai import ChatOpenAIfrom langchain_core.output_parsers import StrOutputParser# 1. 提示词模板把检索到的上下文和问题拼进 promptprompt ChatPromptTemplate.from_template( 根据以下资料回答问题。\n资料{context}\n问题{question})# 2. 模型model ChatOpenAI(modelgpt-4o-mini)# 3. 输出解析器把模型消息转成纯字符串parser StrOutputParser()# 用 | 串成链prompt - model - parserchain prompt | model | parser# 调用统一同步/异步/批量/流式接口answer chain.invoke({context: LangGraph 用图编排 Agent, question: LangGraph 是什么})print(answer)这段代码体现了 LangChain 的哲学线性、声明式、组件可替换。换模型只改一行加解析器接一段管道。除了 LCELLangChain 还有 RetrieverRAG 的核心从向量库取相关文档、Tool / ToolCalling让 LLM 调外部函数、AgentLLM 自主决定调哪个工具、循环执行直到完成等抽象。什么时候用 LangChain单轮问答 / 线性 RAG检索→生成一条链走完没有分支循环LCEL 最舒服。快速原型 / 组件拼装要接十几种向量库试效果LangChain 生态最省事。结构化输出 / 文档处理把 LLM 输出强类型成 Pydantic或加载切分一批文档。边界一旦你的 Agent 需要根据上一步结果决定走哪条路、可能循环重试、多个 Agent 共享状态链式抽象就开始别扭——这正是 LangGraph 要解决的。⚠️ 边界提示链式抽象适合一条道走到黑的流程。一旦出现分支、循环、多 Agent 共享状态就该换 LangGraph 了。二、LangGraph把流程画成图LangGraph 由 LangChain 团队出品定位是构建有状态、多步骤、可循环的 LLM 应用尤其多 Agent 系统的编排框架。关键转变是把应用抽象成有向图而不是链。核心抽象有这么几个抽象作用StateGraph以一个共享StateTypedDict 或 dataclass为中心的图。所有节点读写同一个状态Node节点每个节点是一个函数接收 state、返回 state 的更新Edge边节点间的跳转。条件边根据当前 state 动态决定下一个节点——分支与循环的关键Reducer定义 state 字段如何被多个节点合并覆盖 / 追加 / 求和避免状态被无脑覆盖Checkpoint每步保存 state 快照支持中断恢复、时间旅行回放历史状态Human-in-the-loop图执行中可暂停等待人工审批或输入再继续一段最小代码感受下# LangGraph StateGraph 最小示例一个带条件分支的 Agent# 以下示意结构省略了真实 LLM/工具调用from typing import TypedDict, Annotatedfrom operator import addfrom langgraph.graph import StateGraph, START, END# 1. 定义共享状态messages 用追加 reducer列表拼接step 用覆盖class State(TypedDict): messages: Annotated[list, add] # reduceroperator.add多步消息累加而非覆盖 step: int# 2. 节点模型生成一步def call_model(state: State) - dict: # ...调用 LLM返回对状态的更新... return {messages: [模型回复], step: state[step] 1}# 3. 条件边根据状态决定下一步def should_continue(state: State) - str: if state[step] 3: returnend # 步数够了结束 returntools # 否则继续调工具# 4. 组装图graph StateGraph(State)graph.add_node(agent, call_model)graph.add_node(tools, lambda s: {messages: [工具结果]})graph.add_edge(START, agent)graph.add_conditional_edges(agent, should_continue, {tools: tools, end: END})graph.add_edge(tools, agent) # 工具结果回灌 agent形成循环app graph.compile()# 运行状态在节点间流转条件边控制走向result app.invoke({messages: [用户问题], step: 0})注意tools - agent这条边形成了显式的循环而循环走向由should_continue这个条件边决定。在 LangChain 的链里表达这种调完工具再回模型、达到条件才停得靠 AgentExecutor 的隐式循环难观测也难插手在 LangGraph 里循环、分支、状态都是图上看得见的东西。 关键对比链式LangChain循环藏在 AgentExecutor 内部隐式、难插手图式LangGraph循环是显式边每步可断点、可回放、可观测什么时候用 LangGraph多 Agent 协作supervisor 分派任务、多个 Agent 讨论汇总需要共享状态和条件跳转。循环重试 / 条件分支的复杂 Agent生成→校验→不通过就改→再校验直到达标。人工审核节点 / 断点续跑流程跑到某步暂停等人确认或长任务挂了从 Checkpoint 恢复。边界如果流程是线性的、没有循环分支、状态也不复杂上 LangGraph 是给自己加学习成本——直接用 LangChain LCEL 就够。⚠️ 边界提示流程线性、无循环分支、状态简单 → 直接用 LangChain LCEL别上 LangGraph 给自己加学习成本。三、它俩什么关系理清三点就够了同源都由 LangChain 团队LangChain AI维护。LangGraph 是 LangChain 生态在Agent 编排方向的延伸与升级不是另一个团队另起炉灶。解决痛点早期 LangChain 的AgentExecutor用链式抽象处理 Agent难以表达循环、分支、多 Agent 状态共享与人工介入。LangGraph 用图把这些显式建模出来可控性和可调试性大幅提升。自 2024 年起官方把 LangGraph 定为构建超过单次 LLM 调用应用的首选LangChain v1.02025只保留一个建在 LangGraph 之上的 agent 抽象复杂 Agent 全面迁移到 LangGraph。可独立、可混用LangGraph 不强依赖 LangChain 的链可以只用它的节点/状态机制。但实践中最常见的是混用——节点内部用 LangChain 的组件prompt、model、retriever、tool做单步逻辑外层用 LangGraph 编排整张图。图1LangChain 组件装进 LangGraph 节点由 StateGraph 统一编排一句话LangChain 给你零件LangGraph 给你图纸。零件可以单独用图纸也可以装别的零件但搭配起来最顺。 一句话记忆LangChain 零件库LangGraph 图纸。混用最顺。四、正面对比维度LangChainLCEL/链LangGraph图抽象模型链线性 Runnable 管道有向图节点边共享状态状态管理弱靠 Memory / 外部强显式 State Reducer Checkpoint循环 / 多步AgentExecutor 可循环但难控条件边原生支持循环可控分支不直观条件边天然支持可控性 / 可调试中等高每步可观测、可中断、可回放持久化 / 恢复需自己实现Checkpoint 内置人工介入难内置 human-in-the-loop学习曲线平缓较陡适用复杂度简单 ~ 中等中等 ~ 复杂图2链式线性vs 图式条件边 循环最该记住的三条差异状态管理链里状态是流过去就没了要跨步共享得塞进 Memory 或外部存储图里 State 是一等公民所有节点读写同一个状态Reducer 定义怎么合并。循环可控性链的循环藏在 AgentExecutor 内部想插个审核、改个走向很费劲图的循环是显式边每步可断点、可回放。调试可观测性图有 Checkpoint 快照和时间旅行跑挂了能回放历史状态定位问题链得自己加日志。五、怎么选一张决策表场景推荐理由单轮问答 / 线性 RAGLangChain一条链走完无分支循环固定步骤的链式处理LangChain步骤已知LCEL 声明式最简洁快速原型 / 组件拼装LangChain生态最全换组件成本低多 Agent 协作LangGraph需共享状态 条件分派循环重试 / 条件分支 AgentLangGraph条件边原生支持循环可控人工审核节点 / 断点续跑LangGraph内置 human-in-the-loop Checkpoint强可观测 / 可控流程LangGraph每步可中断、可回放长任务需要状态回放LangGraphCheckpoint 时间旅行图3选型决策树决策依据一句话是否需要循环 共享状态 多步骤可控需要 → LangGraph不需要、线性即可 → LangChain。混用建议最常见也最推荐的模式是节点内 LangChain外层 LangGraph。用 LangChain 的 prompt/model/retriever/tool 写单步逻辑用 LangGraph 的 StateGraph 编排整体。这样既享受 LangChain 的生态又拿到 LangGraph 的可控性。两个常见误区⚠️ 避坑“LangGraph 要替代 LangChain”——不是。简单链/RAG 官方仍推荐 LangChainLangGraph 只在复杂 Agent 层接棒。“用了 LangChain 就不能用 LangGraph”——恰恰相反两者混用才是官方推荐的实践。最后对于正在迷茫择业、想转行提升或是刚入门的程序员、编程小白来说有一个问题几乎人人都在问未来10年什么领域的职业发展潜力最大答案只有一个人工智能尤其是大模型方向当下人工智能行业正处于爆发式增长期其中大模型相关岗位更是供不应求薪资待遇直接拉满——字节跳动作为AI领域的头部玩家给硕士毕业的优质AI人才含大模型相关方向开出的月基础工资高达5万—6万元即便是非“人才计划”的普通应聘者月基础工资也能稳定在4万元左右。再看阿里、腾讯两大互联网大厂非“人才计划”的AI相关岗位应聘者月基础工资也约有3万元远超其他行业同资历岗位的薪资水平对于程序员、小白来说无疑是绝佳的转型和提升赛道。如果你还不知道从何开始我自己整理一套全网最全最细的大模型零基础教程我也是一路自学走过来的很清楚小白前期学习的痛楚你要是没有方向还没有好的资源根本学不到东西下面是我整理的大模型学习资源希望能帮到你。扫码免费领取全部内容最后1、大模型学习路线2、从0到进阶大模型学习视频教程从入门到进阶这里都有跟着老师学习事半功倍。3、 入门必看大模型学习书籍文档.pdf书面上的技术书籍确实太多了这些是我精选出来的还有很多不在图里4、AI大模型最新行业报告2026最新行业报告针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。5、面试试题/经验【大厂 AI 岗位面经分享107 道】【AI 大模型面试真题102 道】【LLMs 面试真题97 道】6、大模型项目实战配套源码适用人群四阶段学习规划共90天可落地执行第一阶段10天初阶应用该阶段让大家对大模型 AI有一个最前沿的认识对大模型 AI 的理解超过 95% 的人可以在相关讨论时发表高级、不跟风、又接地气的见解别人只会和 AI 聊天而你能调教 AI并能用代码将大模型和业务衔接。大模型 AI 能干什么大模型是怎样获得「智能」的用好 AI 的核心心法大模型应用业务架构大模型应用技术架构代码示例向 GPT-3.5 灌入新知识提示工程的意义和核心思想Prompt 典型构成指令调优方法论思维链和思维树Prompt 攻击和防范…第二阶段30天高阶应用该阶段我们正式进入大模型 AI 进阶实战学习学会构造私有知识库扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架抓住最新的技术进展适合 Python 和 JavaScript 程序员。为什么要做 RAG搭建一个简单的 ChatPDF检索的基础概念什么是向量表示Embeddings向量数据库与向量检索基于向量检索的 RAG搭建 RAG 系统的扩展知识混合检索与 RAG-Fusion 简介向量模型本地部署…第三阶段30天模型训练恭喜你如果学到这里你基本可以找到一份大模型 AI相关的工作自己也能训练 GPT 了通过微调训练自己的垂直大模型能独立训练开源多模态大模型掌握更多技术方案。到此为止大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗为什么要做 RAG什么是模型什么是模型训练求解器 损失函数简介小实验2手写一个简单的神经网络并训练它什么是训练/预训练/微调/轻量化微调Transformer结构简介轻量化微调实验数据集的构建…第四阶段20天商业闭环对全球大模型从性能、吞吐量、成本等方面有一定的认知可以在云端和本地等多种环境下部署大模型找到适合自己的项目/创业方向做一名被 AI 武装的产品经理。硬件选型带你了解全球大模型使用国产大模型服务搭建 OpenAI 代理热身基于阿里云 PAI 部署 Stable Diffusion在本地计算机运行大模型大模型的私有化部署基于 vLLM 部署大模型案例如何优雅地在阿里云私有部署开源大模型部署一套开源 LLM 项目内容安全互联网信息服务算法备案…扫码免费领取全部内容3、这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】