ChatGPT 出来之后,大量开发者想在自己的产品里加入 LLM 能力:让 AI 能搜索自己的数据库、调用外部 API、记住多轮对话上下文、按照固定流程完成复杂任务……但直接调用 LLM API 来实现这些需求,需要处理很多繁琐的基础设施问题。LangChain 就是为了解决这个问题而生的框架。
LangChain 是什么
LangChain 是一个用于构建大语言模型(LLM)应用的开源框架,2022 年底由 Harrison Chase 创建,在 ChatGPT 热潮中迅速成为最受欢迎的 LLM 开发框架之一,GitHub 上的 Star 数量增长速度曾经是当时记录。
它的核心价值是抽象和封装:把和 LLM 交互时常见的操作(提示词模板管理、对话历史、工具调用、文档检索、Agent 工作流)封装成可以复用的组件,开发者不需要从零实现这些底层逻辑,直接用 LangChain 的组件搭积木就能快速构建 LLM 应用。
核心组件
Chains(链)
"Chain"是 LangChain 的基础概念——把一系列操作连成一个工作流。最简单的 Chain 就是一个 LLM 调用:模板 → 填充变量 → 发给 LLM → 返回结果。复杂的 Chain 可以包含多步 LLM 调用、工具调用、条件判断等。
比如一个简历分析 Chain:接收简历文本 → 提取关键信息(教育背景、工作经验)→ 根据职位要求评分 → 生成报告,这整个流程可以用 Chain 串联起来,作为一个整体调用。
Retrieval Augmented Generation(RAG)
RAG 是 LangChain 最重要的应用场景之一:让 LLM 能"检索自己的文档库"来回答问题,解决 LLM 训练数据截止日期和"不了解私有数据"的问题。
LangChain 提供了完整的 RAG 工具链:文档加载器(读取 PDF、Word、网页等)、文本分割器、向量数据库集成(Chroma、Pinecone、Weaviate 等)、以及把检索和 LLM 回答整合起来的 RetrievalChain。
Agents
Agent 是 LangChain 里更高级的模式:给 LLM 一组"工具"(搜索引擎、计算器、代码执行、API 调用等),让 LLM 自己决定什么时候用哪个工具来完成任务。
这让 LLM 从"只会回答问题"变成了"能执行任务"——给它一个目标,它会规划步骤、调用工具、根据结果继续执行,直到完成目标。
Memory(记忆)
管理对话历史,让 LLM 能"记住"之前聊过什么,实现多轮对话中的上下文连贯性。LangChain 提供多种记忆策略:保存完整历史、只保留最近 N 轮、用 LLM 摘要压缩历史等。
Prompt Templates(提示词模板)
管理提示词的工具,支持变量填充、结构化提示词、以及 Few-shot 示例的管理,让提示词工程变得更系统化。
适用语言
LangChain 主要有两个版本:
- Python 版(langchain):功能最全面,生态最丰富,数据科学和 AI 应用领域的首选
- JavaScript/TypeScript 版(langchain.js):功能与 Python 版保持同步,适合前端和 Node.js 项目
和其他框架的比较
vs LlamaIndex:LlamaIndex 更专注于 RAG 和知识库问答场景,在文档索引和检索方面有更深入的优化;LangChain 覆盖更广,包括 Agent、各种工具调用等,两者有一定重叠但侧重不同,很多项目会同时用两个。
vs 直接调用 API:直接调用 OpenAI 或者其他 LLM 的 API 更直接,没有框架的抽象层;LangChain 的价值在于处理常见的复杂场景(RAG、Agent、多步工作流)时减少重复代码。对于简单的单次 LLM 调用,直接调 API 更简洁。
vs AutoGen(微软):AutoGen 专注于多 Agent 协作场景,多个 AI 角色互相交流完成任务;LangChain 覆盖范围更广,也有 Agent 功能但不如 AutoGen 在多 Agent 协作上专注。
vs Haystack:Haystack 也是 LLM 应用框架,在 RAG 和 NLP pipeline 方向有积累;整体知名度和社区规模不如 LangChain 大。
谁适合用 LangChain
想在产品里加 AI 能力的工程师:有 Python 或 JS 背景,需要快速实现 LLM 应用功能,LangChain 的丰富组件可以大幅减少开发时间。
构建企业知识库问答系统:RAG 是目前企业内部 AI 应用最主流的形态,LangChain 的 RAG 工具链是最成熟的参考实现之一。
实验和探索 LLM 应用可能性:快速原型、验证想法,LangChain 的抽象层让你专注业务逻辑而不是底层细节。
需要同时支持多种 LLM 的项目:今天用 OpenAI,明天想换成 Anthropic 或者本地模型——LangChain 的统一接口让切换成本很低。
局限性
LangChain 被部分开发者批评的点在于:过度抽象导致调试困难、文档更新追不上代码迭代速度、以及框架本身的复杂性有时比它解决的问题更复杂。
对于简单的 LLM 应用,直接调 API 可能反而更简洁;LangChain 的价值在中等以上复杂度的项目里更明显。
价格
LangChain 框架本身是开源免费的(MIT 协议)。它们还有 LangSmith(LLM 应用监控和调试平台)和 LangGraph(复杂 Agent 工作流)等商业产品。LLM 的调用成本取决于你选择的 LLM 提供商,LangChain 本身不收费。
LangChain 是 LLM 应用开发生态里最重要的工具之一,理解它的设计思路和使用方式,是进入 LLM 应用开发领域的重要一步。
