1. LangChain要解决什么问题 #

直接调大模型厂商的 HTTP API,也能做出「一问一答」。Demo 阶段够用:发一段 prompt,拿回一段文本。

真实业务很快会碰到另一类问题——不是「模型聪不聪明」,而是「系统怎么拼得住、怎么换得起、怎么查得清」:

这些痛点可以归成四类:

类别 典型表现
集成 换供应商、换嵌入模型、换向量库,业务代码跟着碎
编排 工具循环、分支、重试、人机协同,手写状态机易错
知识 私有文档进不了模型上下文,需要 RAG 流水线
可观测 不知道调了哪个工具、耗时多少、哪一步答歪了

LangChain 要做的,就是把这些能力拆成可组合的积木,再用统一的 Agent 驾驭层拼成可上线的应用。

本章先不写业务代码,只建立这张「地图」:定位、公式、产品族、Agent 循环、积木表、安装与学习路线。第一个 Agent 留到第 2 章再跑通。

2. LangChain 是什么 #

LangChain 的核心定位可以收成一句话:

Agent = Model + Harness(智能体 = 模型 + 驾驭层)

部分 含义 例子
Model(模型) 负责推理与决策 选不选工具、理解工具结果、给出最终回答
Harness(驾驭层) 围绕模型循环的一切 提示词、工具、塑造行为的 middleware(中间件)

常见误解:LangChain 不只是「又一个调 API 的 SDK」。它还提供标准循环与可扩展的驾驭层——你不必每次从零手写「调模型 → 看要不要工具 → 执行 → 回灌 → 再调模型」。

入口是高度可配置的 create_agent:从一个最小驾驭层起步,再按需叠加能力。模型侧支持 OpenAI、Anthropic、Google 等大量供应商。

可以把它理解成:

你要做的应用
    │
    ▼
create_agent(标准「模型 ↔ 工具」循环 + 可扩展中间件)
    │
    ├── Model:openai / deepseek / anthropic / ollama …
    ├── Tools:查库、调 API、算数、检索知识库 …
    ├── Prompt:系统人设、业务约束
    └── Middleware:护栏、重试、限流、人机协同 …

记法建议:

本教程默认用 DeepSeek(deepseek:deepseek-v4-flash);这套心智模型换其他供应商同样适用。

3. 为什么需要 LangChain #

§1 讲的是「痛」;本节换成「框架具体怎么帮你」。第一章不必背 API,先建立「为什么值得学」的预期。

痛点 LangChain 怎么帮你
换模型要改一大堆调用代码 统一聊天模型 / 嵌入接口,供应商可切换
工具调用、多轮循环手写易错 create_agent 提供标准「模型 ↔ 工具」循环
需要护栏、重试、路由、权限 用 middleware 渐进增强驾驭层
要可观测、评测、上线排错 与 LangSmith 深度集成
要持久化、人机协同、长任务 Agent 构建在 LangGraph 之上

官方强调四大核心收益(见 Overview · Core benefits):

  1. 标准模型接口 — 聊天模型、嵌入等跨供应商统一;换模型时业务代码改动最小。
  2. 高度可配置的驾驭层 — 从最小的 create_agent 起步,用 middleware 按需加护栏、重试、路由、工具策略等。
  3. 构建在 LangGraph 之上 — 持久执行、人机协同(human-in-the-loop)、状态持久化等编排能力拿来即用。
  4. 用 LangSmith 调试 — 在一处查看轨迹、工具调用、状态迁移与延迟,定位失败模式并改进质量。

和「直接调厂商 SDK」比,LangChain 的价值不在「多包一层」,而在:

4. LangChain产品族谱 #

LangChain 很少单独出场。名字相近的几个产品分工不同,混为一谈容易在选型时踩坑。

产品 角色 什么时候选
Deep Agents 「开箱即用」的 agent 要规划、子 Agent、虚拟文件系统、上下文压缩等现成能力
LangChain(create_agent) 可高度定制的 Agent 框架 要按业务精确组装模型 / 工具 / 提示 / 中间件
LangGraph 底层编排运行时 要在同一图里混合「确定性步骤 + 智能体步骤」
LangSmith 观测、评测与部署配套 追踪、调试、评估上述任一框架构建的 Agent

选型直觉:

想要最快上手、功能齐      → Deep Agents
想要可控、可裁剪的 Agent  → LangChain create_agent
想要图编排与生产级状态机  → LangGraph
想要看清每次调用发生了什么 → LangSmith

关系可以记成:越往上开箱越省事,越往下可控性越强。

Deep Agents
    ↑ 建在之上
LangChain Agents(create_agent)
    ↑ 建在之上
LangGraph(图编排 / 持久化 / HITL)
    ↑ 搭配使用
LangSmith(追踪 / 评测 / 排障)

本教程以 LangChain create_agent + 核心积木 为主线,后面会自然衔接到 RAG、LangGraph 与 LangSmith。
第 1~2 章先建立心智模型并跑通,不必一上来啃满整条产品线。Deep Agents 知道存在即可;本教程主路径是 create_agent。

5. Agent 怎么工作 #

官方定义(Agents):

Agent 是一个在循环中不断调用工具、直到完成任务的模型。
驾驭层(Harness)是这个循环周围的一切:提示、工具、以及塑造模型行为的中间件。
驾驭层的职责:在正确的时间,给模型正确的上下文。

关键区别:

单独调模型 Agent
典型输入 一段话 / 一组消息 用户目标 + 可用工具
过程 一次(或固定链)生成 可能多轮:推理 → 工具 → 再推理
结束条件 模型吐完文本 模型认为任务完成,给出最终回答

简化循环:

用户输入
   ↓
模型推理(要不要调工具?调哪个?参数是什么?)
   ↓
若需要 → 执行工具 → 把结果塞回消息 → 再推理
   ↓
否则 → 输出最终回答

对应官方组件架构里的「Agent with tools」模式(见 Component architecture):

User request → Agent → 需要工具? ──Yes→ Call tool → 结果回传 Agent
                      └─No→ Final answer

读到这里,记住三句话即可:

  1. 模型决定要不要动手、动哪只手(工具)
  2. 驾驭层执行工具,并把结果写回对话状态
  3. 循环直到模型给出最终回答(或触发停止条件)

第 2 章会带你跑通一个天气助手,并打印完整消息轨迹;本章不必死记每一种消息类型。

6. LangChain核心积木 #

即便最终目标是 Agent,LangChain 仍由一组可组合积木构成。官方把它们分成几大类(Component architecture)。

先建立「目录感」:后面各章大多是把某一块积木拆开讲透。此刻不必抠实现,知道它干什么、大致何时用、对应哪一章即可。

类别 作用 典型用途 本教程章节
Models AI 推理与生成 聊天、结构化输出、嵌入 第 3 / 6 章
Messages / Prompts 对话状态与提示组织 多轮对话、模板化提示 第 4~5 章
Tools 外部能力 查库、调 API、计算、检索 第 8 章
Agents 编排与决策 工具循环、非确定性工作流 第 2 / 9 章
Middleware 横切增强 护栏、重试、HITL 第 10 章
Memory 上下文保持 多轮对话、自定义状态 第 11 章
Document processing 数据摄入 PDF / 网页加载与切分 第 12~13 章
Embeddings / Vector Stores 语义检索存储 Chroma、FAISS、Pinecone 等 第 14 章
Retrievers 信息获取 RAG、知识库搜索 第 15 章
Long-term Memory / Store 跨会话记忆 用户档案、偏好、长期事实 第 16 章

数据在应用里大致这样流动(尤其是 RAG 类应用):

① 输入处理:加载文档 → 切分 → Documents
② 嵌入存储:Embedding → Vectors → Vector Store
③ 检索:用户问题 → 向量化 → Retriever → 相关上下文
④ 生成:Chat Model(± Tools)→ 回答
⑤ 编排:Agent + Memory 把以上环节串起来

整体关系可以记成:

┌─────────────────────────────────────────────┐
│                 create_agent                 │
│  model + tools + system_prompt + middleware │
└──────────────────────▲──────────────────────┘
                       │ 由积木拼装 / 扩展
     messages · prompts · tools · runnable
     loaders · splitters · embeddings · retrievers

下面各小节只做「一句话定位」;细节进对应章节。

6.1. Model(模型) #

见 Models。模型是 Agent 的「大脑」,也可单独用(分类、抽取、生成)——不是所有任务都要上 Agent。第 3 章会系统讲 init_chat_model、参数与流式。

常见能力:

6.2. Messages(消息) #

见 Messages。消息是模型交互的基本状态单元:Agent 的「记忆快照」就是不断增长的 messages 列表。常见角色(第 4 章展开):

类型 角色 含义
SystemMessage system 人设与全局约束
HumanMessage user 用户输入
AIMessage assistant 模型输出(可含 tool_calls)
ToolMessage tool 工具执行结果回传给模型

调试口诀:先看完整 messages,再看最后一句回答。 第 2 章会用打印轨迹练这个习惯。

6.3. Tools(工具) #

把检索、数据库、HTTP、业务函数暴露给模型。Agent 循环里,模型是「大脑」,工具是「手脚」。 第 2 章先用最简函数工具;第 8 章讲 @tool、参数 schema 与错误处理。工具已跑在独立进程、或要同时给多个宿主用时,走第 17 章 MCP。多个专家要隔离上下文或按步骤交接时,走第 18 章 Multi-agent。

6.4. Middleware(中间件) #

在驾驭层上增量加能力:护栏、重试、限流、PII 脱敏、人机协同等——不必一上来就把所有生产能力塞进第一版 Agent。
详见 Middleware;第 10 章练习。

6.5. RAG 相关组件 #

文档加载 → 切分 → 嵌入 → 向量库 → 检索 →(可选压缩重排)→ 模型生成。
这是企业知识库问答的标准路径:让模型回答你的私有文档里的内容,而不是只靠参数记忆。对应第 12~15 章;前面 Agent 积木学完后,再拼这条流水线会轻松很多。

7. 安装与生态包 #

LangChain 生态按「主框架 + 厂商集成 + 社区扩展」拆包。安装时记住:

业务从 langchain 起步;接具体厂商装对应集成包;需要社区数据源再加 langchain-community。

7.1. 安装 LangChain #

需要 Python 3.10+(见 Install)。Windows 下可用 PowerShell:

pip install -U langchain python-dotenv
# 或
uv add langchain python-dotenv

按供应商安装集成包,例如:

pip install -U langchain-deepseek    # DeepSeek(本文默认)
pip install -U "langchain[openai]"   # OpenAI(含常用依赖组合)
pip install -U langchain-openai      # 仅 OpenAI 集成
pip install -U langchain-anthropic   # Anthropic
pip install -U langchain-ollama      # 本地 Ollama

本教程默认路径:langchain + langchain-deepseek + python-dotenv。
完整列表见 Integrations · Providers。

7.2. 常见包怎么分工 #

包 作用
langchain 主框架:Agent、init_chat_model、高层编排入口
langchain-core 核心抽象:消息、Runnable、工具协议等
langchain-openai / langchain-anthropic / … 各厂商模型与嵌入适配
langchain-community 社区维护的加载器、检索器、部分集成
langchain-text-splitters 文本切分
langchain-chroma 等 向量库集成
langgraph 底层图编排(Agent 运行时可依赖)

入门阶段你主要直接 import 的是 langchain 与某个厂商包;langchain-core 通常作为依赖被间接安装。做 RAG 时再按需加 splitters、chroma 等。

7.3. API Key 与观测 #

密钥放进 .env,用 python-dotenv 加载;不要把真实 key 写进仓库或文档。
建议尽早打开 LangSmith Tracing;进一步可用 LangSmith Engine 根据轨迹发现问题并给出修复建议。

.env 示例(请替换为你自己的密钥,勿提交真实 key):

DEEPSEEK_API_KEY="sk-xxx"
OPENAI_API_BASE="https://api.deepseek.com"
OPENAI_API_KEY="sk-xxx"

LANGSMITH_TRACING=true
LANGSMITH_ENDPOINT=https://api.smith.langchain.com
LANGSMITH_API_KEY="lsv2_pt_xxx"
LANGSMITH_PROJECT="langchain"

说明:

8. 典型应用场景 #

学框架最好先想清「我最终要做哪类应用」。下表把常见场景映射到积木组合与章节,方便按需跳读(仍建议按路线走一遍打底)。

场景 常用组合 对应章节
带工具的助理 create_agent + 自定义 tools 第 2 / 8 / 9 章
结构化信息抽取 模型 + Structured Output 第 6 章
多轮客服 / 会话 消息历史 + Agent / Memory 第 4 / 11 章
知识库问答(RAG) 加载 → 切分 → 嵌入 → 检索 → 生成 第 12~15 章
记住用户偏好 / 内部档案 Store 长期记忆 + 记忆工具 第 16 章
复杂业务流程 LangGraph:确定性节点 + Agent 节点 第 19 章起
生产排障与评测 LangSmith 追踪 / 评测 第 29 章起

粗线条对应关系:

助理 / 办公自动化     → Agent + Tools(± Middleware)
单据 / 工单抽取       → Structured Output
企业文档问答         → RAG 全链路
审批 / 多步业务       → LangGraph
上线质量与排障       → LangSmith

9. 学习路线 #

本教程按「先跑通 → 拆积木 → 组 Agent → 做 RAG → 上线观测」推进。
第 1 章只要求建立地图;第 2 章马上动手。

第1章 总览          ← 你在这里
   │
   ▼
第2章 第一个 Agent ──► 建立「跑通」信心
   │
   ├─► 第3–5章  模型 / 消息 / 提示
   ├─► 第6–7章  结构化输出 / Runnable
   ├─► 第8–10章 工具 / Agent / Middleware(MCP 见第 17 章,多 Agent 见第 18 章)
   ├─► 第11章   会话记忆
   ├─► 第12–15章 RAG 全链路
   ├─► 第16章   长期记忆(跨会话)
   └─► 第19章起  LangGraph / LangSmith / 综合项目

阶段心智:

阶段 你在学什么
第 2 章 最小 Agent 闭环与消息轨迹
第 3~7 章 模型、消息、提示、结构化输出、组合链
第 8~11 章 工具、Agent 深入、护栏、记忆(外部 MCP 工具见第 17 章,多 Agent 见第 18 章)
第 12~15 章 企业知识库(RAG)主线
第 16 章 长期记忆:跨会话的档案与偏好(用到第 14 章的向量检索,所以排在 RAG 之后)
第 17 章 MCP:把独立进程里的工具接到 Agent
第 18 章 Multi-agent:子 Agent / 交接 / Skills / Router
第 19~28 章 图编排(LangGraph)
第 29~38 章 观测与评测(LangSmith)
第 39~52 章 Deep Agents:官方攒好的整机(虚拟文件系统、Skills、子智能体、审批)
第 53~62 章 综合实战项目

下一章: 打开第 2 章,把天气助手跑通,并学会阅读完整消息轨迹。

10. 文档 #

官方文档是「查细节」的主阵地;本章是「建地图」。遇到具体 API 行为不确定时,优先回官方页,再对照本教程章节。

主题 链接
Overview https://docs.langchain.com/oss/python/langchain/overview
Install https://docs.langchain.com/oss/python/langchain/install
Quickstart https://docs.langchain.com/oss/python/langchain/quickstart
Agents https://docs.langchain.com/oss/python/langchain/agents
Models https://docs.langchain.com/oss/python/langchain/models
Messages https://docs.langchain.com/oss/python/langchain/messages
Tools https://docs.langchain.com/oss/python/langchain/tools
MCP https://docs.langchain.com/oss/python/langchain/mcp
Multi-agent https://docs.langchain.com/oss/python/langchain/multi-agent/index
Middleware https://docs.langchain.com/oss/python/langchain/middleware/overview
Component architecture https://docs.langchain.com/oss/python/langchain/component-architecture
LangGraph https://docs.langchain.com/oss/python/langgraph/overview
LangSmith https://docs.langchain.com/langsmith/observability
Providers https://docs.langchain.com/oss/python/integrations/providers/overview
文档索引(llms.txt) https://docs.langchain.com/llms.txt

11. 本教程章节与官方文档对照 #

官方 Overview 强调四块核心能力:统一模型接口、可配置的驾驭层、基于 LangGraph 的执行、LangSmith 观测。下表把本教程前 10 章与官方主题对齐,方便「查官方细节 ↔ 回本教程看例子」:

官方主题 官方链接 本教程章节 说明
Overview / Quickstart overview · quickstart 第 1~2 章 定位、create_agent 最小闭环
Models models 第 3 章 init_chat_model、stream/batch/异步
Messages messages 第 4 章 四类消息、工具环、多轮与 checkpoint 预览
Prompts prompts API 参考 第 5 章 模板、少样本、占位符(1.x 文档已无独立 Prompts 指南页,细节以 API 参考为准)
Structured output structured-output 第 6、9 章 模型层 + Agent 层 response_format
Runnable / LCEL component-architecture 第 7 章 组合链、流式与异步速查
Tools tools 第 8 章 @tool、schema、错误回灌
MCP mcp 第 17 章 langchain-mcp-adapters、stdio / HTTP、接到 Agent
Multi-agent multi-agent 第 18 章 Subagents / Handoffs / Skills / Router
Agents agents 第 2、9 章 驾驭层参数与动态 middleware
Middleware middleware 第 9~10 章 自定义钩子 + 内置护栏
Guardrails guardrails 第 10 章 PII、限流、HITL 等生产护栏
Short-term memory short-term-memory 第 4 预览 · 第 11 章 checkpointer、thread_id
Long-term memory long-term-memory 第 16 章 Store、命名空间、语义检索、记忆工具
Streaming streaming 第 2、3、7 章 模型 / 链 / Agent 三层对照
Runtime runtime 第 9 章 §5.1 · 第 19 章 ModelRequest、context、store
LangGraph langgraph 第 19~28 章 状态与 reducer、条件边、循环、持久化、HITL 底层
LangSmith observability 第 2 章 · 第 29~38 章 Tracing、评测、排障

第 11 章之后补齐官方文档里同样重要、但前 10 章只预告过的内容:

章节 补齐的官方能力 状态
第 11 章 Memory 短期记忆、checkpoint 持久化、上下文裁剪、自定义 state 已完成
第 12~15 章 RAG Document loaders、splitters、vector stores、混合检索与重排 已完成
第 16 章 长期记忆 Store 读写、命名空间划分、语义检索、Agent 自主记忆 已完成
第 17 章 MCP 外部 MCP 服务器 → LangChain 工具 → create_agent 已完成
第 18 章 Multi-agent Subagents / Handoffs / Skills / Router 已完成
第 19~28 章 LangGraph 图状态、条件边、循环、interrupt、astream_events 已完成
第 29~38 章 LangSmith 数据集评测、对比实验、线上监控、质量闭环 已完成
第 39~52 章 Deep Agents 虚拟文件系统、权限沙箱、Skills、子智能体、审批、装配顺序 已完成
第 53~62 章 综合项目 企业知识库 + 护栏 + 记忆 + 观测端到端 待编写

查阅技巧:不确定 API 行为时,先用 llms.txt 搜页面标题,再回上表找对应本教程章节约读例子。