长期记忆
上下文 ≠ 记忆
上下文窗口像白板:写满了就擦掉,对话结束就清空。长期记忆像笔记本:写下的东西,下次打开还在。AI 产品需要两套系统。
白板 vs 笔记本
白板(上下文窗口)
对话过程中的临时工作区。写满了就写不下了,对话结束就擦干净。
对话结束,白板已擦除
笔记本(长期记忆)
跨会话保留的持久存储。这次写下的,下次打开还在。可以翻页、可以搜索。
第 1 页
为什么需要两套系统
上下文窗口
随时可用
读写极快
容量有限
对话结束即消失
读写极快
容量有限
对话结束即消失
≠
长期记忆
跨会话保留
容量大(可扩展)
需要写入决策
检索需要额外步骤
容量大(可扩展)
需要写入决策
检索需要额外步骤
类比:上下文窗口就像开会时的白板,大家讨论时随手写写画画,会议结束就擦了。长期记忆就像会议纪要:有人负责整理关键结论,写进文档里,下次开会时翻出来参考。
上下文是 AI 的草稿纸,关掉就没了;记忆是 AI 的笔记本,下次还能翻。一个好的 AI 产品需要两套系统协作:上下文负责当场记住,记忆负责长远记住。
长期记忆
什么值得记、什么不值得记
用户每天和 AI 聊几十上百条消息。「嗯」「好的」「哈哈」占了大半,真正有价值的偏好和事实可能只有几条。记忆系统需要一个守门员。
猜一猜:这 10 条消息,哪些该记?
想一想哪些值得存入长期记忆,然后点击下方揭晓
守门员的判断标准
记忆守门员
值得记
用户的偏好(喜欢/不喜欢)
重要事实(生日、城市、职业)
长期习惯(早起、吃素、用 Mac)
明确表达的需求模式
重要事实(生日、城市、职业)
长期习惯(早起、吃素、用 Mac)
明确表达的需求模式
不值得记
语气词(嗯、好的、哈哈)
一次性问题(今天天气怎么样)
纯闲聊(无具体信息量)
已经过时的临时信息
一次性问题(今天天气怎么样)
纯闲聊(无具体信息量)
已经过时的临时信息
如果什么都记,记忆库很快变成垃圾场。守门员比记忆力更重要。一个好的记忆系统,重点是知道什么该记、什么不该记,能记多少反而是次要的。
长期记忆
记忆冲突:用户改了主意怎么办
上个月说「喜欢咖啡」,这个月说「改喝茶了」。两条记忆打架了:旧的要不要删?新的怎么存?这背后有四种策略。
四种冲突场景(点击展开)
策略总览
四种记忆冲突处理策略
覆盖更新
信息有明确的新旧关系时
合并扩展
新旧信息互补时
标记冲突
无法确定谁对时
跳过不存
信息不够确定时
人会改变主意,AI 的记忆系统不能只会追加,还要学会更新。处理记忆冲突的能力,决定了 AI 助手能否在长期使用中保持准确。
长期记忆
记忆注入的成本问题
记了 1000 条记忆,每次对话全塞进 system prompt?还是按需检索相关的几条?全量注入简单但贵且噪声多,按需检索省钱但可能漏。
拖动滑块,感受记忆数量的影响
全量注入(全部塞进 prompt)
注入 tokens—
每次调用成本—
噪声占比—
实现复杂度 极简
按需检索(只注入相关的)
注入 tokens—
每次调用成本—
噪声占比—
实现复杂度 需要检索系统
推荐策略
记忆注入的推荐做法
用户发消息
新一轮对话开始
→
语义检索
找相关记忆
(3~10条)
(3~10条)
→
精准注入
只塞相关的
进 system prompt
进 system prompt
→
模型回复
有上下文的
高质量回答
高质量回答
核心原则:记忆的价值在于每次能拿出最相关的几条,记了多少条并不重要。全量注入在记忆少的时候可行,但随着记忆增长,按需检索是唯一可扩展的方案。
记忆不是越多越好。1000 条全塞进去,AI 反而找不到重点。好的记忆系统像一个称职的秘书:不会把整个档案柜搬到会议室,只会提前把今天会议需要的三份文件放在桌上。