3分钟搞懂LangChain
LangChain = AI 应用开发的'瑞士军刀',把模型、工具、记忆、检索这些零件统一成标准接口,让你几十行代码搭出 Agent 和 RAG 应用;2025 年 10 月发布 1.0 之后,它从'什么都能塞'的胶水库,收敛成了一个专注做 Agent 的框架。
一句话定义
LangChain = AI 应用开发的"瑞士军刀",把模型、工具、记忆、检索这些零件统一成标准接口,让你几十行代码搭出 Agent 和 RAG 应用;2025 年 10 月发布 1.0 之后,它从"什么都能塞"的胶水库,收敛成了一个专注做 Agent 的框架。
打个比方
LangChain 之于 AI 开发:
- 像 jQuery 之于前端:抹平各家差异,提供统一 API
- 像 Spring 之于 Java:提供完整生态,开箱即用
- 像乐高积木:提供标准组件,自由组合
没有 LangChain vs 有 LangChain:
没有 LangChain:
- 手写 Prompt 模板
- 自己实现向量检索
- 手动管理对话历史
- 从零写 Agent 循环(调模型→解析工具调用→执行→再调模型)
有 LangChain:
- 用内置模板
- 几行代码接入向量库
- checkpointer 自动持久化对话
- create_agent 一行拿到完整 Agent 循环
经典场景:搭一个"企业知识库问答系统"。传统方式要自己切分文档、调 Embedding API、写检索逻辑、拼 Prompt、调 LLM、再处理多轮追问;LangChain 把这些都变成可替换的标准组件。

核心要点(3个)
1. LangChain 1.x 的核心概念
1.0 做的最大一件事,是做减法:主包只留下"构建 Agent 必需的积木",历史遗留的几十种 Chain 全部搬到 langchain-classic。
核心组件:
1. Models(模型)
from langchain.chat_models import init_chat_model
# 统一入口,换厂商只改字符串
model = init_chat_model("anthropic:claude-sonnet-5")
model = init_chat_model("openai:gpt-5.5")支持:
- OpenAI、Anthropic、Google、Cohere 等主流厂商
- 开源模型(Llama、Qwen、DeepSeek 等)
- 本地模型(Ollama、vLLM)
2. Prompts(提示词模板)
from langchain_core.prompts import ChatPromptTemplate
template = ChatPromptTemplate.from_messages([
("system", "你是一个{role}"),
("human", "{question}")
])3. LCEL(表达式链)
1.0 之后,LLMChain 那套已经不用了,组合步骤直接用管道符:
chain = template | model # 这就是"链"
result = chain.invoke({"role": "Python专家", "question": "如何学习Python?"})管道两端只要是 Runnable 就能接,天生支持流式、批量、异步。
4. Agents(智能体)
这是 1.x 的绝对主角。initialize_agent 和 AgentExecutor 已废弃,统一入口是 create_agent:
from langchain.agents import create_agent
from langchain.tools import tool
@tool
def get_weather(city: str) -> str:
"""查询某个城市的天气。"""
return f"{city}今天晴,26度"
agent = create_agent(
model="anthropic:claude-sonnet-5",
tools=[get_weather],
system_prompt="你是一个helpful的助手",
)
result = agent.invoke(
{"messages": [{"role": "user", "content": "北京今天天气如何?"}]}
)create_agent 底层跑在 LangGraph 上,所以你白拿了流式输出、断点续跑(durable execution)和状态检查点。
5. Memory(记忆)
ConversationBufferMemory 那一套已经退场。现在记忆 = checkpointer + thread_id:
from langgraph.checkpoint.memory import InMemorySaver
agent = create_agent(
model="anthropic:claude-sonnet-5",
tools=[get_weather],
checkpointer=InMemorySaver(), # 生产环境换 Postgres/Redis 版本
)
cfg = {"configurable": {"thread_id": "user-42"}}
agent.invoke({"messages": [{"role": "user", "content": "我叫Alice"}]}, config=cfg)
agent.invoke({"messages": [{"role": "user", "content": "我叫什么?"}]}, config=cfg)
# 记得:你叫Alice好处是对话状态落在数据库里,服务重启也不丢。
6. Middleware(中间件)—— 1.0 新增
想在模型调用前后插逻辑(压缩上下文、脱敏、人工审批、限流),过去要改 Agent 内部,现在写中间件:
from langchain.agents.middleware import SummarizationMiddleware
agent = create_agent(
model="anthropic:claude-sonnet-5",
tools=[get_weather],
middleware=[SummarizationMiddleware(model="anthropic:claude-sonnet-5")],
)钩子有 before_model、after_model、wrap_tool_call 等,写一次可以复用到所有 Agent 上。这是 1.0 最实用的新东西。
7. Data Loaders + Vector Stores(数据与检索)
from langchain_community.document_loaders import PyPDFLoader
from langchain_chroma import Chroma
from langchain_openai import OpenAIEmbeddings
docs = PyPDFLoader("company_docs.pdf").load()
vectorstore = Chroma.from_documents(docs, OpenAIEmbeddings())集成已经拆成独立包(langchain-openai、langchain-chroma……),按需安装,不再一次性拖进几百个依赖。

组合示例(RAG):
1.x 推荐的 RAG 写法不再是 RetrievalQA,而是把检索器包成一个工具交给 Agent:
from langchain.agents import create_agent
from langchain.tools import tool
retriever = vectorstore.as_retriever()
@tool
def search_docs(query: str) -> str:
"""在公司内部文档中检索相关内容。"""
return "\n\n".join(d.page_content for d in retriever.invoke(query))
agent = create_agent(
model="anthropic:claude-sonnet-5",
tools=[search_docs],
system_prompt="回答前先检索公司文档,并引用原文。",
)
answer = agent.invoke(
{"messages": [{"role": "user", "content": "公司的退休金政策是什么?"}]}
)比老写法多几行,但换来了一个关键能力:模型可以自己决定检不检索、检索几次、怎么改写查询,而不是被硬编码成"必检索一次"。

2. LangChain 的实际应用
应用1:企业知识库问答(RAG)
场景:内部文档检索、客服机器人、技术文档助手。
优势:文档加载器数量最多,向量库集成最全,检索器随时可换。
应用2:AI Agent(自主任务)
场景:数据分析 Agent、研究助手、自动化工作流。
优势:create_agent 开箱可用;复杂流程可以下沉到 LangGraph 手写图;原生支持 MCP 工具接入。
应用3:对话机器人
场景:客服、个人助理、教育辅导。
优势:checkpointer 持久化对话,多用户多会话靠 thread_id 天然隔离。
应用4:文档处理
场景:合同分析、论文总结、报告生成。
优势:加载器 + 切分策略成熟,长文档可配合上下文压缩中间件。
应用5:数据分析
场景:SQL 自动查询、数据可视化、报表生成。
优势:SQL 工具包成熟,配合 Agent 可以"提问→查库→画图→出结论"一条龙。
实际案例:
案例1:法律文档分析 —— 加载数百份合同,用户问"第5条的违约责任是什么",Agent 自行检索相关条款并给出带出处的回答。
案例2:数据分析 Agent —— 用户说"分析上个月销售数据,画出趋势图",Agent 依次调用查库工具、数据处理工具、绘图工具,最后汇总结论。
案例3:多语言客服 —— 用户用中文提问,检索英文文档,模型用中文作答,全程不需要显式翻译步骤。
3. LangChain 的生态和替代品
LangChain 家族(这是它真正的护城河):
- LangChain:Agent 构建层,Python 与 JavaScript 双版本,均已 1.0
- LangGraph:底层编排框架,把 Agent 建模成图,管状态、循环、人工介入、断点续跑
- Deep Agents:2026 年推出的"重装 Agent"harness,在
create_agent之上打包了虚拟文件系统、子 Agent、上下文自动压缩、长期记忆,官方推荐用来做生产级复杂 Agent - LangSmith:可观测性与评估平台,追踪每一次调用的输入输出、耗时、成本
- LangSmith Deployment(原 LangGraph Platform):把 Agent 部署成带状态的长时服务

社区规模:
- GitHub 星标:11 万+(langchain 主仓库)
- LangChain 系列框架累计下载量已突破 10 亿次
- LangSmith 侧公布的数据:服务 300+ 企业客户,处理超 150 亿次 trace
商业化:2025 年 10 月完成 IVP 领投的 1.25 亿美元 B 轮,估值 12.5 亿美元,累计融资约 2.6 亿美元。
竞争对手(2026 年的格局已经和 2023 年完全不同):
LlamaIndex:
- 定位:文档密集型 RAG + Workflows 编排
- 优势:LlamaParse 解析复杂 PDF(表格、多栏)是公认强项
- 劣势:Agent 生态与可观测性工具链不如 LangChain 完整
- 适合:以"啃复杂文档"为核心的项目
Microsoft Agent Framework:
- 定位:微软官方 Agent 框架,2026 年由 Semantic Kernel 与 AutoGen 合并而来,原两者已进入维护模式
- 优势:.NET / Python 双栈,原生支持 MCP 与 A2A,与 Azure 深度集成
- 劣势:生态与第三方集成数量仍不及 LangChain
- 适合:微软技术栈、.NET 团队
OpenAI Agents SDK / Claude Agent SDK / Google ADK:
- 定位:模型厂商自家的 Agent SDK
- 优势:轻、快、和自家模型能力贴合最紧
- 劣势:跨厂商切换成本高
- 适合:已经绑定某一家模型的团队
CrewAI:
- 定位:角色化多 Agent 协作
- 优势:上手最快,"组一个团队"的心智模型直观
- 劣势:有独立评测指出同样任务下 Token 开销明显高于 LangGraph
- 适合:多 Agent 原型验证
Pydantic AI:
- 定位:类型优先的轻量 Agent 框架
- 优势:类型安全、写起来像 FastAPI,2025-2026 增长很快
- 劣势:生态年轻,集成数量少
- 适合:重视类型约束和代码可控性的团队
Haystack(deepset):
- 定位:检索与 NLP 管道框架,当前为 2.x 线
- 优势:搜索/检索工程能力强,管道显式可控
- 劣势:Agent 相关能力起步较晚
- 适合:企业搜索场景
框架对比:
| 框架 | 侧重 | 生态 | 难度 | 适合 |
|---|---|---|---|---|
| LangChain / LangGraph | 全能 + 状态编排 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | 通用 AI 应用、生产级 Agent |
| LlamaIndex | 文档 RAG | ⭐⭐⭐⭐ | ⭐⭐ | 复杂文档知识库 |
| MS Agent Framework | 企业 / 微软生态 | ⭐⭐⭐ | ⭐⭐⭐ | Azure、.NET 团队 |
| OpenAI / Claude / Google SDK | 单厂商 | ⭐⭐⭐ | ⭐ | 已绑定某家模型 |
| CrewAI | 多 Agent 协作 | ⭐⭐⭐ | ⭐ | 快速原型 |
| Pydantic AI | 类型安全 | ⭐⭐ | ⭐⭐ | 强类型工程团队 |
| Haystack | 检索 | ⭐⭐⭐ | ⭐⭐⭐ | 企业搜索 |

选择建议:
通用 AI 应用、要换模型 → LangChain
复杂状态 / 长流程 / 要审计 → LangGraph
重装 Agent(子 Agent、长任务)→ Deep Agents
啃复杂 PDF 的 RAG → LlamaIndex
只用一家模型、追求最轻 → 该厂商官方 SDK
微软 / .NET 技术栈 → Microsoft Agent Framework
LangChain 仍然被吐槽的地方:
- ⚠️ 抽象层多:简单需求直接调 API 反而更清爽
- ⚠️ 历史包袱重:网上 0.x 教程满天飞,新手极易踩到废弃 API
- ⚠️ 学习面变宽:想用好现在要同时理解 LangChain 和 LangGraph 两层
- ⚠️ 性能开销:抽象层带来额外损耗,高并发场景需要实测
不过 1.0 之后有一个实质改善:官方开始遵循语义化版本,破坏性变更集中在大版本,"升个小版本就全线崩"的时代基本结束了。
为什么重要
LangChain 降低了 AI 应用开发门槛,也顺带定义了这一代 AI 应用的标准架构。
对开发者的意义:
- ⏱️ 开发提速:几十行代码实现原本几百行的功能
- 🔧 不被单一厂商绑死:换模型改一个字符串
- 📚 生态丰富:集成数量在同类框架里最多
对行业的影响:
- 🚀 AI 应用爆发:门槛降低,应用激增
- 📈 RAG 普及:企业知识库从"专家项目"变成"标准做法"
- 🤖 Agent 工程化:把 Agent 从 demo 推向可观测、可回放、可审计的生产系统
技术意义:
- LangChain 让 AI 开发从"调 API"升级到"应用工程"
- RAG、Agent、工具调用、中间件这些今天的通用词汇,很大程度是被它带火并标准化的
常见误解
误解1:LangChain 是 LLM(大语言模型)
真相:LangChain 是开发框架,不是模型。它调用 OpenAI、Anthropic、Google 等公司的模型。
误解2:必须用 LangChain 才能开发 AI 应用
真相:可以直接调 API。简单项目直连更清爽,复杂项目(多工具、多轮状态、要可观测)才值得上框架。
误解3:LangChain 免费
真相:LangChain、LangGraph、Deep Agents 都是开源免费的;但调用的模型(如 GPT、Claude)、托管向量库(如 Pinecone)、以及 LangSmith 的付费档位是要花钱的。
误解4:学会 LangChain 就能做 AI 应用
真相:还需要懂 Prompt 工程、检索与切分策略、评估方法。LangChain 是工具,不是捷径。
误解5:网上找到的 LangChain 教程都能用
真相:这是 2026 年最大的坑。LLMChain、initialize_agent、ConversationBufferMemory、RetrievalQA 都已经不在主包里了。看教程先确认它写的是不是 1.x。
3秒总结
记住这3点就够了:
- ✅ AI 开发框架:模块化组件,快速搭建 RAG 和 Agent
- ✅ 1.0 已做减法:主包聚焦 Agent,老 Chain 搬去
langchain-classic,认准create_agent - ✅ 生态最强:LangChain + LangGraph + LangSmith 三件套,从开发到编排到可观测一条链打通
时效性提醒
当前状态:LangChain Python 稳定版为 1.3.x,LangChain.js 同步进入 1.x。
LangChain 迭代仍然很快,需要留意:
- Deep Agents:官方力推的生产级 Agent harness,接口仍在演进
- 中间件生态:官方与社区中间件持续增加
- MCP / A2A:跨框架工具与 Agent 互通协议正在成为标配
- 竞品:Microsoft Agent Framework、Pydantic AI 等追赶明显
建议:
- 官方文档:https://docs.langchain.com
- v1 迁移指南:https://docs.langchain.com/oss/python/migrate/langchain-v1
- GitHub:https://github.com/langchain-ai/langchain
- 教程:DeepLearning.AI 的 LangChain 系列课程
💬 互动话题:你用 LangChain 做过什么项目?升级到 1.0 时踩过哪些坑?
📖 相关阅读:
- 3分钟搞懂RAG检索增强 - LangChain 的核心应用
- 3分钟搞懂AI Agent - LangChain Agent
- 3分钟搞懂向量数据库 - LangChain 的组件