什么是 LangGraph?

LangGraph 是一个低层编排框架和 Runtime,用确定性代码、模型调用、Tool 与人工输入构建长时间运行且有状态的 Workflow 和 Agent。

快速了解

全称LangGraph Agent 编排运行时
创建时间由 LangChain 团队推出,解决传统 Chain 缺乏循环能力的痛点
规范文档官方规范

工作原理

LangGraph 提供执行原语,而不是规定一种固定 Agent 架构。它的 Graph API 用 State、Node 和 Edge 表达工作:Node 接收 State Snapshot 并返回部分 Update,Edge 选择后续工作,每个 State Channel 的 Reducer 决定并发或串行 Update 是覆盖还是合并。图可以包含循环与条件路由,但不必包含 LLM 或多个 Agent。

Functional API 通过 Entrypoint 和 Task 使用同一套 Runtime,因此采用 Persistence 或 Interrupt 不要求把所有应用都重构为显式图。Compile 会验证图结构并绑定运行时组件,但仅编译不会让执行自动持久化。Checkpointer 保存单个 Thread 的 State Snapshot,Store 保存跨 Thread 的应用数据。Durable Execution 还要求稳定 Thread ID、持久化 Checkpointer、确定性 Replay 和幂等 Side Effect;内存 Saver 只适合开发,进程重启后数据会丢失。

Run 在故障或 Interrupt 后恢复时,会从相关 Node 或 Entrypoint 开头重放,而不是从原代码行继续,所以 Interrupt 前的代码可能再次执行。外部写入必须使用稳定 Operation ID、Idempotency Key、结果对账和独立 Authorization。Time Travel 是从 Checkpoint Replay 或 Fork,不会撤销已经发送的邮件、付款、数据库写入或其他现实副作用,后续模型与 Tool 调用也可能得到不同结果。

Input、Output 和 Private State Schema 约束接口,却不是保密边界,因为部分 Streaming Mode 会暴露内部 Channel。LangGraph 可以不依赖 LangChain 运行;LangChain 提供更高层 Agent 抽象,LangSmith 则提供独立的 Trace、Evaluation 和 Deployment 服务。LangGraph v1 稳定了核心 Graph API,并弃用旧的 LangGraph 预构建 create_react_agent 路径,推荐使用基于 LangGraph Runtime 的 LangChain create_agent。

生产评测应覆盖路由与终态正确性、State 和 Reducer 不变量、Retry、重复 Side Effect、Interrupt 授权、Checkpoint 恢复、延迟、成本和完整 Trajectory 证据。

主要特点

  • 提供低层编排 Runtime,不规定唯一 Agent、Prompt、Tool 或 Multi-Agent 架构
  • 在同一 Persistence、Streaming 与 Interrupt Runtime 上支持声明式 Graph API 和 Functional API
  • 通过每个 Channel 的 Reducer 应用 Node 返回的部分 Update,而不是依赖语义未定义的全局可变 State
  • 区分 Thread 范围 Checkpoint 与跨 Thread Store,并要求持久化后端才能在重启后恢复
  • 通过确定性 Replay 恢复,因此非确定性操作与外部 Side Effect 仍需要 Task、幂等和对账
  • 可以混合确定性步骤与模型驱动步骤,但 Authorization、租户隔离、Evaluation 和 Deployment 仍由应用栈负责

常见用途

  1. 构建包含条件分支、循环、Retry 和显式终态的长时间运行 Workflow
  2. 在经外部授权的人工审核点暂停 Run,再通过已验证的 Interrupt Payload 恢复
  3. 持久化 Thread State 以恢复故障,同时把跨 Thread 的用户或应用 Memory 单独存储
  4. 在类型化输入、输出、State 与权限边界后组合 Subgraph 或专业 Agent
  5. 为调试和评测 Replay 或 Fork 已记录的 Trajectory,同时不把重放误当现实副作用回滚

示例

loading...
Loading code...

常见问题

LangGraph 与 LangChain 有什么区别?

LangGraph 是面向自定义有状态 Workflow、Persistence、Streaming 与人工 Interrupt 的低层编排 Runtime。LangChain 提供更高层的模型和 Tool 集成以及预构建 Agent Loop,其 create_agent 抽象运行在 LangGraph 上。需要直接控制时可以独立使用 LangGraph;标准 Agent Loop 已满足需求时则应优先采用 LangChain。

LangGraph 必须使用 LLM 或 Multi-Agent 吗?

不必。LangGraph Node 可以运行确定性代码、调用 API、调用模型、执行 Tool 或组合另一个 Graph;同一个 Workflow 也能混合这些步骤。Functional API 还可以沿用普通 Python 控制流。只有专业分工带来可测收益时才需要多个 Agent,LangGraph 本身不会让系统自动获得自主性或可靠性。

LangGraph Checkpointer 与 Store 有什么区别?

Checkpointer 为一个执行 Thread 记录 State Snapshot,用于会话连续性、Interrupt、Replay 和故障恢复;Store 保存用户偏好或共享知识等跨 Thread 应用数据。InMemorySaver 只存在于当前进程,不适合重启恢复;生产系统还需要保留期限、访问控制、加密和删除策略。

LangGraph Checkpoint 能阻止重复副作用吗?

不能。Resume 和 Interrupt 处理可能从 Node 或 Entrypoint 开头重放,外部写入成功但 Task 未完成时也可能再次执行。应把非确定性操作与 Side Effect 放入显式 Task 或 Node,使用稳定 Operation ID 和 Idempotency Key,对未知结果执行对账,并在模型之外授权写入。State Snapshot 不是 Exactly-Once 事务。

LangGraph Time Travel 会回滚 Workflow 吗?

Time Travel 会从旧 Checkpoint Replay 或 Fork 执行,但不会逆转已经提交的现实副作用。选中 Checkpoint 之后的 Node 会再次运行,因此模型回答、API 结果与 Tool 效果可能不同。应把历史重放视为拥有独立 Run Identity、权限、Budget、Trace 和 Side Effect Policy 的新分支。

相关术语

相关文章

LangGraph vs AutoGen:如何选择多智能体框架

务实对比 LangGraph 与 AutoGen 两大多智能体框架:基于图的状态机 vs 对话驱动的智能体,用一个可运行的「编码-测试」自动修复闭环在两个框架里各实现一遍,并交代那些比框架选择本身更重要的生产考量——生成代码的执行必须沙箱化、循环必须设硬上限、以及每个 Agent 各自的权限边界与服务端每次调用的访问控制。

2026-04-03

Agent Harness 实战:状态、权限、工具与恢复

系统讲解 Agent Harness 实战:从类型化运行状态、权限策略和 MCP 工具适配,到持久化审批、幂等副作用、未知结果恢复、脱敏观测与故障测试,帮助团队把模型输出限制为待审提案,构建可恢复、可审计且不会因盲目重试重复执行外部写入的生产级智能体运行时,并建立贯穿开发测试、灰度发布和事故调查的统一证据链,避免把框架能力误当成安全保证。

2026-04-01

如何构建 AI Agent:生产级架构与代码实战

从架构决策到可运行代码,系统讲解生产级 AI Agent 的强类型工具、持久状态、安全护栏、人工审批、可观测性与结果评测方法。本文提供电商订单场景的 Python 实战、主流框架选型标准、多 Agent 判断原则和上线检查清单,帮助开发者判断何时不该使用 Agent,并避开越权调用、无限循环、记忆污染和只评文本不验业务结果等常见工程陷阱。

2026-02-06