- 大语言模型(LLMs)是一项伟大而强大的新技术。
- 当 LLMs 与外部数据源结合时,它们会变得更加强大。
- LLMs 将改变未来应用程序的面貌。具体来说,未来的应用程序将越来越具有智能体(agentic)特性。
- 这场变革仍处于非常早期的阶段。
- 虽然构建这些智能体应用的原型很容易,但要构建足够可靠以投入生产的智能体仍然非常困难。
1
我们希望让开发者能够使用最好的模型进行构建。
不同的提供商提供不同的 API,具有不同的模型参数和消息格式。
标准化这些模型的输入和输出是我们的核心关注点,使开发者能够轻松切换到最新的前沿模型,避免被锁定。
2
我们希望让模型更容易用于编排更复杂的流程,这些流程会与其他数据和计算交互。
模型不应仅用于文本生成——它们还应被用于编排与其他数据交互的更复杂流程。LangChain 使得定义 LLMs 可以动态使用的工具变得容易,同时也帮助解析和访问非结构化数据。
发展历程
鉴于该领域不断变化的节奏,LangChain 也随着时间的推移而演变。以下是 LangChain 多年来如何变化的简要时间线,它随着构建 LLM 应用的意义一同演进:v0.0.1
在 ChatGPT 发布前一个月,LangChain 作为一个 Python 包推出。它主要由两个组件构成:
- LLM 抽象层
- “链”(Chains),或为常见用例运行的预定计算步骤。例如 - RAG:运行一个检索步骤,然后运行一个生成步骤。
第一个通用智能体被添加到 LangChain 中。这些通用智能体基于 ReAct 论文(ReAct 代表推理和行动)。它们使用 LLMs 生成代表工具调用的 JSON,然后解析该 JSON 以确定调用哪些工具。
OpenAI 发布了 ‘Chat Completion’ API。此前,模型接收字符串并返回一个字符串。在 ChatCompletions API 中,它们演变为接收消息列表并返回一条消息。其他模型提供商纷纷效仿,LangChain 也随之更新以支持消息列表。
LangChain 发布了 JavaScript 版本。LLMs 和智能体将改变应用程序的构建方式,而 JavaScript 是应用程序开发者的语言。
LangChain Inc. 作为一家公司成立,围绕开源 LangChain 项目。主要目标是”让智能体无处不在”。团队认识到,虽然 LangChain 是一个关键部分(LangChain 使得开始使用 LLMs 变得简单),但也需要其他组件。
OpenAI 在其 API 中发布了 ‘function calling’。这使得 API 能够显式生成代表工具调用的有效载荷。其他模型提供商纷纷效仿,LangChain 也随之更新,将此作为工具调用的首选方法(而不是解析 JSON)。
LangSmith 作为闭源平台由 LangChain Inc. 发布,提供可观测性和评估功能。构建智能体的主要问题是使其可靠,而 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。LangGraph 成为构建任何超越单个 LLM 调用的 AI 应用的首选方式。当开发者试图提高其应用程序的可靠性时,他们需要比高级接口提供的更多的控制权。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 演进其消息格式以标准化这些跨提供商的输出。
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

