LangChain 完整全解析(2026 v1.x 最新架构)
一、基础定位与起源
1. 定义
LangChain 是开源、模块化的 LLM 应用编排开发框架,2022 年底推出,核心解决原生大模型三大痛点:
- 无长期记忆,多轮对话丢失上下文;
- 无法读取私有文档、实时外部数据(知识库、数据库、联网搜索);
- 不能自主调用工具、拆分复杂任务,只能被动一问一答。
通俗比喻:
- LLM = 只有大脑,不会查资料、不会记对话、不会操作软件;
- LangChain = 一套标准化 "乐高积木",给 LLM 装上记忆、知识库、工具、任务流程、自主决策,快速搭建 RAG、对话机器人、AI Agent、自动化工作流。
2. 核心设计思想:模块化、统一抽象、可插拔
所有组件遵循统一 Runnable 接口,支持管道符 | 串联、流式输出、批量调用; 任意模型、向量库、工具可以无缝替换,无厂商锁定。
3. 新版包分层架构(v1.x 拆分式,不再单一大包)
表格
| 包 | 作用 |
|---|---|
langchain-core |
底层核心抽象:消息、提示词、Runnable、输出解析、基础接口,无第三方集成,轻量 |
langchain |
高层业务逻辑:Chain、Retriever、基础 Agent、通用流程 |
langchain-openai/langchain-qwen/langchain-anthropic |
官方专用模型集成包,独立维护 |
langchain-community |
社区第三方集成:Chroma、Pinecone、各类 Loader、工具、小众模型 |
langgraph |
配套图编排引擎,复杂循环 Agent、多分支流程、持久化状态 |
langsmith |
配套调试观测平台,追踪每一步调用、耗时、Token、日志 |
二、六大核心基础组件(官方标准体系)
1. Models 模型层(大脑底座)
统一封装三类模型,抹平各家 API 差异,切换模型仅改一行代码:
- ChatModel 对话模型 (主流) GPT-4o、Claude、Gemini Flash/Mini/Nano、通义千问、Llama、Qwen 等,支持多轮消息结构
HumanMessage/AIMessage/SystemMessage。 - LLM 文本补全模型(老式单文本输入) 多用于简单生成、代码补全。
- Embedding 嵌入模型 将文本转为向量,用于语义检索,对接 OpenAI Embedding、本地 BGE、M3E 等,配合向量数据库(Chroma/Pinecone)。
2. Prompts 提示词工程层
解决硬编码 Prompt 难以维护、无法复用的问题:
PromptTemplate:静态模板,支持变量插值{context}{question};ChatPromptTemplate:多角色对话模板(系统提示 + 用户消息 + 历史对话);FewShotPromptTemplate:自动注入示例样本,提升输出格式稳定性;- 支持分段、长度截断、动态过滤无效上下文。
3. Output Parsers 输出解析器
大模型返回自由文本,解析器把文本转为结构化数据(JSON、列表、对象、枚举):
JsonOutputParser:强制输出标准 JSON;PydanticOutputParser:绑定 Python 数据模型,自动校验字段;CommaSeparatedListOutputParser:提取数组; 价值:方便后端直接读取字段,避免文本解析混乱。
4. Memory 记忆层(对应你之前学的 short term /long term memory)
区分会话短期记忆 (上下文窗口内)、外置长期记忆(向量库持久化,不受 context window 限制):
- 短期对话记忆(当前对话窗口)
ConversationBufferMemory:完整存储全部聊天记录;ConversationSummaryMemory:自动总结历史,减少 Token 占用,防止窗口溢出;ConversationTokenBufferMemory:按 Token 长度裁剪历史。
- 长期持久记忆(跨会话)
VectorStoreRetrieverMemory:对话摘要存入 Chroma/Pinecone,下次聊天检索历史记忆,突破上下文窗口上限。
5. Documents & Retrievers 检索层(RAG 核心)
完整私有知识库流水线:
- Document Loaders:文件读取器 加载 PDF、Word、Markdown、网页、CSV、数据库、飞书 / 企业微信文档;
- Text Splitter:文本分割器 按字符、Token、语义递归分割,避免超长片段塞满上下文窗口;
- VectorStore 向量库对接 原生集成 Chroma(本地轻量)、Pinecone(云端托管)、FAISS、Weaviate 等;
- Retriever 检索器 接收用户问题,向量相似度召回 Top-K 相关文档,注入 Prompt 给 LLM; 进阶:上下文压缩检索、多路查询检索、父文档检索,提升召回精度。
6. Tools & Agents 工具与智能体(自主执行能力)
Tools 工具
让 LLM 调用外部能力,内置 + 自定义均可:
- 内置:联网搜索、Python 代码解释器、计算器、文件读写;
- 自定义:企业数据库查询、支付 API、邮件发送、爬虫、第三方接口; 每个 Tool 包含名称、功能描述、入参,供 LLM 判断何时调用。
Agent 智能体(LangChain 高阶能力)
普通 Chain 是固定步骤流水线 ;Agent 是动态自主决策: LLM 根据问题自己判断:要不要查资料、调用哪个工具、调用几次、循环直到完成任务,对应你之前区分的 LLM vs Agent。 主流 Agent 类型:
- ReAct Agent:思考 + 行动循环,最通用;
- OpenAI Tool Calling Agent:依托模型原生函数调用,稳定;
- Plan-and-Solve:先拆解任务规划,再分步执行; 复杂多分支、带循环的 Agent 现在推荐搭配 LangGraph 实现状态持久、人工介入、多轮循环。
三、Chain 链:基础流程编排单元
Chain = 把多个组件按固定顺序串成一条流水线,新版推荐 LCEL(LangChain Expression Language)管道写法 |,替代老式类继承:
经典常用 Chain
- RAG 检索问答链 文件加载 → 切片 → 向量化入库 → 用户提问检索文档 → 拼提示词 → LLM 生成答案;
- ConversationChain 对话链 Prompt + LLM + Memory,实现带记忆聊天机器人;
- SequentialChain 顺序链 多步骤串行执行(摘要 → 翻译 → 生成报表);
- TransformChain 数据转换链 清洗、过滤、格式化文本;
简单 LCEL 示例逻辑:
plaintext
rag_chain = retriever | prompt | llm | parser
用户输入自动沿着管道依次执行。
四、LangGraph:复杂 Agent 图编排(2025 + 主推)
LangChain 原生 Chain 是线性单向流程,无法处理:循环、分支、条件判断、中途人工介入、状态保存。 LangGraph 是配套扩展,用有向图管理 Agent 状态:
- 节点:LLM、工具调用、校验;
- 边:条件跳转(检索不到资料就重新搜索,出错自动重试);
- 持久化:对话状态存数据库,中断后可恢复; 现在生产级 Agent(多工具、多步骤、自动纠错)全部基于 LangGraph。
五、完整典型工作流(RAG 知识库问答)
- 离线预处理 PDF Loader 读取文档 → RecursiveCharacterTextSplitter 切片 → Embedding 向量化 → 存入 Chroma/Pinecone 向量库;
- 用户线上提问 用户问题 → Retriever 向量检索相似文档 → 检索结果 + 用户问题注入 PromptTemplate → 传入 ChatModel → OutputParser 结构化输出回答;
- 带记忆增强 叠加 VectorStoreRetrieverMemory,自动读取历史对话,回答兼顾长期上下文。
六、LangChain 配套生态工具
- LangSmith 调试、监控、观测平台:追踪每一步检索、LLM 调用、Token 消耗、延迟、失败日志,可视化完整链路,解决 Agent 黑盒问题;
- LangServe 一键把 Chain/Agent 封装成 REST API,快速提供后端服务,对接前端。
七、优缺点总结
优势
- 极致生态集成:兼容几乎所有大模型、向量库、文件格式、第三方工具,社区方案极多;
- 统一抽象,组件插拔:换本地 Chroma / 云端 Pinecone、切换 GPT / 千问几乎不用改动业务代码;
- 一站式覆盖 RAG、对话、Agent、自动化,从原型到生产完整链路;
- LCEL 管道语法简洁易读,支持流式、异步、批量;
- 配套 LangSmith 解决复杂 Agent 调试难题。
劣势
- 学习曲线陡峭,概念多(Chain/Memory/Retriever/Agent/LangGraph);
- 简单纯文本生成场景(仅调用 LLM 写文案)直接调用 API 更轻量,引入框架有冗余;
- 多层组件嵌套带来轻微调用延迟,超高并发毫秒级场景需要深度优化;
- 版本迭代快,旧 API 频繁废弃,网上老旧教程容易踩坑;
- 复杂大规模分布式生产需要额外做缓存、分片、限流封装。
八、适用 / 不适用场景
适合使用 LangChain
- 私有知识库问答(企业文档、本地资料 RAG);
- 带多轮长期记忆的智能客服、AI 聊天助手;
- 需要联网、数据库、代码执行的自主 Agent;
- 多步骤自动化工作流(数据分析、报表自动生成、批量文本处理);
- 快速原型验证,快速搭建可演示 AI 应用。
不建议使用 LangChain
- 仅简单单次文本生成(翻译、短文创作,无知识库无工具);
- 极致低延迟、超高吞吐纯推理服务;
- 极小嵌入式端侧离线模型(Nano 级轻量 SLM,资源有限)。
九、关联你之前学过概念串联总结
- Context Window / Short Term Memory → LangChain Memory 组件实现会话上下文;
- Long Term Memory → VectorStoreRetrieverMemory + Chroma/Pinecone 向量库;
- Nano/Mini/Flash LLM → Models 层统一接入,无缝替换;
- Chroma / Pinecone → Documents+Retrievers 向量存储底层;
- LLM vs Agent:单纯 LLM 调用是基础单元;Agent 是 LangChain 高阶动态决策模块,依靠 Tools+LangGraph 实现自主任务执行。
一句话极简概括
LangChain 是一套标准化组件库,给裸大模型补上记忆、私有知识库、外部工具与任务编排能力,是目前构建 RAG 和 LLM Agent 最主流的开发框架。