文章 / LangChain 与 LangGraph 的本质区别——同一个公司的两种武器
架构设计

LangChain 与 LangGraph 的本质区别——同一个公司的两种武器

2026.07.07 · 约 3800 字

一、一个容易混淆的问题

LangChain 和 LangGraph 是什么关系?

很多人搞混,因为它们是同一个公司(LangChain Inc)出的,名字也像,文档还互相引用。

有人说是升级版——LangGraph 是 LangChain 的替代品。有人说是互补版——LangChain 做链,LangGraph 做图。

都不对。LangChain 的官方文档有一句非常清楚的描述:

"LangChain's agents are built on top of LangGraph." — LangChain 的 Agent 是建立在 LangGraph 之上的。

这意味着:LangGraph 是地基,LangChain 是上层建筑。它们不是竞品,是上下层关系。

二、官方定位:三层武器

LangChain 官网把自己家的产品分成三个层级:

产品层级一句话定位
Deep Agents高层开箱即用的 Agent,带上下文压缩、虚拟文件系统、子代理
LangChain中层create_agent——最小可配的 Harness(缰绳)
LangGraph底层有状态、长运行 Agent 的完整编排框架

选择指南也很清晰:想快速上手用 Deep Agents;想高度定制自己的 Agent 用 LangChain;需要高级编排用 LangGraph。

三、LangGraph 到底是什么

LangGraph 的官方定义:低阶编排框架,用于构建、管理和部署长运行、有状态的 Agent。

关键词:

它的核心模型是 StateGraph(状态图):

节点(Node) → 执行一个函数
边(Edge)   → 控制执行流向
状态(State) → 在节点间传递和持久化

这更像 Pregel(Google 的大规模图处理框架)和 NetworkX(Python 图论库),而不是传统的 Agent 框架。LangGraph 自己也承认受这两者启发。

LangGraph 解决的核心问题: 当 Agent 逻辑不是"调用工具→返回结果"这么简单时——比如需要多步决策、条件分支、人机协作、失败恢复——你需要一个图来建模执行流,而不是一条链。

四、LangChain 到底是什么

LangChain 在 2026 年的定位已经非常清晰:

Agent = Model + Harness. LangChain provides create_agent: a minimal, highly configurable harness.

它的核心就是 create_agent——模型 + 工具 + 提示词的最小组合:

from langchain.agents import create_agent

agent = create_agent(
    model="openai:gpt-5.5",
    tools=[get_weather],
    system_prompt="You are a helpful assistant",
)

简单、直接。

LangChain 本质上是对 LangGraph 的封装——它用 LangGraph 的 StateGraph 实现了一个预配置的 Agent 循环,让开发者不需要跟图打交道。

五、本质区别一张表

维度LangChainLangGraph
层级中层抽象底层框架
核心模型create_agent + 中间件StateGraph(节点+边+状态)
抽象程度Harness——围绕模型循环的配置层编排引擎——控制执行流程
状态管理有(基于 LangGraph)核心特性(持久化/恢复)
学习曲线低(几行代码)中高(需理解图模型)
与对方关系建立在 LangGraph 之上可被 LangChain 调用,也可独立使用

六、什么时候该用哪个

一个简单的决策树:

你的 Agent 逻辑是不是"调用工具→返回结果"?
  ├── 是 → LangChain 就够了
  └── 否 → 你需要:
       ├── 多步决策?→ LangGraph
       ├── 条件分支?→ LangGraph
       ├── 人机协作?→ LangGraph
       ├── 失败恢复?→ LangGraph
       └── 多 Agent 协作?→ LangGraph

更直白地说:如果你的 Agent 逻辑能写在一段代码里,LangChain 就够了。如果需要画一张图才能说清楚执行逻辑,你需要 LangGraph。

七、对我们意味着什么

LangGraph 给了我们一个系统的方案来建模多 Agent 编排。但有一个关键的取舍:目前用 Hermes 的 delegate_task 对我们更实际——不需要引入新语言、新框架,就能跑通流水线。等流水线复杂到"用语言描述不清楚"的时候,再考虑 LangGraph 不迟。

八、一句话

LangChain 和 LangGraph 不是竞品。LangChain 是给大多数人用的——几行代码跑一个 Agent。LangGraph 是给复杂场景用的——当你需要画图才能说清 Agent 逻辑时。

💬 评论

加载中...
请友善发言