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 级 |
引用本术语的文章