Skip to content

设计哲学

原创作者wenonly
发布时间
所属分类LangChain
标签列表LangChain

设计哲学

LangChain 的诞生和发展,源于以下几个核心信念:

  • 大语言模型(LLM)是一项强大而崭新的技术。
  • 当 LLM 与外部数据源结合时,威力会成倍增长。 纯文本生成只是冰山一角,真正有趣的事情发生在模型与数据库、API、文件系统交互的时候。
  • LLM 将深刻改变未来应用的形态。 未来的应用会越来越"代理化"(agentic)——不仅能生成文字,还能自主决策、调用工具、完成多步骤任务。
  • 这场变革才刚刚开始。 我们仍处于早期阶段,最佳实践在不断演进。
  • 原型容易,生产很难。 搭一个能跑的 demo 只需几小时,但构建足够可靠、可投入生产的代理,依然充满挑战。

如今,开发者可以选择两条路径来构建代理:

  • LangChain:提供最大程度的灵活性和控制力,让你精细打磨每一个环节。
  • Deep Agents:在类似的灵活性之上,额外内置了规划能力、文件系统工具、子代理和上下文管理,适合需要"开箱即用"能力的场景。

两者都构建在 LangGraph 之上。

两大核心目标

LangChain 围绕两个核心目标展开设计:

1. 让开发者用上最好的模型

不同厂商提供的 API 各不相同——模型参数不同、消息格式不同、能力边界也不同。LangChain 通过标准化模型的输入和输出,让开发者能以最小的代价切换到最新的 SOTA 模型,避免被单一厂商锁定。

比如,你可以用同一套代码先在 OpenAI 上开发,再无缝切换到 Anthropic 或 Google 的模型,只需改一行配置。

2. 让模型编排更复杂的流程

模型不应该只用于文本生成,还应该用于编排更复杂的流程——与其他数据和计算交互。LangChain 让定义工具变得简单,LLM 可以在运行时动态调用这些工具,同时帮助你解析和访问非结构化数据。

发展历程

理解 LangChain 的设计哲学,也需要了解它随时间演进的过程。下面是一份简要的时间线:

2022-10-24 v0.0.1

在 ChatGPT 发布前一个月,LangChain 作为 Python 包发布。它包含两大核心组件:LLM 抽象层和"链"(Chains)——为常见用例预定义的计算步骤(例如 RAG:先检索,再生成)。"LangChain"这个名字正是来自"Language"(语言模型)和"Chains"(链)。

2022-12

首批通用代理(Agent)加入 LangChain。这些代理基于 ReAct 论文(Reasoning + Acting),使用 LLM 生成表示工具调用的 JSON,再解析 JSON 来决定调用哪些工具。

2023-01

OpenAI 发布 Chat Completion API。在此之前,模型接收字符串、返回字符串;此后改为接收消息列表、返回消息。其他厂商纷纷跟进,LangChain 也相应更新为基于消息列表的接口。

同月,LangChain 发布 JavaScript 版本。LLM 和代理将改变应用的构建方式,而 JavaScript 是应用开发者的语言。

2023-02

LangChain Inc. 作为公司正式成立,围绕开源 LangChain 项目运营。核心目标是"让智能代理无处不在"。

2023-03

OpenAI 在 API 中引入"函数调用"(function calling),允许 API 直接生成表示工具调用的结构化负载。LangChain 随即采用这种方式作为首选的工具调用方法(取代之前的 JSON 解析方案)。

2023-06

LangSmith 作为闭源平台发布,提供可观测性(observability)和评估(evals)能力。构建代理最大的痛点是可靠性,LangSmith 正是为解决这一痛点而生。LangChain 也更新为与 LangSmith 无缝集成。

2024-01 v0.1.0

LangChain 发布 0.1.0——第一个非 0.0.x 版本。行业从原型阶段走向生产阶段,LangChain 也随之加强对稳定性的重视。

2024-02

LangGraph 作为开源库发布。原始 LangChain 有两大方向:LLM 抽象层和面向常见应用的高层接口;但缺少一个低层编排框架来让开发者精确控制代理流程。LangGraph 填补了这一空白,并在设计时吸收了 LangChain 的经验,加入了流式传输、持久化执行、短期记忆、人机协作等功能。

2024-06

LangChain 拥有超过 700 个集成。这些集成从核心包中拆分出来,核心集成移至独立的包中,其余移至 @langchain/community

2024-10

LangGraph 成为构建任何"不止一次 LLM 调用"的 AI 应用的首选方案。LangChain 中大部分链和代理被标记为弃用,并提供了迁移到 LangGraph 的指南。LangGraph 中保留了一个高层抽象——代理抽象,它构建在底层 LangGraph 之上,与 LangChain 的 ReAct 代理接口一致。

2025-04

模型 API 变得更加多模态——开始接受文件、图片、视频等输入。LangChain 更新了 @langchain/core 的消息格式,以标准方式支持这些多模态输入。

2025-10-20 v1.0.0

LangChain 发布 1.0 版本,带来两大变化:

  • 全面重构所有链和代理。 langchain 包中所有链和代理被替换为唯一的高层抽象:构建在 LangGraph 之上的代理抽象。仍在使用旧版链/代理的用户可以安装 @langchain/classic 包继续使用(但官方建议升级)。
  • 标准化消息内容格式。 模型 API 从返回简单字符串内容,进化为返回更复杂的类型——推理块、引用、服务端工具调用等。LangChain 更新消息格式以跨厂商标准化这些输出。

2026-03-15 v0.5.3

Deep Agents 作为开源代理框架发布,构建在 LangGraph 之上。LangChain 提供灵活的构建块来定制代理架构,而 Deep Agents 则为研究、编程等复杂长时间运行的任务提供"全家桶"方案——内置规划工具、可插拔后端的虚拟文件系统(内存、磁盘、LangGraph Store、沙箱),以及用于上下文隔离的子代理生成。

如何选择? 需要预定义工具的自主代理,选 Deep Agents;需要完全控制代理架构的每一层,选 LangChain。


本文基于 LangChain 官方文档 翻译并二次创作。