- 大语言模型(LLM)是一项出色而强大的新技术。
- 将 LLM 与外部数据源结合时,效果会更好。
- LLM 将改变未来应用的形态。具体来说,未来的应用会越来越代理化。
- 这种转变仍处于非常早期的阶段。
- 虽然构建这些代理式应用的原型很容易,但要构建足够可靠、可投入生产的代理仍然很难。
1
让开发者能够使用最佳模型进行构建。
不同提供商会暴露不同的 API,使用不同的模型参数和消息格式。
标准化这些模型输入和输出是核心重点,这让开发者可以轻松切换到最新的先进模型,并避免锁定。
2
让使用模型编排更复杂的流程变得简单,这些流程可以与其他数据和计算交互。
模型不应只用于文本生成,还应被用于编排更复杂的流程,并与其他数据交互。LangChain 让定义 LLM 可动态使用的工具变得简单,也能帮助解析和访问非结构化数据。
历史
鉴于该领域持续快速变化,LangChain 也随着时间不断演进。下面是 LangChain 多年来变化的简要时间线,展现了它如何随着“使用 LLM 构建应用”的含义一起演进:v0.0.1
在 ChatGPT 发布前一个月,LangChain 作为 Python 包发布。它由两个主要组件组成:
- LLM 抽象
- “Chains”,即针对常见用例预先确定的计算步骤。例如 RAG:先运行检索步骤,再运行生成步骤。
LangChain 添加了第一批通用代理。这些通用代理基于 ReAct 论文(ReAct 表示 Reasoning and Acting)。它们使用 LLM 生成代表工具调用的 JSON,然后解析该 JSON 来确定调用哪些工具。
OpenAI 发布了 “Chat Completion” API。在此之前,模型接收字符串并返回字符串。在 ChatCompletions API 中,模型演进为接收消息列表并返回一条消息。其他模型提供商也采用了这种方式,LangChain 随之更新,以支持消息列表。
LangChain 发布了 JavaScript 版本。LLM 和代理会改变应用的构建方式,而 JavaScript 是应用开发者常用的语言。
LangChain Inc. 围绕开源 LangChain 项目成立。主要目标是“让智能代理无处不在”。团队意识到,虽然 LangChain 是关键部分(它让开始使用 LLM 变得简单),但仍然需要其他组件。
OpenAI 在其 API 中发布了 “function calling”。这让 API 可以显式生成代表工具调用的 payload。其他模型提供商也采用了这种方式,LangChain 随之更新,将其作为工具调用的首选方法(而不是解析 JSON)。
LangChain Inc. 发布了闭源平台 LangSmith,提供可观测性和评估功能。构建代理的主要问题是让它们足够可靠,而提供可观测性和评估功能的 LangSmith 正是为满足这一需求而构建的。LangChain 也更新为可与 LangSmith 无缝集成。
v0.1.0
LangChain 发布 0.1.0,这是它第一个非 0.0.x 版本。行业从原型阶段走向生产阶段,因此 LangChain 加强了对稳定性的关注。
LangGraph 作为开源库发布。最初的 LangChain 有两个重点:LLM 抽象,以及用于快速开始构建常见应用的高级接口;但它缺少一个低层编排层,让开发者可以精确控制代理流程。于是 LangGraph 出现了。在构建 LangGraph 时,团队吸取了构建 LangChain 的经验,并添加了发现必需的功能:流式传输、持久执行、短期记忆、人在环路等。
LangChain 拥有超过 700 个集成。集成从 LangChain 核心包中拆分出来,并迁移到各自独立的包(核心集成)或
langchain-community。对于任何不止一次 LLM 调用的 AI 应用,LangGraph 成为首选构建方式。当开发者尝试提升应用可靠性时,他们需要比高级接口更多的控制力。LangGraph 提供了这种底层灵活性。LangChain 中的大多数链和代理被标记为已弃用,并提供了迁移到 LangGraph 的指南。LangGraph 中仍保留一个高级抽象:代理抽象。它构建在底层 LangGraph 之上,并拥有与 LangChain 中 ReAct 代理相同的接口。
模型 API 变得更加多模态。模型开始接受文件、图像、视频等内容。相应地,团队更新了
langchain-core 消息格式,让开发者可以用标准方式指定这些多模态输入。v1.0.0
LangChain 发布 1.0,包含两项重大变化:
-
全面重构
langchain中的所有链和代理。所有链和代理现在都被唯一的高级抽象替代:构建在 LangGraph 之上的代理抽象。这个高级抽象最初在 LangGraph 中创建,现在迁移到了 LangChain。 对于仍在使用旧版 LangChain 链或代理且不想升级的用户(注意:建议升级),可以安装langchain-classic包继续使用旧版 LangChain。 - 标准消息内容格式:模型 API 从返回简单内容字符串的消息,演进为返回更复杂的输出类型,包括推理块、引用、服务器端工具调用等。LangChain 也演进了消息格式,以便跨提供商标准化这些内容。
v0.5.3
Deep Agents 作为构建在 LangGraph 之上的开源代理运行框架发布。LangChain 为自定义代理架构提供灵活的构建块,而 Deep Agents 为研究和编码等复杂、长时间运行的任务提供开箱即用的选择。它添加了内置规划工具、带可插拔后端(内存、磁盘、LangGraph 存储、沙箱)的虚拟文件系统,以及用于上下文隔离的子代理生成。需要带预定义工具、更自主的代理时,请使用 Deep Agents;需要完全控制代理架构时,请使用 LangChain。
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

