用于构建、管理和部署长期运行的有状态 AI Agent 的低层级编排框架与运行时。
LangGraph 是由 LangChain Inc. 开源的低层级编排框架,专为构建具备强状态管理和复杂控制流的 AI Agent 而设计。其底层基于 Pregel 计算模型,允许开发者以图(节点与边)或函数的形式定义 Agent 逻辑。
核心优势在于其卓越的运行时控制能力:支持 Durable Execution 实现任务失败后的精确恢复;提供 Time Travel 机制可回溯至任意历史检查点;内置 Human-in-the-loop 中断能力满足企业级人工审批需求。同时,通过 Subgraphs 机制,LangGraph 能够优雅地实现 Multi-Agent 系统的编排与组合。
该框架不强制依赖 LangChain,可独立运行,但与 LangChain 工具链及 LangSmith 可观测性平台深度集成。典型应用场景涵盖多步骤工具调用、复杂 RAG 流程编排、长周期自动化工作流等,已被 Klarna、Uber、J.P. Morgan 等大型企业投入生产环境使用。
状态与持久化#
- Durable Execution(持久化执行):支持 Agent 状态的持久化,任务失败后可自动恢复,支持从中断点精确恢复执行。
- Comprehensive Memory(全面记忆):同时提供短期工作记忆(ongoing reasoning)和长期持久记忆(跨会话保留),构建真正有状态的 Agent。
- Time Travel(时间回溯):支持回溯到任意历史状态进行检查,或从特定的历史检查点重新执行图。
流程控制与编排#
- Human-in-the-loop(人机协同):在图执行的任意节点可通过中断机制暂停,支持人工检查和修改 Agent 状态。
- Subgraphs(子图):支持将复杂的 Agent 逻辑拆分为多个可组合的子图模块,是实现 Multi-Agent 协同的核心机制。
- 双模式定义:提供 Graph API(图结构:节点+边)与 Functional API(单一函数定义)两种 Agent 定义模式。
运行时与可观测性#
- Streaming(流式输出):支持在 Agent 执行过程中实时流式传输中间结果。
- LangSmith 集成:原生集成 LangSmith,提供执行路径可视化、状态转换捕获及详细运行时指标。
- Production-ready Deployment:支持通过 LangSmith Deployment 平台进行企业级部署及可视化原型设计。
架构与实现要点#
- 计算模型:基于 Pregel 计算模型构建(灵感来自 Pregel、Apache Beam),节点作为处理单元,边定义执行顺序和数据流。
- 接口设计:公共 API 设计灵感来自 NetworkX,采用直观的图论接口(
add_node,add_edge)。 - 状态管理机制:状态本质是一个
TypedDict。节点函数接收完整 state 并返回部分更新,运行时通过Annotated类型与operator自动控制状态合并策略。 - 核心运行时:底层核心运行时命名为
Pregel,全权负责图的调度、状态持久化、中断处理与故障恢复。
安装与快速开始#
pip install -U langgraph
from langgraph.graph import StateGraph, MessagesState, START, END
def mock_llm(state: MessagesState):
return {"messages": [{"role": "ai", "content": "hello world"}]}
graph = StateGraph(MessagesState)
graph.add_node(mock_llm)
graph.add_edge(START, "mock_llm")
graph.add_edge("mock_llm", END)
graph = graph.compile()
graph.invoke({"messages": [{"role": "user", "content": "hi!"}]})