短期记忆与长期记忆的边界
一、短期记忆(工作 / 会话记忆)
- 作用范围:当前任务、当前页面、当前会话。
- 内容:最近几轮对话、当前笔记、未保存草稿、刚搜索出的结果、工具调用结果。
- 允许不完整、不稳定,重点是帮 agent 完成当前任务。
- 会话结束可丢弃,或压缩成摘要。
- 关键推论:出现在上下文里 ≠ 长期事实。 不能因为它被看到过就自动升级为长期记忆。
二、长期记忆(持久记忆)
- 作用范围:跨多个会话。
- 准入标准:未来仍可能有用、相对稳定、能改变 agent 行为或检索结果。
- 元数据是硬要求:来源、时间、置信度、适用范围;且可修改 / 撤销 / 遗忘。
- 反例:不是聊天记录的无限累积,也不是向量库里的全部内容。
长期记忆内部还要再分两类,否则「偏好」和「经历」会混成同一种数据:
- 事实 / 偏好记忆 —— 用户明确表达或多次稳定表现的信息(如「回答用中文、要简短」)。
- 事件 / 观点记忆 —— 用户做过什么、讨论过什么、观点如何演变(如「上个月开始研究向量数据库」「这个观点后来变了」)。
三、检索 ≠ 记忆
向量搜索负责「找相关材料」;长期记忆负责「保存经过筛选、未来可复用的用户信息」。
embedding 索引、内容相似关系(relation)都是检索层,不等于用户记忆。初版建议:先跑通「短期上下文 + 内容检索」,长期记忆只接受用户明确要求记住的内容,以及多次证据确认的偏好——不要一开始就自动记住所有聊天。
相关
- 上下文按信任等级分层
- 知识库先编译再查而不是查询时拼原文
- 检索要按难度迭代
- Agent管理的记忆以文件为真相源 —— 长期记忆的一种落地形态:文件为真源、索引可重建