AI 脉络GitHub ↗
术语库概念对比学习路径AI 雷达参与共建GitHub ↗
Agent 工程进阶快速演变

LangGraph

Lang Graph · LongGraph · Long Graph · 状态图编排

用状态、节点和连接规则组织长流程的编排框架,适合需要分支、暂停和恢复的智能体应用,也可以运行完全确定的流程。

最后核验 2026-09-08 · 已核验

用一个类比理解

像带进度档案的办事流程:每个窗口处理一步,规则决定下一站,保存档案后可以继续办理,但不会替窗口保证业务操作正确。

这篇能帮你解决什么

带着目标读,读完可以验证

  • 用状态、节点和边解释一项业务流程
  • 区分检查点恢复与外部副作用的幂等控制
开始深读 →先做一道自测 →查看 4 份来源 →
建议先看:WorkflowTool Calling

它解决什么

  • 明确长任务的控制流和共享状态
  • 组织人工介入与继续执行
  • 配合持久化恢复中断的任务

它不是什么

  • 图编排不等于知识图谱或图神经网络
  • 使用 LangGraph 不要求使用 LangChain
  • 内存检查点不能保证进程重启后恢复
  • 状态恢复不自动保证外部操作只执行一次

适合使用

  • 任务有明确分支和状态转换
  • 需要跨步骤暂停等待人工决定
  • 失败后重新从头执行的成本较高

暂时别用

  • 一个短函数即可描述完整任务
  • 只是想让模型知道更多知识
  • 尚未定义状态和失败处理规则

常见失败方式

  • 忘记配置持久化检查点
  • 将不同用户的任务复用同一线程标识
  • 恢复节点时重复执行发信或扣款
  • 让多个并行节点覆盖同一状态字段

把下一步写成可检查的规则#

LangGraph 用状态保存当前任务的信息,用节点完成一步工作,用边决定接下来运行哪个节点。节点既可以调用模型,也可以执行普通代码,因此图里可以同时存在确定规则和模型决策。1 2

教学情境:收到退款请求,先检查订单,再生成处理建议,超过金额阈值就等待人工审批,批准后执行退款。图表达的是“谁决定下一步”,不是模型内部的神经网络,也不是保存实体关系的知识图谱。

状态保存不等于操作只发生一次#

检查点保存某个线程的图状态;store 可保存跨线程的应用数据。内存保存器适合演示,但进程重启后会丢失内容,需要恢复能力时应选择持久化实现,并正确隔离线程标识。3

interrupt 允许暂停等待外部输入。恢复时,包含中断的节点会从头运行,暂停之前的代码可能再次执行。如果那段代码发邮件或扣款,就必须考虑重复副作用。4

本站建议把审批放在副作用之前,并在业务服务层使用幂等键检查重复请求。只拆分节点仍不能替代业务去重;也不能把整个外部系统的事务责任交给检查点。

最小判断#

先画出节点、每一步读写的字段,以及成功、失败、等待三种去向。若只有顺序的三步,普通工作流可能已足够;如果需要分支、长时间等待和恢复,再评估图编排带来的收益。

多个节点可能更新同一字段时,应明确是覆盖、追加还是自定义合并。LangGraph 用 reducer 定义状态字段如何接收更新,不能依赖碰巧的执行顺序。2

动手验证#

下面是本站的纸面故障演练,不需要模型密钥,也不是已执行的 LangGraph 示例。

  1. 给一张教学订单分配固定任务标识,画出“校验 → 审批 → 执行 → 完成”。
  2. 在审批前、审批后、执行成功但记录未写入时,分别假设进程退出。
  3. 写出每次恢复会读取什么、重跑什么、凭什么避免重复执行。
  4. 另开一个用户的任务,检查两者是否能意外读取同一状态。

验收标准:每个断点都有可解释的恢复策略;不能恢复或无法去重的位置必须明确标出。带着这份清单再实现框架,才能判断持久化与护栏是否真正生效。

检验理解 · 教学情境

你会怎么判断?

一个节点先发邮件,再暂停等待审批。恢复流程后收件人收到两封邮件,为什么保存了检查点仍然会这样?

想好后,展开参考答案

恢复包含 interrupt 的节点时会重新执行节点开头的逻辑,暂停之前的发信可能再次发生。应把审批放在发送前,并为发送动作设置独立的幂等键和记录;同时使用持久化检查点,而不是把保存状态等同于外部副作用恰好执行一次。

可信来源

依据在哪里,能说明什么

正文中的编号链接对应下列资料。教学案例与操作建议由本站整理,不是原作者的实验结果或普遍保证。

来源 1官方文档LangChain

LangGraph overview

支持的结论:LangGraph 的底层编排定位、确定步骤与模型决策的组合,以及可独立于 LangChain 使用。

适用边界:文档介绍可用能力,真实可靠性仍取决于业务状态、存储和失败处理实现。

资料核验于 2026-09-08返回正文 ↑
来源 2官方文档LangChain

Graph API overview

支持的结论:状态、节点、边与 reducer 的分工,以及节点状态更新的组织方式。

适用边界:核验范围为 Python Graph API;框架 API 的具体签名需结合项目锁定版本阅读。

资料核验于 2026-09-08返回正文 ↑
来源 3官方文档LangChain

LangGraph Persistence

支持的结论:线程检查点与跨线程 store 的区别,以及内存保存器不跨进程重启持久化的限制。

适用边界:配置保存器只是恢复机制的一部分,不能据此推断外部业务系统具有事务保证。

资料核验于 2026-09-08返回正文 ↑
来源 4官方文档LangChain

LangGraph Interrupts

支持的结论:interrupt 暂停和恢复的机制,以及恢复时节点开头的代码会重新执行的约束。

适用边界:人工审批和副作用控制需要应用正确实现,框架不会替开发者判断一项操作是否应被批准。

资料核验于 2026-09-08返回正文 ↑