以编程方式使用文档

持久化让 LangGraph 应用能够在单次图运行之外保留有用的信息。这在智能体需要继续对话、在中断后恢复、从故障中恢复或跨交互记住信息时尤为重要。

LangGraph 提供了两种互补的持久化系统:

  • - **检查点程序** 将线程的图状态持久化为检查点。用于短期、线程范围的记忆,包括对话连续性、人机交互工作流、时间旅行和容错。
  • - **存储** 在图状态之外持久化应用定义的数据。用于长期、跨线程的记忆,包括用户偏好、事实和共享知识。

大多数应用可以同时使用两者: 检查点程序 跟踪当前线程,而 存储 跨线程跟踪持久化信息。

快速入门

使用检查点程序、存储或两者同时编译你的图:

const checkpointer = new MemorySaver();
const store = new MemoryStore();

const graph = builder.compile({ checkpointer, store });

const result = await graph.invoke(
  { messages: [{ role: "user", content: "Hi, my name is Bob." }] },
  { configurable: { thread_id: "thread-1" } }
);

检查点程序 vs. 存储

检查点程序存储
持久化内容图状态快照应用定义的键值数据
范围单个线程跨线程
记忆类型短期、线程范围的记忆长期、跨线程的记忆
用途对话连续性、人机交互、时间旅行和容错用户偏好、事实和共享知识
访问模式传入 thread_id 到图配置中从节点或应用代码中读写数据
完整指南检查点程序存储

后续步骤