什么是 LangChain?真正解决的问题不是调用大语言模型
LangChain 不是聊天框架,而是一套围绕大语言模型构建应用的软件工程框架。它关注的不是模型如何思考,而是当模型需要和现实世界协作时,我们应该如何组织整个系统。
什么是 LangChain?它真正解决的问题,其实不是调用大语言模型
当第一次接触大语言模型时,大多数人的第一段代码几乎都是这样的:
from openai import OpenAI
client = OpenAI()
response = client.chat.completions.create( model="gpt-4.1", messages=[ {"role": "user", "content": "什么是 Transformer?"} ])看起来,一次 API 调用就已经能够完成所有事情。
于是很多人都会产生一种错觉:
AI 应用,不就是「用户输入一句话,模型返回一句话」吗?
真正开始做项目以后,你会发现现实完全不是这样。
当模型开始真正参与业务
假设现在要开发一个企业知识库。
用户提出一个问题:
公司去年的年终奖政策是什么?
这个问题并不能直接交给模型。
模型并不知道你的企业文档,也不知道数据库里存放着什么内容。
真正发生的流程其实更像这样:
- 理解用户的问题。
- 到知识库检索相关文档。
- 将检索结果整理成上下文。
- 重新组织 Prompt。
- 再交给大语言模型回答。
如果继续扩展需求:
- 回答前先联网搜索最新信息;
- 根据用户身份决定能访问哪些文档;
- 回答结束后记录聊天历史;
- 回答过程中可以调用数据库、浏览器或者 Python;
那么整个系统已经不再是一次模型调用,而变成了一套完整的工作流。
真正复杂的,其实已经不是模型本身。
而是如何组织模型完成一系列任务。
LangChain 就是在这样的背景下诞生的
很多人第一次接触 LangChain,都会把它理解成一个 Agent 框架。
其实这并不准确。
LangChain 从诞生开始,它想解决的问题一直只有一个:
如何把一次模型调用,扩展成一个可以执行复杂任务的 AI 应用。
换句话说,它更像是一套基础设施。
如果把 GPT 看成 CPU,那么 LangChain 更像操作系统。
它并不会提升模型本身的能力,却负责协调模型与外部世界之间的各种交互。
例如:
- 如何组织 Prompt;
- 如何维护聊天上下文;
- 如何调用外部工具;
- 如何连接向量数据库;
- 如何让多个步骤串联起来。
这些能力,最终共同组成了一次完整的 AI Workflow。
LangChain 的核心思想:Everything is Composable
如果只用一句话来概括 LangChain,我更喜欢下面这句话:
Everything is Composable.(一切皆可组合。)
这是 LangChain 最重要,也是最容易被忽略的设计思想。
在传统开发里,我们习惯把业务拆分成很多模块:
- Controller
- Service
- DAO
而在 LangChain 里,开发者同样把 AI 应用拆成很多可以自由组合的小组件。
例如:
- Prompt
- Model
- Retriever
- Tool
- Output Parser
这些组件彼此独立,却又能够像积木一样自由组合。
不同项目之间,真正变化的往往不是模型,而是这些组件的组合方式。
这也是 LangChain 名字中 Chain 的由来。
它强调的并不是某一个组件,而是组件之间的连接关系。
从「Chain」到「Graph」
不过,随着 AI Agent 越来越复杂,新的问题又出现了。
最初的 LangChain,更多采用的是一种线性的工作方式。
也就是说:
一个步骤结束以后,才能进入下一个步骤。
这种方式对于 RAG 或简单问答已经足够。
但是对于真正复杂的 Agent,例如:
- AI Coding Assistant
- Deep Research
- Multi-Agent Collaboration
事情开始变得没有那么简单。
模型可能需要:
- 根据结果再次搜索;
- 多个工具同时执行;
- 自己反思刚才的答案;
- 必要时重新规划整个流程。
工作流已经不再是一条链,而更像一张不断循环的图。
于是,LangGraph 出现了。
很多人认为 LangGraph 是 LangChain 的升级版。
我更愿意把它理解成:
LangChain 负责提供各种能力,而 LangGraph 负责组织这些能力。
一个负责提供组件,一个负责编排组件。
它们并不是替代关系,而是互补关系。
我的理解
很多教程都会告诉你:
LangChain 有 Prompt、Memory、Tool、Retriever、Agent……
这些当然都很重要。
但如果只记住这些 API,很快就会忘记。
真正值得理解的是它背后的设计思想。
在我看来,LangChain 从来都不是一个聊天框架。
它更像一套围绕大语言模型构建应用的软件工程框架。
它关注的,不是「模型如何思考」。
而是:
当模型需要和现实世界协作时,我们应该如何组织整个系统。
这也是为什么今天越来越多的 AI Agent、RAG 系统、企业 Copilot,都能够看到 LangChain 的影子。
写在最后
如果说 GPT 让我们第一次拥有了能够理解自然语言的「大脑」。
那么 LangChain,则让这个大脑第一次拥有了双手、双脚以及记忆。
它不会让模型变得更聪明。
却让模型真正开始具备完成复杂任务的能力。
下一篇,我想聊聊 LangChain 中最重要的设计思想之一:
为什么 Runnable 会逐渐取代传统的 Chain?