Store 并设置 use_longterm_memory=True,可以为深度智能体启用长期记忆,让数据在多个线程与会话之间持久存在。
环境配置
工作原理
启用长期记忆后,深度智能体会维护两个独立的文件系统:1. 短期(临时)文件系统
- 存储在智能体状态中
- 仅在单个线程内持续有效
- 线程结束后文件被清除
- 通过常规路径访问,如
/notes.txt
2. 长期(持久)文件系统
- 存储在 LangGraph Store 中
- 跨所有线程和会话持久存在
- 文件永久保存
- 使用特殊前缀访问,如
/memories/notes.txt
/memories/ 路径约定
长期记忆的关键是 /memories/ 前缀:
- 以
/memories/开头的路径会写入 Store,实现持久化 - 没有此前缀的文件仍保存在临时状态中
- 所有文件系统工具(
ls、read_file、write_file、edit_file)对两者都适用
跨线程持久化
位于/memories/ 下的文件可以在任何线程中访问:
典型用例
用户偏好
存储跨会话持久的用户偏好:自我改进指令
智能体可以根据反馈更新自己的指令:知识库
跨多轮对话逐步构建知识:研究项目
在多个会话之间持续维护研究进度:Store 实现
任何 LangGraph 的BaseStore 实现都可以搭配长期记忆使用。
InMemoryStore(开发环境)
适合测试和开发,但重启后数据会丢失:PostgresStore(生产环境)
在生产环境中使用持久化存储:最佳实践
使用描述性路径
为长期文件设计清晰的层级结构:说明哪些内容需要持久化
在系统提示中明确何时使用长期或短期存储:按助手身份隔离存储
在多租户应用中,通过assistant_id 隔离不同助手的数据:
在生产环境使用持久化 Store
列出文件
ls 工具会同时显示两个文件系统中的文件:
/memories/ 前缀的文件来自持久化 Store。