用途:为 LangGraph 图提供状态持久化、对话记忆与历史回溯能力,并配置子图 checkpointer 作用域。
主要能力:Checkpointer 在每个 super-step 保存/加载图状态;thread_id 标识独立检查点序列(会话);Store 提供跨线程的长期记忆(用户偏好、事实)。两类记忆:短期(checkpointer,线程内对话历史)与长期(store,跨线程偏好与事实)。
使用方式:编译图时传入 checkpointer,如 graph = builder.compile(checkpointer=checkpointer);调用时必须提供 config = {"configurable": {"thread_id": "conversation-1"}},否则状态不持久化。生产环境用 PostgresSaver,本地可用 SqliteSaver,测试用 InMemorySaver。时间旅行可浏览 graph.get_state_history(config)、从过去检查点重放或 update_state 分叉;update_state 会经过 reducer,需替换时用 Overwrite。长期记忆用 store.put/get/search/delete,节点内通过 runtime.store 访问,编译时同时传 checkpointer 与 store。
子图 checkpointer:False 表示不需要中断或持久化;默认(省略)可中断但不跨调用记忆;True 表示跨调用持久化。注意 checkpointer=True 的同一子图实例不能在单个节点内多次调用,会命名空间冲突;并行有状态子图应各自用唯一节点名包装。
限制与注意:生产勿用 InMemorySaver(重启丢数据);不要忘记 thread_id;不要期望 update_state 绕过 reducer;不要在节点内直接访问 store,应通过 Runtime 参数。其余价格、平台与效果信息暂未提供。