短期记忆与长期记忆的边界

**区分短期/长期记忆用两条边界:是否参与当前任务、是否跨会话持续影响行为。短期(工作/会话记忆)可以丢、可以压缩成摘要;长期(持久记忆)必须有来源、时间、置信度、适用范围,并且能被修改、撤销、遗忘。检索索引不是记忆。**

一、短期记忆(工作 / 会话记忆)

  • 作用范围:当前任务、当前页面、当前会话。
  • 内容:最近几轮对话、当前笔记、未保存草稿、刚搜索出的结果、工具调用结果。
  • 允许不完整、不稳定,重点是帮 agent 完成当前任务。
  • 会话结束可丢弃,或压缩成摘要。
  • 关键推论:出现在上下文里 ≠ 长期事实。 不能因为它被看到过就自动升级为长期记忆。

二、长期记忆(持久记忆)

  • 作用范围:跨多个会话。
  • 准入标准:未来仍可能有用、相对稳定、能改变 agent 行为或检索结果。
  • 元数据是硬要求:来源、时间、置信度、适用范围;且可修改 / 撤销 / 遗忘。
  • 反例:不是聊天记录的无限累积,也不是向量库里的全部内容。

长期记忆内部还要再分两类,否则「偏好」和「经历」会混成同一种数据:

  1. 事实 / 偏好记忆 —— 用户明确表达或多次稳定表现的信息(如「回答用中文、要简短」)。
  2. 事件 / 观点记忆 —— 用户做过什么、讨论过什么、观点如何演变(如「上个月开始研究向量数据库」「这个观点后来变了」)。

三、检索 ≠ 记忆

向量搜索负责「找相关材料」;长期记忆负责「保存经过筛选、未来可复用的用户信息」。

embedding 索引、内容相似关系(relation)都是检索层,不等于用户记忆。初版建议:先跑通「短期上下文 + 内容检索」,长期记忆只接受用户明确要求记住的内容,以及多次证据确认的偏好——不要一开始就自动记住所有聊天。

相关

  • 上下文按信任等级分层
  • 知识库先编译再查而不是查询时拼原文
  • 检索要按难度迭代
  • Agent管理的记忆以文件为真相源 —— 长期记忆的一种落地形态:文件为真源、索引可重建