LangChain 与 LangGraph:大模型应用与智能体编排全解析
面向 LangChain 1.x 与 LangGraph 1.x:厘清二者定位与差异,给出企业级组合实践
摘要
大模型应用开发已经从简单调用模型 API 的 Demo 阶段,走向组件化、可编排、高可靠的生产落地阶段。LangChain 与 LangGraph 承担着不同层级的职责:LangChain 提供模型、提示词、检索、工具等基础组件能力,LangGraph 专注复杂有状态智能体工作流编排,二者互补协同。本文从五层技术栈、四大核心基石、企业级工程落地到技术选型决策树,系统解析两大框架的定位差异与企业级组合实践。
引言:两套框架,两个层级
大模型应用开发已经从简单调用模型 API 的 Demo 阶段,走向组件化、可编排、高可靠的生产落地阶段。LangChain 与 LangGraph 作为生态内的核心开源框架,承担着不同层级的职责:LangChain 提供模型、提示词、检索、工具等基础组件能力,LangGraph 专注复杂有状态智能体工作流编排。二者并非替代关系,而是互补协同,共同支撑从简单 RAG 问答到多智能体复杂系统的全场景开发。随着 1.0 版本正式发布,接口趋于稳定,已经成为企业构建大模型应用的主流技术栈。
很多开发者容易混淆两者边界:LangChain 解决“用哪些能力去做”,LangGraph 解决“这些能力如何有序协同运行”。简单线性任务可以只用 LangChain;涉及循环推理、动态分支、状态持久化、人工介入、多智能体协作时,则必须引入 LangGraph。
一、LangChain:大模型应用的组件化底座
LangChain 的核心设计思想是组件化、可插拔、编排优先,将大模型应用的各类能力拆解为独立可替换组件,通过统一抽象接口完成组装,快速搭建对话、RAG、工具调用等各类应用。
1.1 五层技术栈架构
教材中将 LangChain 整体归纳为五层技术栈,完整覆盖大模型应用全链路:
模型层
统一封装 LLM、Chat Model、Embedding 嵌入模型,屏蔽各家大模型厂商 API 差异,统一提供同步、异步、流式、批量调用能力。三类模型接口需要做好区分:LLM 面向文本补全;Chat Model 面向多角色对话、工具调用,是当前主流;Embedding 模型完成文本向量化,用于检索、聚类场景。
核心原语层
提示模板、输出解析器、文档处理器、记忆、工具等基础能力单元。提示工程:提供字符串模板、对话模板、少样本模板、流水线模板,实现提示词与业务代码解耦;输出解析器:把模型非结构化输出转换为可被程序消费的结构化数据,包含 PydanticOutputParser、JsonOutputParser、容错修复类解析器,1.x 版本更推荐使用模型原生 with_structured_output 结构化输出能力;文档处理:完整的文档加载、文本切分能力,支撑 RAG 知识库构建;工具调用:定义工具三要素 name、description、args_schema,让大模型具备调用外部系统的能力。
编排层
以 LCEL(LangChain 表达式语言)为核心,基于 Runnable 统一抽象,通过管道符 | 串联组件。所有组件(提示、模型、解析器、工具)均实现 Runnable 接口,统一支持 invoke 同步、ainvoke 异步、stream 流式、batch 批量调用;同时支持并行执行、条件分支、降级容错等原语。早期面向对象的传统 Chain 如 LLMChain、RetrievalQA 等已经迁移至 langchain-classic 包,新项目优先使用 LCEL 组合式开发。
应用层
基于上层组件封装场景化方案,RAG 检索增强生成、对话系统、简单 Agent 都属于这一层。其中 RAG 是落地最广泛场景,完整链路包含文档加载、文本切分、向量存储、多策略检索、答案生成,通过查询改写、混合检索、重排序等高级技术提升回答质量。
可观测层
依托 LangSmith 完成链路追踪、数据集管理、自动化评估、提示词版本管理,解决大模型应用“黑盒”痛点。
1.2 Memory 记忆体系:解决大模型无状态问题
大模型本身无状态,记忆组件用来维护会话上下文。LangChain 把记忆划分为三层:
工作记忆
位于模型上下文窗口,推理时直接生效,受 Token 长度严格限制;
短时记忆
会话级缓存,支撑单会话多轮交互;
长时记忆
跨会话持久化存储用户画像、历史交互,理论容量无限。
记忆体系的版本变动:不再推荐传统 Memory
版本提示:ConversationBufferMemory 等传统记忆类在 1.0 版本已经移出主包。当项目走向复杂智能体场景,官方不再推荐传统 Memory,优先采用 LangGraph 的 Checkpointer 做会话短时记忆,搭配 BaseStore 实现跨会话长时记忆。
1.3 LangChain 的能力边界
LCEL 非常适合线性、确定、无循环的业务流程:单轮 RAG 问答、简单文档处理流水线、标准化单轮任务。
它的短板同样明显:原生不支持循环迭代;条件路由只能在构建期预定义,运行时不能动态改变流向;缺少全局统一状态,状态需要在组件之间手动传递;没有原生持久化、中断恢复、人机交互能力。当业务需要 Agent 自主循环推理、动态分支流转,单纯依靠 LangChain Chain 就会遇到瓶颈,这正是 LangGraph 诞生的背景。
二、LangGraph:面向智能体的图编排运行时
LangGraph 不是替代 LangChain,而是基于 LangChain 各类组件,提供一套有向图 + 全局状态的编排运行时,专门解决复杂智能体、长流程业务的编排难题,执行模型借鉴 Pregel 超步 BSP 模型。
2.1 四大核心基石
LangGraph 整个体系建立在四个核心概念之上:
State 全局状态
图唯一数据载体,所有节点之间不直接传参,全部读写全局状态。节点不会直接修改原始状态,只返回增量更新,框架依靠 Reducer 合并更新。支持 TypedDict 轻量字典、Pydantic 模型、内置 MessagesState 对话专用状态;Reducer 可以自定义列表追加、数值聚合、冲突合并逻辑,是状态管理的核心机制。
Node 节点
业务执行单元,接收状态,执行业务逻辑,返回状态增量更新。分为普通业务节点、内置 ToolNode 工具执行节点;节点可以通过 Command(goto=...) 实现动态跳转。
Edge 边
定义节点流向。普通边代表固定跳转;条件边 Conditional Edge 是灵活性核心,读取状态,运行时动态选择下一个节点,以此实现循环、分支、意图路由。
START / END
虚拟入口与虚拟终点,START 标记流程起点,到达 END 代表流程终止。
2.2 核心关键能力
Checkpointer 状态持久化
每一步执行完成保存状态快照,实现三大能力:断点续跑(程序异常、人工暂停后从断点继续执行,不用从头跑)、时间旅行(回溯历史状态调试重跑)、状态审计。开发测试用 MemorySaver,单机生产使用 SqliteSaver,分布式企业环境选择 PostgresSaver。
Human-in-the-Loop 人机介入
支持静态中断点、动态条件中断,流程可以在任意节点暂停,人工编辑状态、审批高危操作,确认之后恢复执行,补齐 AI 能力边界,是生产环境风控的重要手段。
丰富执行模式
invoke 同步、ainvoke 异步、stream 流式输出、batch 批量执行;配置 recursion_limit 最大超步数,防止智能体死循环。
单智能体与多智能体原生编排
单智能体经典模式:ReAct 推理行动交替、ReWOO 一次性规划并行执行、Plan-Execute 规划执行分离、Reflexion 反思迭代,适配不同复杂度任务;多智能体四大模式:顺序流水线、分层监督 Supervisor-Worker(企业最常用)、对等协商辩论模式、工具共享协作模式,支撑专业分工的大型智能体系统。
2.3 LangGraph 与 LangChain Chain 核心对比
| 对比维度 | LangChain Chain(LCEL) | LangGraph |
|---|---|---|
| 执行模型 | 线性单向流水线,DAG 无循环 | 有向状态机,支持循环、回环、动态跳转 |
| 状态管理 | 状态链式传递,无全局统一状态 | 全局 State,Reducer 自动合并增量更新 |
| 流程灵活性 | 流程预定义,运行时难以动态变更 | 条件边原生支持运行时分支、循环迭代 |
| 持久化能力 | 无原生支持,需要自行开发 | Checkpointer 开箱即用,断点续跑、状态快照 |
| 人机交互 | 需要大量自定义开发 | 原生中断、人工介入一等公民 |
| 多智能体 | 实现困难,耦合度高 | 原生支持多种多智能体协作架构 |
| 学习曲线 | 平缓,上手简单 | 较陡峭,需要理解状态机思想 |
| 适用场景 | 简单 RAG、单轮任务、线性标准化流程 | Agent 智能体、多智能体、循环推理、长业务流程、人工审批场景 |
补充辨析:Memory vs State
LangChain Memory 只聚焦对话历史;LangGraph State 是全流程任意结构化数据载体,对话消息、中间计算结果、元数据全部可以存放,能力范围远大于传统 Memory,并且原生支持持久化。
三、企业级工程落地实践
框架只是工具,生产环境落地需要兼顾性能、可靠性、安全、可观测,LangChain + LangGraph 项目需要关注以下工程要点。
3.1 可观测:LangSmith 全链路治理
LangSmith 作为官方配套平台,解决大模型应用黑盒问题,四大模块覆盖研发全生命周期:
Tracing 链路追踪
自动埋点采集每一个 LLM、工具、检索组件输入输出、耗时、Token 消耗,定位性能瓶颈与逻辑错误;
Datasets 数据集管理
维护测试黄金数据集,版本管理,支撑版本迭代对比;
Evaluation 自动化评估
离线批量评估、线上采样评估,支持 LLM-as-Judge 裁判模型、语义相似度等评估手段;
Prompt Hub 提示词仓库
提示词版本管理,提示词与代码解耦。
3.2 性能优化方向
Token 成本与速度
上下文压缩、三级缓存(模型输出缓存、嵌入缓存、检索缓存),按照任务选择最小够用模型;
并发吞吐
全异步开发、无依赖节点并行执行、连接池复用;
RAG 专项
合理文档切分,混合检索 + 重排序,查询改写优化召回质量;
LangGraph 专项
状态轻量化,不把非必要数据存入 State 避免状态膨胀;减少不必要大模型调用;控制循环迭代次数。
3.3 可靠性、容错与安全
容错
设置重试(指数退避)、单节点 + 全链路超时、降级熔断;recursion_limit + 超时双重防护防止 Agent 死循环;
安全
输入侧防范 Prompt 注入、敏感信息脱敏;输出侧幻觉校验、合规过滤;工具调用权限分级、高危工具沙箱执行、高危操作强制人工审批;全链路操作审计留痕。
3.4 高频踩坑总结
Token 溢出
长对话、检索内容过多超出窗口,采用滑动窗口 + 摘要压缩;
RAG 答非所问
优化切分策略、引入重排序、做查询改写;
Agent 无限循环
配置最大迭代次数,优化工具描述,增加明确终止条件;
状态膨胀
及时清理中间临时数据,冷热数据分离;
工具调用参数错误
参数强校验,优化工具描述,使用模型原生结构化输出。
四、技术选型决策树:什么时候用谁?
结合业务复杂度,给出选型判断原则:
优先只用 LangChain(LCEL)
业务流程简单、完全线性无循环;简单知识库 RAG 问答;快速原型验证;单轮任务处理。
优先选用 LangGraph
需要 Agent 自主工具调用循环;业务存在运行时动态分支判断;需要断点续跑、会话状态持久化;需要人工审批、人机介入;多智能体协同;长周期复杂业务流程。
企业主流混合模式(推荐)
基础组件全部复用 LangChain(模型、提示模板、文档加载、检索器、工具定义),流程编排交给 LangGraph。LangChain 的 create_agent 返回对象本身就是编译完成的 LangGraph 图,还可以直接作为子图嵌入更大的工作流,实现能力复用。
误区提醒:不是所有项目都要上 LangGraph
不是所有项目都要上 LangGraph。简单 RAG 强行使用 LangGraph 会增加不必要的复杂度;反过来复杂智能体硬写在 LCEL 中,会造成业务逻辑臃肿,后期维护代价极高。
五、总结与展望
LangChain 1.x 与 LangGraph 1.x 构建了一套分层完整的大模型开发体系:LangChain 负责“能力积木”,把模型、知识库、工具、提示词等基础能力标准化封装;LangGraph 负责“流程剧本”,用状态机图模型描述复杂智能体的执行流转,处理循环、分支、持久化、人工干预这些复杂编排问题。
大模型应用开发,不再只是调大模型写提示词。从原型走向生产,既要用好 LangChain 丰富的组件生态,做好 RAG、工具调用、提示工程;也要理解 LangGraph 状态-节点-边的编排思想,合理管控智能体的执行流程。同时配合 LangSmith 做观测评估,加上完整的性能、容错、安全设计,才可以真正构建稳定可用的企业级大模型与智能体系统。
配套学习资料
LangChain 与 LangGraph 技术学习资料(2026-09-22)
pdf本文配套的系统性学习资料,含完整技术栈梳理与要点归纳,支持页面内在线查看。
32 页421 KB仅供在线学习查看 · 不提供下载