创建时间: 2026-04-01最后更新: 2026-04-23

1. 没有持久化,图跑完就什么都没了

前面四篇我们构建的所有图都有一个共同的问题:状态只存在于单次 invoke 的执行过程中

图跑完,状态就没了。下一次 invoke 是全新的开始,不知道之前发生过什么。

no-memory.ts
01
// 假设 graph 是前面编译好的图(没有启用 checkpointer)
02
03
const result1 = await graph.invoke({
04
messages: [{ role: 'user', content: '我叫小明' }],
05
})
06
// → AI: 你好,小明!
07
08
const result2 = await graph.invoke({
09
messages: [{ role: 'user', content: '我叫什么?' }],
10
})
11
// → AI: 我不知道你叫什么。
12
// 两次 invoke 之间没有任何关联,第二次调用完全不知道第一次发生过什么

这在简单的单次问答场景里无所谓。但只要你的应用需要以下任何一种能力,就必须有持久化:

  • 多轮对话:用户连续发多条消息,Agent 需要记住上下文
  • 中断恢复:长时间运行的工作流,进程重启后能从断点继续
  • 调试回溯:出了问题,能回到之前的某一步看当时的状态
  • 状态分叉:从历史某一步开始,走一条不同的路

LangGraph 用 Checkpointer 解决这些问题。

订阅后可阅读剩余内容
AI 电子伴侣企业级项目实战
已发布145计划发布120目标已完成121%