Checkpoint(检查点)

Agent 执行过程中保存的状态快照,用于故障恢复和断点续跑。与传统分布式系统的 checkpoint 不同,Agent 场景下 checkpoint 不仅保存数据状态,还需保存推理上下文(对话历史、已调用工具的结果等)。LangGraph 提供原生 checkpoint 支持。

Checkpoint(检查点)

一句话理解

给 Agent 的执行过程"存个档"——出错了可以从上一个存档点继续,不用从头重来。

与传统分布式系统 checkpoint 的区别

传统系统的 checkpoint 保存的是数据状态(比如数据库事务日志)。Agent 场景的 checkpoint 更复杂,需要保存:

  • 对话历史:Agent 到这一步为止的所有推理和决策上下文
  • 工具调用结果:已经执行过的工具返回值(避免重复调用有副作用的操作)
  • 图执行位置:在编排图中执行到了哪个节点
  • 共享状态:多 Agent 场景下的全局状态快照

为什么 Agent 需要 checkpoint

Agent 任务通常是长时间运行的(分钟级甚至小时级),期间可能遇到:

  • LLM API 超时或限流
  • 工具调用失败
  • Agent 进入死循环被熔断
  • 用户中断后想继续

没有 checkpoint,以上任何一种情况都意味着整个任务从头重来——包括重复所有已成功的 LLM 调用和工具调用,成本和时间都不可接受。

各框架支持情况

框架Checkpoint 支持粒度
LangGraph原生支持节点级(最细)
AutoGen无原生支持需自建
CrewAI有限(任务缓存)任务级
MetaGPT有限(Phase 产出物持久化)Phase 级

引用本术语的文章