跨会话记忆与 RAG 的区别

Agent 开发深水5讲解 1

跨会话记忆在检索这一步和 RAG 很像,但不是一回事:它在线增量写入、有主体(这个用户)、要处理冲突与遗忘(被遗忘权),评测标准是「用得得体」而不只是「召回了」。把它当成一个只读知识库来做,就会记住不该记的、忘不掉该忘的。

也叫:跨会话记忆 · 长期记忆检索 · 被遗忘权 · 记忆评测

跨会话记忆(Q3-14):和 RAG 是一回事吗?出自 T3-6

表面是一回事,本质不是。 两者都是"从外部存储检索内容塞进上下文",检索技术栈可以完全复用(分块、embedding、混合检索、rerank,见模块 2)。差别在四个地方:

RAG 的语料 Agent 的记忆
写入方 外部权威(文档、知识库) Agent 自己写的,质量由自己负责
正确性 假定为真,只读 可能一开始就记错,会传播
时效冲突 少见,靠版本管理 常态:"用户住北京"和"用户搬到上海了"必须覆盖而不是并存
遗忘 不需要 必需:错误的、过期的、一次性的信息要能删

所以记忆系统比 RAG 多出三个必须回答的问题:写什么(不是什么都值得记)、怎么更新与冲突消解、什么时候忘掉。回答 Q3-14 时,把"记忆需要写入策略和遗忘机制,而 RAG 语料不需要"讲清楚,就足以区分你和背概念的人。

一个务实的写入门槛:只有"跨会话仍然成立、且未来大概率会被用到"的信息才写长期记忆。会话内的中间结论不写;用户随口一提的偏好要打上置信度和时间戳;相互矛盾的记忆按时间戳覆盖,并保留一条变更痕迹便于排查。

以上节选自T3-6 Agent 记忆系统与上下文压缩——被摘要掉的那条约束,读全文能看到前后语境。

考这个知识点的题1

会连带问到4