LangChain记忆文档讲了什么设计思想
LangChain 记忆文档讲的是怎么存、怎么取的机制:短期按 thread 存、长期按 namespace 共享,长期记忆借人类记忆分类组织,但写入与清理规则需自行设计。
要点
- 按召回范围分两层:短期记忆是 thread 级的消息历史,作为 agent state 由 checkpointer 持久化;长期记忆跨会话共享,按自定义 namespace 存储,不绑定 thread ID。
- 长期记忆借人类记忆分类:语义记忆存事实,情景记忆存经历(常用 few-shot 例子实现),程序性记忆存提示词和规则,可通过 reflection 让 agent 改写提示词。
- 存储形态有两种取舍:profile 是持续更新的 JSON 画像,统一但越大越易出错;collection 是独立小记忆,好生成但更新删除依赖模型判断,易碎片化。
- 写入时机分两类:热路径写入在回复前当场决定存什么,实时但增加延迟;后台写入异步生成,需解决触发频率问题。
- 存储抽象为 namespace 加 key,类似文件夹加文件名,namespace 常带用户 ID 或业务标签,支持按内容过滤和语义检索。
- 文档对什么该记、记错了怎么清几乎没有规定,需要自建写入规则,并用来源、时间和过期机制兜底。