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%免费】

相关新闻

多项式除法算法实现:从数学原理到C++代码详解

多项式除法算法实现:从数学原理到C++代码详解

1. 多项式除法:从数学概念到算法实现在算法竞赛和计算机科学的学习中,多项式运算是一个绕不开的话题。它不仅是数学分析的基础,更在信号处理、编码理论(如CRC校验)、机器学习(如多项式回归)等领…

2026/9/23 18:00:47 阅读更多 →
QT Release程序崩溃分析:PDB与Dump文件配置实战指南

QT Release程序崩溃分析:PDB与Dump文件配置实战指南

1. 项目概述:为什么你的QT程序需要PDB和Dump文件?如果你是一个用C和QT开发桌面应用的工程师,尤其是负责维护一个已经发布给用户使用的产品,那么下面这个场景你一定不陌生:测试同事或者用户反馈说“程序在某个操作下闪退…

2026/9/21 0:21:14 阅读更多 →
内江楼宇对讲厂家

内江楼宇对讲厂家

在现代城市生活中,楼宇对讲系统已成为保障居民安全、提升居住体验的重要设施。特别是在内江这样的城市,选择一个可靠的楼宇对讲系统厂家至关重要。本文将从几个方面为大家推荐四川鸿门科技,并提供一些实用的建议。1. 产品质量与技术优势数据支…

2026/9/19 4:18:21 阅读更多 →

最新新闻

面试被问中值滤波性能优化?3个技巧让速度提升10倍

面试被问中值滤波性能优化?3个技巧让速度提升10倍

面试被问中值滤波性能优化?3个技巧让速度提升10倍 上周陪一个做嵌入式转后端的朋友模拟面试,面试官刚抛出“中值滤波在百万像素图像处理中卡顿怎么办”,他愣住两秒,开始背教科书定义。结果面试官追问:“你代码里怎么写的?瓶颈在哪?”他哑口无言。这…

2026/9/23 18:02:15 阅读更多 →
交通灯检测数据集:XML转TXT与YOLO训练实战指南

交通灯检测数据集:XML转TXT与YOLO训练实战指南

简介:这是一份面向交通场景目标检测实验的交通标志与交通信号灯数据集,原创并由LabelImg手工标注,覆盖限速牌、警告牌以及红灯、绿灯、黄灯等常见类别,图片为真实路况高清照片,适合目标检测入门、模型效果对比和毕业设…

2026/9/23 18:02:15 阅读更多 →
OOMWOO 已知地图定位与导航:基于 Nav2、AMCL 与 slam_toolbox 的 nav-localize 实战指南

OOMWOO 已知地图定位与导航:基于 Nav2、AMCL 与 slam_toolbox 的 nav-localize 实战指南

智能硬件机器人嵌入式物联网 【免费下载链接】oomwoo Open-source vacuum robot cleaner 项目地址: https://gitcode.com/gh_mirrors/oo/oomwoo 点击查看 免费下载 导读 本指南围绕 OOMWOO 开源扫地机器人的 nav-localize 需求文档(RFC)展开…

2026/9/23 18:02:15 阅读更多 →
YOLO鸟类数据集从VOC转YOLO格式到训练避坑全流程

YOLO鸟类数据集从VOC转YOLO格式到训练避坑全流程

简介:面向目标检测初学者与课程设计学生,这是一套完整的YOLO鸟类检测项目包,整合了原始图像、已标注文件和可直接运行的训练代码,适合作为期末大作业或课堂项目参考,免去自行采集数据与标注的繁琐流程。压缩包内共2000…

2026/9/23 18:02:15 阅读更多 →
PSO优化风-水电联合调度:快速求解多约束能源调度问题

PSO优化风-水电联合调度:快速求解多约束能源调度问题

简介:本资源是基于粒子群算法(PSO)实现风电-水电(抽水蓄能)联合优化调度的MATLAB仿真程序,面向电力系统优化、新能源并网调度及智能算法应用方向的研究生、工程师与科研人员,解决风电出力波动大…

2026/9/23 18:02:15 阅读更多 →
Apache Arrow R 包表达式绑定开发实战:以 lubridate::mday() 为例的完整教程

Apache Arrow R 包表达式绑定开发实战:以 lubridate::mday() 为例的完整教程

数据工程大数据序列化数据分析 【免费下载链接】arrow Apache Arrow is a multi-language toolbox for accelerated data interchange and in-memory processing 项目地址: https://gitcode.com/gh_mirrors/arrow13/arrow 点击查看 免费下载 本教程源自 Apache Arr…

2026/9/23 18:01:15 阅读更多 →

日新闻

3招搞定手机怎么下载微信面试难题实战项目解析

3招搞定手机怎么下载微信面试难题实战项目解析

3招搞定手机怎么下载微信面试难题实战项目解析 面试被问“手机怎么下载微信”背后的原理,90%的人答不上来。别笑,这看似弱智的问题,实则是考察你对移动应用分发机制、安全校验及网络协议理解的试金石。我带过不少校招新人,他们背了八股文,却连一个A…

2026/9/23 0:00:23 阅读更多 →
2k显示屏性能优化踩坑:版本升级后API全变了,这份源码解析救了我

2k显示屏性能优化踩坑:版本升级后API全变了,这份源码解析救了我

2k显示屏性能优化踩坑:版本升级后API全变了,这份源码解析救了我 刚把开发环境的显示器从1080P换到2K,跑老项目直接报错,版本升级后 API…

2026/9/23 0:01:25 阅读更多 →
3步搞定美眉图实战项目,告别官方文档抓不住重点

3步搞定美眉图实战项目,告别官方文档抓不住重点

3步搞定美眉图实战项目,告别官方文档抓不住重点 官方文档翻了三遍还是云里雾里?别急,美眉图在实战项目中常被用来做数据可视化,但它的原理比你想的简单。今天咱们直接上手,用一个完整的小项目把美眉图跑通,不再死磕那些冗长的理论说明。…

2026/9/23 0:01:25 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/23 4:55:02 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/23 4:49:06 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/23 9:53:41 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/23 9:53:40 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/23 9:53:40 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/23 9:53:40 阅读更多 →