什么是 LangGraph?

LangGraph 是一个用于构建状态化(Stateful)、多智能体(Multi-Actor)应用的 Python/JS 框架。作为 LangChain 生态的扩展,它将复杂的业务工作流抽象为有向图:其中节点(Nodes)代表具体的执行逻辑(如大模型调用、工具执行),边(Edges)代表控制流(如条件判断),并通过一个全局的 State 对象在节点间传递数据。这种架构特别适合处理需要循环、错误重试和人工干预(Human-in-the-loop)的 Agent 任务。

快速了解

全称LangGraph Multi-Agent Framework
创建时间由 LangChain 团队推出,解决传统 Chain 缺乏循环能力的痛点

工作原理

随着大模型应用向 Agentic Workflow(智能体工作流)演进,传统的线性执行链(如 LangChain 的 SequentialChain)已经无法满足需求。因为真实的业务流程往往充满了分支判断、循环重试,甚至需要多个专职 Agent(如程序员和测试员)相互协作。LangGraph 通过引入“图论(Graph Theory)”完美解决了这个问题。开发者可以精确地定义每个 Agent 的职责作为一个节点,并通过定义条件边(Conditional Edges)来控制数据流向。更重要的是,LangGraph 提供了极强的状态管理能力(State Management),不仅支持持久化存储执行过程,还允许开发者随时回溯到历史状态(Time Travel),或者在关键节点暂停执行等待人工审批。

主要特点

  • 基于图论的架构:将复杂的逻辑分支和循环(Loops)可视化、结构化
  • 全局状态机:所有节点共享并修改同一个 State 对象,数据流转清晰
  • 支持循环与重试:非常适合需要“自我纠错(Self-Correction)”的场景
  • 人工干预(Human-in-the-loop):可以在图的执行过程中暂停,等待人类确认后继续
  • 与 LangChain 无缝集成:可以直接复用现有的 LCEL 链、Tools 和 Prompt 模板

常见用途

  1. 自动化代码生成与测试:Coder 生成代码,Tester 运行并反馈错误,循环直到测试通过
  2. 复杂客户服务系统:意图识别节点将问题分发给不同的专职 Agent(如退款 Agent、技术支持 Agent)
  3. 内容审核与审批流:Agent 撰写文章,Critic 进行审核打分,若分数过低则打回重写
  4. 长线任务规划:将一个大目标拆解为多个子任务,并在执行过程中不断更新进度状态

示例

loading...
Loading code...

常见问题

LangGraph 和 AutoGen 有什么区别?

LangGraph 强调“控制”:通过有向图和状态机,开发者可以精确规定执行流程,非常适合确定性强的企业级工作流。而 AutoGen 强调“涌现”:通过多个 Agent 之间的自然语言对话来推进任务,更适合探索性强、流程不固定的场景。

一定要配合 LangChain 使用吗?

不一定。虽然它脱胎于 LangChain 生态,但 LangGraph 核心只是一个用于管理状态和流程的图引擎,你可以完全不使用任何 LangChain 的组件(如 LCEL),只用原生的 Python 函数和 OpenAI SDK 来构建节点。

什么是 LangGraph 中的 Time Travel?

由于 LangGraph 会持久化保存每一步的 State,开发者可以查看历史状态,甚至修改某个历史状态并从那个时间点重新开始执行图,这在排查复杂 Agent 系统的 Bug 时非常有用。

相关工具

相关术语

相关文章