# LangChain 概述:从大模型到智能体应用的桥梁 ##
目录
一、为什么需要 LangChain?
1.1 从传统应用到智能体时代
软件开发正在经历一场深刻的范式转移——从传统应用走向智能体时代。传统应用依赖硬编码的规则和逻辑,而智能体时代则由大语言模型(LLM)驱动,能够理解自然语言、自主推理并动态执行任务。
1.2 单一大语言模型的局限性
尽管大语言模型能力强大,但单独使用时存在明显短板:
- 知识滞后:训练数据有截止日期,无法获取实时信息
- 幻觉问题:面对未知领域,模型可能编造看似合理但实际错误的答案
- 无法执行操作:模型只能生成文本,不能直接调用外部 API、查询数据库或操作文件
- 无状态记忆:多轮对话中容易"遗忘"上下文
所以,构建真正实用的 AI 应用,必须将大语言模型与外部工具、数据源和记忆机制有机结合——这正是 LangChain 框架诞生的出发点。
1.3 LangChain 框架的定位
LangChain 作为大模型与应用间的中间层,可统一调用各类大模型、管理提示词与上下文,还能集成外部工具和数据源,快速搭建具备推理、行动能力的智能体。
核心定位三点:
| 定位 | 说明 |
|---|---|
| 打通大模型与外部资源 | 统一接口对接数据库、检索引擎、API、文件系统等 |
| 封装底层复杂逻辑 | 抽象工具调用、记忆等能力,降低智能体开发难度 |
| 支撑多智能体协作 | 依托 LangGraph 等生态,从单智能体拓展至多智能体协作,可构建工业级智能体 |
1.4 LangChain 的六大应用场景
| 场景 | 痛点 | 功能 |
|---|---|---|
| 检索增强生成(RAG) | 知识滞后、幻觉问题 | 检索外部知识库并向量化,让模型基于最新资料回答 |
| Agent 智能体构建 | LLM 无法直接执行复杂任务 | 模型作为"推理引擎",自主规划并动态调用外部工具 |
| 对话系统与聊天机器人 | 多轮对话"记忆"流失 | 集成记忆管理,记住用户偏好和历史交互 |
| 多模态应用开发 | 单一文本交互的限制 | 融合图像识别、语音转文字等技术,处理音视频和图片 |
| 自动化写作与格式化生成 | 内容格式不规范、质量不稳定 | 配合提示词模板与输出解析器,自动产出规范文档 |
| 数据连接与结构化处理 | 非结构化数据难以直接利用 | 从 PDF、Excel 中提取信息,或实现自然语言与 SQL 的转换 |
1.5 大模型相关岗位
在大模型产业链中,应用开发是最值得关注的方向——应用为王!学习 LangChain 框架,就是高效开发大模型应用的捷径。
二、LangChain 是什么?
2.1 发展时间线
LangChain 的发展可划分为五个阶段:
第1阶段:诞生(2022年10月)
└─ 哈佛大学工程师 Harrison Chase 创建 LangChain
名称来源于 "Language" + "Chain" 的组合
核心理念:链接大语言模型与各种计算资源和数据
第2阶段:探索期(2022年Q4 — 2023年Q1)
└─ 初版发布,聚焦 PromptTemplate、LLMChain 等基础模块
GitHub Star 数快速破万,成为早期最受关注的大模型框架
第3阶段:体系化阶段(2023年Q2 — 2023年Q4)
└─ 引入 Tool、Agent、Retrieval 等概念
推出 LangChain Hub 与 LangSmith,构建开发-调试-部署生态闭环
第4阶段:平台化阶段(2024年 — 2025年上半年)
└─ LangGraph 与 LangServe 发布
从开发框架跃升为智能体平台
第5阶段:深层智能体阶段(2025年下半年至今)
└─ 正式推出 Deep Agent(Agent Harness)
进入多智能体复杂化系统新阶段
2.2 两个重要版本:v0.3 vs v1.x
LangChain v0.3:既爱又恨
LangChain 长期因 API 变动频繁被开发者戏称为"版本碎钞机"。2024 年的架构大变革中:
- 推出 LangGraph 作为底层智能体编排框架
- 原有链和智能体被标记为弃用
- GPT-4 的 Function Calling、结构化输出等功能已成为模型基础功能,再用 LangChain 封装显得多此一举
这个阶段,LangChain 的开发者大规模流失。
LangChain v1.x:AI 开发新范式
经历阵痛后,LangChain 进行了彻底的架构重构与瘦身。
- 2025年10月20日:正式发布 LangChain v1.0.0 与 LangGraph v1.0.0
- 这是 AI 智能体开发领域的里程碑事件,标志着框架成熟和标准化
- 首次明确 API 稳定保证:承诺在 2.0 版本前无破坏性变更
- 同期完成 1.2 亿美元融资,估值超 12 亿美元
v0.3 与 v1.2 核心对比
| 维度 | LangChain v0.3 | LangChain v1.2 |
|---|---|---|
| 核心架构 | 过渡性版本,以链(Chain)为核心 | 生产级稳定版本,从"链式调用"到"智能体框架"的范式转变 |
| Agent 构建方式 | 依赖 initialize_agent 等旧版 API,基于 AgentExecutor 硬编码 |
官方推荐 create_agent 作为标准构建入口,底层基于 LangGraph |
| 工具定义 | @tool 装饰器和 Tool 类,类型安全性较弱 |
支持 Pydantic Schema 定义工具,类型安全,参数定义更清晰 |
| 结构化输出 | 依赖 JSON Parser 和正则表达式,稳定性差 | Structured Output 成为一等公民,直接绑定 Pydantic 类 |
| 输出解析 | 纯文本,需正则匹配解析,繁琐易出错 | 引入标准化的 content_blocks,统一推理、文本、工具调用 |
| 扩展机制 | 缺乏系统性扩展方式 | 引入 Middleware(中间件)系统,支持各生命周期拦截 |
| 多模态支持 | 支持不完善 | 完善多模态适配,支持多模态对话、多模态 RAG |
| 异步性能 | 一般 | 优化后响应速度提升 30%+ |
| 包结构 | 模块耦合度高 | 主包轻量,旧功能迁移至 langchain-classic |
| Python 版本 | >= 3.9 | >= 3.10 |
| 推荐用途 | 维护老旧项目 | 所有新项目和学习首选 |
2.3 LangChain v1.2 的主要模块
langchain-core ← 官方推荐的核心 API(Runnable, BaseMessage 等)
langchain-classic ← 冗余或不推荐使用的经典 API(0.x 中常用而 1.x 移除的)
langchain-community ← 第三方集成(langchain-openai, langchain-anthropic 等,按需安装)
langgraph ← 深度整合 LangGraph 1.0,协调多个 Chain、Agent、Tools
学习建议:不要试图学完 LangChain 的所有 API——那是不可能的。搞懂核心逻辑与核心模块,其它的用到再查。把它当成一个工具箱,而不是一本教科书。
2.4 API 文档资源
| 资源 | 地址 |
|---|---|
| 官网 | https://www.langchain.com/ |
| GitHub | https://github.com/langchain-ai |
| 中文文档 | https://docs.langchain.org.cn/oss/python/langchain/overview |
| 英文文档 | https://docs.langchain.com/oss/python/langchain/overview |
| API 参考 | https://reference.langchain.com/python/langchain/ |
三、LangChain 家族四大支柱
截至 2025 年,LangChain 已从一个独立开发框架,成长为覆盖智能体系统全生命周期的技术生态。该生态由四大核心支柱构成:
┌─────────────────────────────────────────────────────┐
│ LangChain 生态全景 │
├─────────────┬──────────────┬──────────┬──────────────┤
│ LangChain │ LangGraph │Deep Agent│ LangSmith │
│ 基础能力层 │ 运行时编排层 │智能体抽象层│ 监控与评估层 │
└─────────────┴──────────────┴──────────┴──────────────┘
3.1 LangChain:智能体开发的基石
LangChain 是整个生态的核心与起点,为开发者提供模型调用、工具与中间件集成、智能体构建等一整套基础能力。
核心价值:
- 统一的模型抽象层:屏蔽不同模型服务提供商(OpenAI、Anthropic、Ollama 等)的接口差异,提供一致调用方式
- 高度模块化设计:使用 Message、Tool、Agent、Middleware 等组件实现灵活组合与扩展
- 丰富的集成生态:预置数据源、API、中间件等,构成强大的 AI 能力枢纽
如果需要构建简单的智能体应用,无需复杂编排——选择 LangChain 就够了。
3.2 LangGraph:复杂工作流的编排引擎
当智能体任务从单一指令执行扩展为多步骤、有状态的复杂工作流时,LangGraph 应运而生。
核心思想:将智能体内部抽象为一张有向图。
| 概念 | 说明 |
|---|---|
| 节点(Node) | 代表独立的功能单元或决策点 |
| 边(Edge) | 定义节点之间的流转条件与路径 |
| 状态(State) | 共享上下文,在节点间传递并持久化存储任务信息 |
LangChain 与 LangGraph 的关系:
- LangChain = 能力抽象层(LLM / Tool / Message 标准化)→ 负责"有什么能力"
- LangGraph = 执行与编排层(状态机 / 工作流 / 多 Agent 系统)→ 负责"怎么跑"
官方建议:快速起步用 LangChain,复杂控制用 LangGraph,二者并行协同。
3.3 Deep Agent:智能体的执行框架
Deep Agent 是新推出的组件,被定位为 Agent Harness(智能体执行框架)。它构建于 LangChain 与 LangGraph 之上,增加了规划能力、文件系统、子 Agent 等高级功能。
核心能力:
| 能力 | 说明 |
|---|---|
| 显式规划 | 自主生成、执行并动态调整多步任务计划 |
| 虚拟文件系统 | 为智能体提供结构化的中间结果与知识存储 |
| 子智能体 | 支持任务在多个智能体之间的分解与协作 |
| 长期记忆 | 通过 LangGraph 状态存储实现跨对话的经验积累 |
| 可扩展中间件 | 允许嵌入安全审计、性能监控或自定义业务逻辑 |
3.4 三者的关系
三个框架不是竞争关系,复杂项目完全可以同时用到三层:
LangChain 快速搭建 → LangGraph 打磨生产稳定性 → Deep Agent 赋予更强自主能力
这才是完整的 LangChain 生态玩法。
3.5 LangSmith:可视化监控与测试平台
当智能体系统逐渐复杂时,单靠日志和 print 调试已无法满足需求。LangSmith 是官方推出的可视化监控与测试平台。
核心目标:
- 全链路追踪:可视化追踪模型调用、提示词输入、结果输出、工具使用等行为
- 调试与优化:发现异常行为与性能瓶颈
- 评测与质量控制:支持人工与自动化评测,量化智能体表现
- 团队协作:多人共享测试集与调用记录
LangSmith 的引入使得智能体的开发、调试与运维形成了完整的质量闭环。
官网:https://www.langchain.com/langsmith
四、开发前的准备工作
4.1 前置知识
| 知识领域 | 具体内容 |
|---|---|
| Python 基础语法 | 变量、流程控制、函数与参数机制、类与对象、装饰器 |
| Python 常用工具 | 列表/元组/集合/字典、JSON 处理、异常处理、模块导入、包管理、线程与协程 |
| 大语言模型基础 | 了解 LLM、Token、Prompt、Embedding 等概念 |
| 模型 API 使用 | OpenAI API 或其他提供商(Anthropic、阿里云百炼、DeepSeek 等) |
| 大模型使用经验 | 通过浏览器或 App 使用过豆包、千问、DeepSeek 等 |
LangChain 生态支持 Python 和 JavaScript 实现,其中 Python 版本功能最完整、更新最及时、社区最活跃。
4.2 环境管理方案对比
| 工具 | Python 解释器 | Python 包 | 非 Python 依赖 | 适合场景 |
|---|---|---|---|---|
| conda | ✅ | ✅ | ✅ | AI、深度学习、科学计算、复杂底层依赖(C/C++,CUDA) |
| uv | ✅ | ✅ | ❌ | 纯 Python 项目、Web、Agent、RAG 应用层 |
| venv | ❌ | ✅ | ❌ | 简单项目、教学演示、轻量隔离 |
建议:优先
conda install,conda 没有的再用pip install。对于 LangChain 这样的纯 Python 环境,uv 和 conda 均可。
4.3 安装步骤
1. 创建 conda 虚拟环境
LangChain v1.2 要求 Python >= 3.10,推荐使用 Python 3.13.12。
# 创建名为 langchain1.2 的环境,指定 Python 3.13.12
conda create --name langchain1.2 python=3.13.12
# 查看已安装的 Python 环境
conda env list
# 初始化虚拟环境(执行后重启命令行)
conda init
# 激活环境
conda activate langchain1.2
# 验证 Python 版本
python -V
2. 退出 / 删除环境
# 退出当前环境
conda deactivate
# 删除环境
conda remove --name langchain1.2 --all
3. 安装 LangChain
# 方式1:使用 conda(推荐)
conda install -c conda-forge langchain==1.2.12
# 方式2:使用 pip(国内镜像加速)
pip install langchain==1.2.12 -i https://pypi.tuna.tsinghua.edu.cn/simple
# 验证安装
python -c "import langchain; print(langchain.__version__)"
4. PyCharm 开发环境
推荐使用 PyCharm 作为专业 Python IDE,创建新工程时选择 Anaconda 环境作为 Python 解释器。
五、大模型应用场景介绍
大模型应用技术特点:门槛低,天花板高。
5.1 RAG 开发
背景
- 大模型知识冻结:训练成本与周期增加,模型无法实时学习最新信息,难以应对时间敏感问题
- 大模型幻觉:面对训练中从未学习过的信息,模型会臆想和编造答案
何为 RAG?
RAG(Retrieval-Augmented Generation,检索增强生成) 的核心流程:
┌─────────────────────────────────────────┐
│ 知识库构建阶段 │
│ │
本地文件 ──→ 数据加载器 ──→ 文本切分 ──→ 向量嵌入 ──→ 向量数据库 │
(PDF/Word/ (Loader) (Splitter) (Embedding) (Vector DB)│
Excel/TXT) │
└─────────────────────────────────────────┘
│
┌─────────────────────────────────────────┐
│ 检索问答阶段 │
│ │
用户提问 ──→ 向量嵌入 ──→ 相似度搜索 ──→ 检索结果作为上下文 │
(Embedding) (Similarity (Context) │
Search) │ │
│ │ │
└──→ 提示词模板 ←┘ │
(Prompt = Context + Query) │
│ │
┌─────┴─────┐ │
│ LLM │ │
└─────┬─────┘ │
│ │
回答 (Answer) │
└─────────────────────────────────────────┘
检索-增强-生成三步走:
- 检索(Retrieval):从向量数据库中搜索与用户问题最相似的知识片段
- 增强(Augmentation):将检索到的知识作为上下文拼入提示词
- 生成(Generation):LLM 基于增强后的提示词生成最终回答
RAG 的四大难点
| 难点 | 说明 |
|---|---|
| 文件解析 | PDF 内部可能包含文件、图片、表格、图片上的文字,需要复杂处理 |
| 文件切割 | 没有固定格式,切分策略直接影响检索质量 |
| 知识检索 | 随文档数量增加,召回准确率会下降 |
| 知识重排序 | 引入 Reranker 对初步召回的 chunk 精排,提高准确率 |
Reranker 使用建议
- 适合:追求高精度和高相关性的场景,如专业知识库、客服系统
- 不适合:对响应时间要求高的服务(Reranker 会增加检索延迟)
- 成本权衡:比纯向量搜索 RAG 成本更高,但比仅靠 LLM 直接生成成本低
5.2 Agent 开发
充分利用 LLM 的推理决策能力,通过增加规划、记忆和工具调用的能力,构造能够独立思考、逐步完成目标的智能体。
Agent 的数学公式
Agent = LLM + Planning + Tools + Memory + Action
OpenAI 元老翁丽莲(Lilian Weng)于 2023 年 6 月首次提出了现代 AI Agent 架构。
通俗类比:打车去西藏
| 要素 | 类比 | 说明 |
|---|---|---|
| 大脑中枢 | 规划行程的你 | LLM 作为决策中枢 |
| 规划 | 步骤1:规划路线 → 步骤2:订饭店酒店… | 任务分解为子目标 |
| 工具调用 | 滴滴打车、携程、美团 | 调用 MCP 或 Function Calling 等 API |
| 记忆 | 知道是去西藏,不能聊着聊着忘了 | 保持上下文一致性 |
| 行动 | 说走就走 | 实际执行操作 |
Agent 的五大核心要素
1. 大模型(LLM)—— “大脑”
提供推理、规划和知识理解能力,是 AI Agent 的决策中枢。能呈现推理和规划过程,应对未知任务。
2. 规划决策(Planning)
通过任务分解、反思与自省框架实现复杂任务处理。例如,利用思维链(Chain of Thought) 将目标拆解为子任务,并通过反馈优化策略。
3. 工具使用(Tool Use)
调用外部工具(如 API、数据库)扩展能力边界。
4. 记忆(Memory)
| 记忆类型 | 说明 | 示例 |
|---|---|---|
| 短期记忆 | 存储单次对话周期的上下文信息,受限于模型上下文窗口长度 | ChatGPT 约 8k token;GPT-4 约 32k token;最新模型支持 100万~1000万 token |
| 长期记忆 | 横跨多个会话或时间周期,存储并调用核心知识 | 用户偏好、过去执行过的指令等 |
长期记忆的实现方式:
- 模型参数微调(固化知识)
- 知识图谱(结构化语义网络)
- 向量数据库(相似性检索)
5. 行动(Action)
实际执行决策的模块,涵盖软件接口操作(如自动订票)和物理交互(如机器人搬运)。包括检索、推理、编程等。
5.3 大模型应用开发的四个场景
场景一:纯 Prompt
你一句,它回一句;你再说一句,它再回一句...
Prompt 是操作大模型的唯一接口。最简单直接,适合简单问答。
场景二:Agent + Function Calling
用户:"我明天去杭州出差,要带伞吗?"
→ AI 让你先查天气预报
→ 你查完告诉 AI
→ AI 综合分析后告诉你是否带伞
- Agent:AI 主动提要求
- Function Calling:需要对接外部系统时,AI 要求执行某个函数
场景三:RAG(检索增强生成)
考试答题时,到书上找相关内容,再结合题目组成答案。
- Embeddings:把文字转换为更易于相似度计算的向量编码
- 向量数据库:把向量存起来,方便查找
- 向量搜索:根据输入向量,找到最相似的向量
在智能客服领域应用最广泛。
场景四:Fine-tuning(精调/微调)
努力学习考试内容,长期记住,活学活用。
- 成本最高
- 在前面方式解决不了问题的情况下,再使用
六、技术方案选择指南
面对一个需求,如何选择技术方案?以下是常用思路:
┌─────────────┐
│ 有新需求了! │
└──────┬──────┘
│
┌──────▼──────┐
│ 纯 Prompt │ ← 先试试直接问大模型
└──────┬──────┘
│ 不够用?
┌──────▼──────┐
│ RAG │ ← 需要领域知识补充
└──────┬──────┘
│ 还不够?
┌──────▼──────┐
│ Agent + │ ← 需要调用外部工具/系统
│ Function │
│ Calling │
└──────┬──────┘
│ 还不够?
┌──────▼──────┐
│ Fine-tuning │ ← 成本最高,最后手段
└─────────────┘
选择原则:从简到繁,逐步升级。 优先用成本最低的方案解决问题,只有在当前方案无法满足时才升级到更复杂的方案。
总结
LangChain 已从最初的大模型应用框架,成长为覆盖智能体全生命周期的技术生态:
| 支柱 | 层级 | 核心职责 |
|---|---|---|
| LangChain | 基础能力层 | 模型调用、工具集成、智能体构建 |
| LangGraph | 运行时编排层 | 复杂工作流、状态管理、多 Agent 系统 |
| Deep Agent | 智能体抽象层 | 规划、虚拟文件系统、子智能体协作 |
| LangSmith | 监控与评估层 | 全链路追踪、调试优化、质量评测 |
关键要点回顾
- v1.x 是新起点:LangChain v1.0 是里程碑版本,API 稳定保证让企业级应用有了信心
- 生态协同:LangChain 快速搭建 → LangGraph 打磨稳定性 → Deep Agent 赋予深度能力
- 工具箱思维:不要试图学完所有 API,搞懂核心逻辑,用到再查
- 场景驱动:从纯 Prompt → RAG → Agent → Fine-tuning,从简到繁逐步升级
- 应用为王:大模型应用开发是最值得关注的方向,门槛低、天花板高
更多推荐




所有评论(0)