长期记忆与Backend存储
checkpointer 不是长期记忆。它关注的是:这次任务执行到哪一步了?中断后应该从哪里继续?
Backend 关注的是另一件事:Agent 写入的文件、生成的资料、长期需要保存的信息,最终存到哪里?
| 类型 | 主要保存什么 | 典型用途 | 本章对应概念 |
|---|---|---|---|
| 短期记忆 | 一次调用的执行过程、节点状态、中断位置 | 人机协作中断恢复、流程续跑 | checkpointer |
| 长期记忆 | 一次或多次会话产生的结果、文件、用户偏好 | 跨线程、跨会话共享信息 | Backend |
gent 仍然通过文件系统工具读写文件,但文件不一定真的落在同一个地方。Backend 位于“文件工具”和“真实存储介质”之间,负责把虚拟文件路径映射到 State、本地磁盘、Store 或组合后端
Backend 不是“自动保存所有聊天记录”。它通常是被文件工具触发的
| Agent 行为 | Backend 是否参与 |
|---|---|
| 普通聊天回复 | 通常不参与 |
| 模型内部思考或规划 | 不会自动写入 Backend |
调用 ls、read_file、write_file、edit_file、glob、grep 等文件工具 |
会由 Backend 处理 |
只有当 Agent 显式进行文件读写时,Backend 才会决定这些虚拟文件最终落到哪里。普通问答如果没有触发文件工具,就不会自动沉淀成长期记忆
| Backend | 存储位置 | 生命周期 | 适合场景 |
|---|---|---|---|
StateBackend |
当前运行状态 | 同一 thread 内可随检查点保留 |
默认临时文件、中间结果 |
FilesystemBackend |
本地磁盘 | 文件长期存在于本机 | 本地调试、生成报告、查看文件 |
StoreBackend |
KV Store | 取决于 Store 实现 | 跨线程共享、长期记忆、生产存储 |
CompositeBackend |
混合路由 | 按路由决定 | 不同路径走不同存储、生产项目 |
checkPointer-保存短期执行状态
保存的是:
- 当前执行到哪个节点;
- 中断前的状态;
- 同一个
thread_id下的临时执行上下文; - 人机协作恢复时需要的状态。
InmemorySaver 和 InmemoryStore的区别
| 对象 | 用在哪里 | 保存什么 | 记忆类型 |
|---|---|---|---|
InMemorySaver |
checkpointer |
Agent 执行过程、中断位置、恢复状态 | 短期记忆 |
InMemoryStore |
StoreBackend |
文件式结果、用户信息、长期偏好 | 长期记忆的一种实现 |

浙公网安备 33010602011771号