用途:为有状态智能体实现可持久化的状态,使其在故障、重启和跨会话后仍能恢复进度,避免长任务丢失、用户无法续聊、缺少审计轨迹以及重复计算。
主要能力:介绍 LangGraph 检查点机制,包括 MemorySaver(仅开发)、SqliteSaver(单实例)、PostgresSaver(生产多实例)与 RedisSaver(高吞吐);基于 thread_id 的线程状态,使同一线程共享状态、不同线程状态隔离;状态模式设计,含版本化状态与迁移函数、会话状态与用户画像状态分离;三层记忆架构(工作记忆、短期记忆、长期记忆)及 Redis TTL 会话与数据库用户画像实现;检查点管理,包括获取当前状态、列出历史、回退到指定 checkpoint 及清理旧检查点;恢复模式,含基于 tenacity 的自动重试与从失败处续跑。
使用方式:通过 workflow.compile(checkpointer=...) 挂载检查点器,调用时在 config 中传入 configurable.thread_id;续跑时传入 None 从检查点继续。生产环境建议使用连接池并调用 checkpointer.setup() 初始化表。
适用场景:长时运行的智能体、需要断点续跑与历史回放的对话系统、多实例共享状态的生产部署。
限制:资料未提供具体版本要求、性能基准、价格与平台支持信息;示例代码需按实际环境调整,MemorySaver 重启即丢失,SqliteSaver 不支持并发。