主题
LangChain 与 LangGraph 学习路线
核心:Agent 循环 / 工具调用 / 状态图 / 持久化与中断 常用:Middleware / RAG / 流式输出 进阶:多智能体 / 生产部署 / 评测
适用版本:LangChain v1.x(2026 年当前为 1.4.x),langchain-core 1.x,LangGraph 1.x。小版本迭代快,具体 API 以官方 Release Notes 为准。 环境要求:Python 3.10+。
先分清两个东西
| LangChain | LangGraph | |
|---|---|---|
| 定位 | Agent 装配层:模型、工具、提示词、middleware | 编排运行时:状态、节点、边、持久化、中断 |
| 你写什么 | create_agent(...) + 工具函数 | StateGraph + 节点函数 + 路由 |
| 适合 | 标准“模型调工具直到完成”的循环 | 有分支、并行、人工审批、长任务的工作流 |
| 关系 | create_agent 返回的就是一个编译后的 LangGraph 图 | 可以脱离 LangChain 单独使用 |
阅读顺序
各篇之间的依赖顺序如下,图后一段说明每一跳为什么存在。
这条顺序按依赖关系排:先有整体判断,才能决定要不要引入框架;02 的消息和工具是 03 循环的输入;04 的 State 是 05 持久化的载体。06 可以独立阅读,但放在 05 之后能直接复用 checkpoint 和 thread 的概念;08 把检索从“切块 + 向量库”扩展到 Node、索引与查询引擎;09 把 LangGraph 放回 CrewAI、AutoGen、AgentScope 的坐标系,读完再回到 07 判断该不该引入这层抽象。
每篇的产物
| 篇 | 读完能拿到 |
|---|---|
| 01 | 能判断一个需求该直接调 SDK、用 LangChain 还是上 LangGraph |
| 02 | 能接任意模型、定义可靠工具、拿到结构化输出 |
| 03 | 能给 Agent 加摘要、重试、限流、人工审批,并知道钩子执行顺序 |
| 04 | 能把一个带分支和并行的流程画成图并跑通 |
| 05 | 能做到进程重启后继续跑、人工审批后恢复、回放历史状态 |
| 06 | 能搭一条可评测、可增量更新的 RAG 链路 |
| 08 | 能判断该用切块 + 向量库,还是 LlamaIndex 的 Node/索引/查询引擎 |
| 09 | 能按确定性、回放、跨语言需求,在 LangGraph / CrewAI / AutoGen / AgentScope 之间选型 |
| 07 | 能估算成本、定位线上问题、说清这套框架的边界 |
三条实战主线(每篇的“实战场景”按线归位)
三条主线各自串起哪些篇、最后汇到哪里,是这张图要回答的。
痛点:机制文档都读完了,上线照样慌——因为被追问的从来不是"Send 怎么用",而是"你上线时踩过什么坑、怎么定位的"。每条线末尾那篇的实战场景就是对应的答案素材——主线一对应"循环失控与成本",主线二对应"恢复语义与副作用",主线三对应"检索质量与隔离"。
前置
- Python 类型注解(
TypedDict、Annotated、Pydantic) - 一次 LLM 调用与 tool calling 的基本概念
- 至少一个模型提供方的 API Key
一句话定位
LangChain 把“模型、工具、提示词、循环”装配成一个可替换组件的 Agent;LangGraph 把这个循环展开成一张有状态图,让它可以暂停、恢复、回放和被人介入。两者的价值都在复杂度和可运维性上,不在“调用模型”本身。
生产检查清单
上线前、运行中、故障时逐条核对:99-生产检查清单。
适用:LangChain v1.x(2026 年当前为 1.4.x)/ langchain-core 1.x / LangGraph 1.x | 初稿 2026-10