十三Tech
LLM 应用框架

图解 LangChain

从一条 Runnable 协议开始,拆到 LCEL、LangGraph 状态机、Agent 与 middleware、RAG 检索、Tools/MCP、记忆重构,再到 LangSmith 调试与生产部署。

适合从 0 系统学透 LangChain v1.0 架构、生产 Agent 和工程治理的后端/AI 工程师。

4242/42 更新中最近更新 2026/6/20
阶段目录

按主题段落阅读

文章列表

完整目录

42
01

图解 LangChain 01|为什么是 LLM 应用框架:从裸调 API 到工程化

直接调 OpenAI 接口也能跑通,为什么还要 LangChain?这一篇先把「裸调 API 为什么不够」讲透,再立起 LLM 应用框架的三根轴:组件复用、流程编排、可观测治理。

02

图解 LangChain 02|v1.0 架构分层:core / LangGraph / langchain 各管什么

LangChain 不是一个扁平的库,而是分了三层:langchain-core 提供积木,LangGraph 负责编排有状态流程,langchain 包出开箱即用的 Agent。搞清这三层的边界,才不会学得一团乱。

03

图解 LangChain 03|Runnable 协议:一切皆可组合的积木

LangChain 地基里最关键的一块积木是 Runnable——它给所有组件定义了统一的输入输出协议。搞懂它,才懂为什么 prompt、模型、解析器能用同一种方式串起来。

04

图解 LangChain 04|LCEL:用管道把组件串成链

当所有组件都是 Runnable,就能用管道符把串成链。LCEL 是 Runnable 协议的组合语法,最大的价值是流式、批处理、异步、追踪开箱即用。

05

图解 LangChain 05|PromptTemplate:把固定文案变成可复用的输入

prompt 散落在代码里是技术债。PromptTemplate 把固定文案和变量分离,让 prompt 变成可复用、可管理、可测试的 Runnable 组件。

06

图解 LangChain 06|OutputParser:让模型的自由文本变成程序能消费的结构

模型回答的是自由文本,程序要的是结构化数据。输出解析负责这个转换。v1.0 主推 with_structured_output,让模型直接吐结构,比手写解析稳得多。

07

图解 LangChain 07|Model I/O 闭环:把三件套串成一条可靠的链

prompt、model、parser 单看都是积木,串起来才是 Model I/O 闭环。这一篇把它们组成完整链,再加上重试、fallback、限流,让它从能跑变成可靠。

08

图解 LangChain 08|从 Chain 到 Graph:Agent 为什么需要图而不是直线

LCEL 管道是直线,但真实 Agent 需要循环、分支、中断。这一篇讲清为什么直线模型不够用,以及 LangGraph 用「图」怎么补上这些缺口。

09

图解 LangChain 09|StateGraph 五要素:看懂任何一张 LangGraph 图

StateGraph 由五个要素构成:State 状态、Node 节点、Edge 连线、Reducer 合并、Super-step 推进。把这五个概念认全,任何 LangGraph 图你都能看懂。

10

图解 LangChain 10|State:在节点间流转的数据

State 是图的血液。这一篇讲清 state 怎么定义、有哪些字段、为什么消息列表是它的核心,以及 state 和 Agent 记忆的关系。

11

图解 LangChain 11|Node 与 Edge:图的步骤与路

Node 是图的处理步骤,Edge 是节点间的连线。这一篇讲清怎么定义节点、连线怎么连,以及它们怎么和 state 配合把图跑起来。

12

图解 LangChain 12|条件 Edge:让图根据情况走不同的路

普通 edge 固定下一步,条件 edge 根据当前 state 动态决定走哪。这是图能做「根据情况分流」的关键,也是 Agent 灵活性的来源。

13

图解 LangChain 13|Reducer:State 字段怎么合并,最容易踩坑的地方

多个节点都改同一个 state 字段时,是覆盖还是追加?Reducer 决定合并规则。搞不清它,多 Agent 协作会出现消息丢失、状态被覆盖的诡异 bug。

14

图解 LangChain 14|Super-step 与 Checkpoint:让 Agent 跑得久、恢复得了

图不是一口气跑完,而是按 super-step 推进,每步存档。Checkpoint 让长流程 Agent 能恢复、能暂停、能跑很久。这是生产级 Agent 的根基。

15

图解 LangChain 15|Human-in-the-Loop:让 Agent 跑到一半等人介入

Agent 跑到敏感步骤要暂停等人审批,这是生产里绕不开的需求。LangGraph 用 interrupt 实现,而它成立的前提就是上一篇的 checkpoint。

16

图解 LangChain 16|多 Agent 协作:Supervisor 与 Swarm 两种拓扑

一个复杂任务,单个 Agent 可能搞不定。多 Agent 协作让它分工配合。LangGraph 支持两种主流拓扑:Supervisor 主管型和 Swarm 群组型,各有适用场景。

17

图解 LangChain 17|LangGraph 实战收束:用一个完整 Agent 串起五要素

前面 9 篇把 LangGraph 的概念拆开讲了,这一篇用一个完整的「带工具的客服 Agent」把它们串起来,作为 Phase 2 的实战收束。

18

图解 LangChain 18|create_agent:v1.0 的标准 Agent 入口

上一篇我们手动搭了一个 Agent 的图。create_agent 把这套手工活封装成开箱即用的入口——一行代码搭出标准 Agent。这一篇讲它封装了什么、底层是什么。

19

图解 LangChain 19|Middleware 概念:不动核心 loop,hook 进每一步

create_agent 的核心 loop 是固定的,但你想加记忆、压缩、护栏怎么办?Middleware 让你不碰 loop,通过钩子注入这些横切能力。这是 v1.0 的灵魂设计。

20

图解 LangChain 20|Middleware 的 Hook 点:beforeModel 与 afterModel

上一篇讲了 middleware 的概念,这一篇落到具体:它能 hook 在哪些位置?主要是 beforeModel 和 afterModel,每个位置适合做什么。

21

图解 LangChain 21|预置 Middleware 全景:拿来就用的横切能力

上一两篇讲了 middleware 的钩子点。好消息是:最常见的那些横切能力,官方已经写成预置 middleware 了,你直接用。这一篇做个全景。

22

图解 LangChain 22|Context Engineering:怎么管理 Agent 越来越长的上下文

Agent 跑久了,上下文会越来越长,超过模型窗口就崩了。Context Engineering 就是管理这件事——通过 middleware 压缩、裁剪、筛选上下文。这是 2026 年 Agent 工程的核心议题。

23

图解 LangChain 23|Deep Agents:用 Middleware 搭能处理长任务的复杂 Agent

上一篇讲了 Context Engineering。Deep Agents 就是把 middleware 这套用到位的复杂 Agent——能处理长上下文、多步骤、需要持续记忆的任务。这是 middleware 架构的集大成。

24

图解 LangChain 24|Agent 三种范式:ReAct、Plan-Execute、反思

前面 6 篇讲了怎么搭 Agent,这一篇做 Phase 3 收束——讲 Agent 的三种经典范式:边想边做的 ReAct、先规划再执行的 Plan-Execute、做完自我检查的反思。各有适用场景。

25

图解 LangChain 25|RAG 流水线全景:从加载到检索的五段链路

让 Agent 能查知识库再回答,靠的是 RAG。这一篇是 Phase 4 开篇,先给 RAG 五段流水线的全景:加载→切分→向量化→存储→检索,每段都是 Runnable。

26

图解 LangChain 26|Document Loaders:把原始内容干净地读进来

RAG 第一段:把 PDF、网页、数据库这些原始内容读进来。听起来简单,但格式处理不好,后面切分再聪明也白搭。这一篇讲 Loaders 和 Document 对象。

27

图解 LangChain 27|Text Splitters:切分策略比 Embedding 模型更重要

RAG 第二段:把长文档切成块。这一篇讲切分策略,并给出一个反常识的工程判断——切分质量对 RAG 效果的影响,往往比换 embedding 模型还大。

28

图解 LangChain 28|Embeddings:把文本变成向量

RAG 第三段:把文本块转向量。这一篇讲向量化是什么、为什么能做相似搜索,以及中文场景的模型选型——别无脑用 OpenAI。

29

图解 LangChain 29|Vector Stores:存储与接口统一带来的可替换性

RAG 第四段:把向量存起来。这一篇讲向量库的作用,以及 LangChain 用统一接口抽象它们——换来的是可替换性,换库几乎不改业务代码。

30

图解 LangChain 30|Retrievers:检索的抽象与进阶策略

RAG 第五段:检索。Retriever 是「给查询返回文档」的 Runnable 抽象。这一篇讲它为什么重要,以及几种提升检索质量的进阶策略。

31

图解 LangChain 31|Agentic RAG:让 Agent 自己决定何时检索

Phase 4 收束。固定 RAG 每次都查,Agentic RAG 让 Agent 自己判断要不要查、查什么、查几次。这一篇讲它怎么实现,以及和固定 RAG 的边界。

32

图解 LangChain 32|工具调用:@tool 与 bind_tools 的标准化

Agent 的「手」是工具。这一篇讲怎么定义工具、怎么把工具绑给模型。重点:工具的描述和参数 schema 就是给模型看的 API 文档,写不好 Agent 就乱调。

33

图解 LangChain 33|MCP 协议:跨应用共享工具的开放标准

上一篇的 @tool 是应用内的私有工具。MCP 是让工具能跨应用共享的开放协议。这一篇讲它是什么、解决什么,以及和 @tool 的边界。

34

图解 LangChain 34|MCP 三能力:Tools、Resources、Prompts

上一篇提到 MCP 有三种能力。这一篇展开讲:Tools(模型调用的函数)、Resources(模型读的数据)、Prompts(复用模板)。多数人只用 Tools,但另两个也有价值。

35

图解 LangChain 35|记忆是什么:State + Middleware 如何实现记忆

Phase 5 转到 Agent 的「脑」——记忆。这一篇讲清 LangChain 的记忆不是神秘机制,它就是 state(存什么)+ middleware(怎么注入),是前面学的东西的组合。

36

图解 LangChain 36|短期记忆:Checkpointer 怎么管一次会话

上一篇讲了记忆 = state + middleware。这一篇落到短期记忆:一次会话里的上下文,怎么靠 checkpointer 按 thread 管理、跨轮次保持。

37

图解 LangChain 37|长期记忆:LangGraph Store 跨会话记忆

短期记忆管一次会话,长期记忆管跨会话。这一篇讲 LangGraph Store 怎么实现长期记忆——记住用户偏好、历史结论,换个会话也记得。

38

图解 LangChain 38|LangSmith Tracing:让 LLM 黑盒变得可追踪

最后的 Phase 6 讲生产化。这一篇讲 LangSmith Tracing——LLM 调用是黑盒,trace 让每一步可见。没有可观测性,LLM 应用永远停在 demo。

39

图解 LangChain 39|评估:用数据集量化 Agent 和 RAG 的质量

Trace 让单次 run 可见,但整体质量怎么衡量?这一篇讲评估——用数据集批量测,量化改 prompt/换模型有没有变好,而不是凭感觉。

40

图解 LangChain 40|Replay 调试:Agent 时代的断点调试

传统断点调试对 Agent 这种多步、有状态的程序不好使。Replay 调试能取一次 run 的状态,改输入重跑。它是 Agent 时代的断点调试。

41

图解 LangChain 41|部署演进:从 LangServe 到 LangGraph Platform

应用做好了要部署。这一篇讲 LangChain 的部署方案演进:LangServe 适合无状态链,LangGraph Platform 是为有状态 Agent 设计的运行时,是 v1.0 的主推方向。

42

图解 LangChain 42|系列收束:LangChain 的适用边界与选型判断

全系列最后一篇。回顾 42 篇建立的知识地图,并给出一个务实的判断:LangChain 适合什么、不适合什么、什么时候该用它。