第 0 课:LangChain 学习路线与环境准备

📅 2026/7/9 4:40:55 👁️ 阅读次数 📝 编程学习
第 0 课:LangChain 学习路线与环境准备

第 0 课:LangChain 学习路线与环境准备

配套代码仓库:https://gitee.com/wang-zeyong111/lang-chain-lecture

本课定位

该课不是写代码最多的一课,却是后面能不能学顺的关键。LangChain 的生态很大,如果一上来就追 API,很容易陷入“今天看 Chain,明天看 Agent,后天又看到 LangGraph”的碎片化状态。本课要先建立一张地图:LangChain 解决什么问题,哪些概念是主干,哪些是进阶能力,学习时应该按什么顺序推进。

学习目标

  • 理解 LangChain 在 LLM 应用开发中的位置。
  • 区分 LangChain、LangGraph、LangSmith 的职责。
  • 准备 Python、Jupyter、依赖包和模型 API Key。
  • 建立“模型调用 -> 链 -> Agent -> RAG -> LangGraph -> 生产化”的学习路线。
  • 了解本课程为什么以 v1 风格为主,同时兼顾 v0.3 常见写法。

一、LangChain 是什么

LangChain 是一个用于开发 LLM 应用的工程框架。它把模型、提示词、消息、工具、数据检索、Agent 编排、观测和评估这些能力组织成统一接口,让你不用每个项目都从零搭一套胶水代码。

从工程角度看,LangChain 的价值有四点:

  1. 统一模型接口:不同模型供应商的 SDK 差异很大,LangChain 提供相对统一的聊天模型接口。
  2. 统一上下文表达:系统消息、用户消息、AI 消息、工具消息都能用标准对象表达。
  3. 统一组合方式:提示模板、模型、解析器、检索器、工具可以通过 Runnable 组合。
  4. 统一应用范式:常见的 RAG、工具调用、Agent、流式传输、记忆都已有成熟模式。

二、LangChain 生态三件套

LangChain

主要负责快速构建 LLM 应用。适合:

  • 调用聊天模型;
  • 管理 prompt;
  • 结构化输出;
  • 使用工具;
  • 快速创建 Agent;
  • 搭建普通 RAG。

LangGraph

主要负责低级、可控、有状态的 Agent 编排。适合:

  • 多节点、多分支工作流;
  • 长时间运行任务;
  • 持久化执行;
  • 人工审核;
  • 可恢复、可回放的 Agent;
  • 多 Agent 协作。

LangChain v1 的create_agent底层建立在 LangGraph 之上。初学时不必先学 LangGraph,但当你需要精确控制 Agent 的每一步时,就应该进入 LangGraph。

LangSmith

主要负责生产化过程中的观测、调试和评估。适合:

  • 查看每次模型调用的输入输出;
  • 跟踪链路中每一步耗时;
  • 建立评估数据集;
  • 对比不同 prompt、模型和检索策略;
  • 监控生产环境表现。

三、推荐学习路线

阶段 1:基础抽象

对应第 01-02 课。

你需要掌握:

  • 聊天模型如何初始化;
  • 消息对象如何组织上下文;
  • prompt 如何模板化;
  • Runnable 链如何把多个组件组合起来。

这一阶段的目标是能写出稳定、可复用的单步或固定多步 LLM 应用。

阶段 2:应用能力

对应第 03-05 课。

你需要掌握:

  • 如何让模型返回结构化结果;
  • 如何把 Python 函数变成工具;
  • Agent 如何决定调用工具;
  • 如何保存短期记忆;
  • 如何流式返回中间过程。

这一阶段的目标是能做出可交互、能调用外部能力的 LLM 应用。

阶段 3:数据增强

对应第 06-07 课。

你需要掌握:

  • 文档加载和切分;
  • embedding 和向量检索;
  • 检索结果如何放入 prompt;
  • 如何要求答案引用来源;
  • 什么时候使用 Agentic RAG。

这一阶段的目标是能做企业知识库、文档问答和检索增强助手。

阶段 4:工程化

对应第 08-09 课。

你需要掌握:

  • LangGraph 状态图;
  • 节点、边、条件分支;
  • 调试和评估;
  • LangSmith tracing;
  • 生产化检查清单。

这一阶段的目标是从“能跑 demo”走向“能上线、能评估、能维护”。

四、版本理解:v1 与 v0.3

LangChain 的历史版本中常见LLMChainConversationBufferMemoryAgentExecutor等写法。新版本更推荐:

  • Runnable表达链式组合;
  • create_agent创建常见 Agent;
  • 用 LangGraph 管理复杂状态;
  • response_formatwith_structured_output做结构化输出;
  • 用 checkpointer 管理线程级短期记忆。

学习时不要只背旧教程代码。更重要的是理解抽象:模型接收消息,工具扩展能力,检索补充上下文,图管理状态。

五、环境准备重点

推荐环境:

  • Python 3.10 或更高;
  • JupyterLab 或 Notebook;
  • langchain
  • langgraph
  • langchain-openai
  • langchain-community
  • langchain-text-splitters
  • langsmith
  • python-dotenv
  • pydantic>=2

API Key 不要写入 notebook 源码。建议用环境变量:

setOPENAI_API_KEY=你的密钥setLC_MODEL=openai:gpt-5-nano

如果没有真实模型 Key,可以先使用 Fake 模型学习数据流。Fake 模型不能真正理解问题,但能让你先跑通 LangChain 的对象关系。

六、学习时最容易踩的坑

  1. 只看代码不看消息流:Agent 的本质就是消息和工具结果的循环。
  2. 过早上 LangGraph:简单固定步骤先用 Runnable 链,别一上来就做复杂图。
  3. 把 RAG 当成“把全文塞进 prompt”:RAG 的重点是检索正确上下文。
  4. 只做 demo 不做评估:LLM 应用没有评估集,很难长期维护。
  5. API Key 写进 notebook:这会带来安全风险。

七、本课自测清单

  • 我能说清 LangChain、LangGraph、LangSmith 的区别。
  • 我知道什么时候用模型调用、链、Agent、RAG、LangGraph。
  • 我能在 Jupyter 中检查当前 Python 环境。
  • 我知道如何通过环境变量配置模型。
  • 我知道没有 API Key 时如何用 Fake 模型先学习。

八、课后练习

  1. 写下你最想完成的 LangChain 项目,例如企业知识库、客服 Agent、代码助手。
  2. 判断这个项目需要哪些层:模型、工具、RAG、记忆、LangGraph、评估。
  3. 00_学习路线与环境准备.ipynb中运行环境检查单元格。
  4. 如果有 API Key,完成一次真实模型调用;如果没有,确认 Fake 模型示例能运行。