第 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 的价值有四点:
- 统一模型接口:不同模型供应商的 SDK 差异很大,LangChain 提供相对统一的聊天模型接口。
- 统一上下文表达:系统消息、用户消息、AI 消息、工具消息都能用标准对象表达。
- 统一组合方式:提示模板、模型、解析器、检索器、工具可以通过 Runnable 组合。
- 统一应用范式:常见的 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 的历史版本中常见LLMChain、ConversationBufferMemory、AgentExecutor等写法。新版本更推荐:
- 用
Runnable表达链式组合; - 用
create_agent创建常见 Agent; - 用 LangGraph 管理复杂状态;
- 用
response_format或with_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 的对象关系。
六、学习时最容易踩的坑
- 只看代码不看消息流:Agent 的本质就是消息和工具结果的循环。
- 过早上 LangGraph:简单固定步骤先用 Runnable 链,别一上来就做复杂图。
- 把 RAG 当成“把全文塞进 prompt”:RAG 的重点是检索正确上下文。
- 只做 demo 不做评估:LLM 应用没有评估集,很难长期维护。
- API Key 写进 notebook:这会带来安全风险。
七、本课自测清单
- 我能说清 LangChain、LangGraph、LangSmith 的区别。
- 我知道什么时候用模型调用、链、Agent、RAG、LangGraph。
- 我能在 Jupyter 中检查当前 Python 环境。
- 我知道如何通过环境变量配置模型。
- 我知道没有 API Key 时如何用 Fake 模型先学习。
八、课后练习
- 写下你最想完成的 LangChain 项目,例如企业知识库、客服 Agent、代码助手。
- 判断这个项目需要哪些层:模型、工具、RAG、记忆、LangGraph、评估。
- 在
00_学习路线与环境准备.ipynb中运行环境检查单元格。 - 如果有 API Key,完成一次真实模型调用;如果没有,确认 Fake 模型示例能运行。
