先区分三件常被混叫作“记忆”的事
聊天记录是日志:它保存发生过什么。上下文是工作台:模型这一次能看见什么。记忆则应当是经过选择、允许修正、能在合适时机被取回的信息。三者可以使用同一段文字,但作用完全不同。把全部历史对话塞回提示词,只是把日志搬上工作台,未必真的改善下一步决策。
一个很普通的例子:用户上周说“这份报告先用中文”,今天却说“以后给客户的版本用英文”。系统若只做向量相似度检索,两句话可能一起出现;若只保存最新一句,又会抹掉“这份报告”的局部约束。值得保存的不是孤立句子,而是对象、适用范围、生效时间、来源以及被什么新证据覆盖。
窗口变长,选择问题并不会消失
长上下文很重要,但“放得下”不等于“用得好”。Lost in the Middle 的实验提示,相关信息放在输入中间时,模型利用它的能力可能下降。这不是说所有新模型都有同样的曲线,而是提醒我:容量指标不能替代真正的检索测试。
RAG 把外部资料检索进生成过程,MemGPT 则借操作系统的分层思路管理有限上下文。两条路线都在回答“下一次该看见哪一小部分信息”。我倾向把它拆成四个动作:写入、压缩、检索、遗忘。写入要避免把猜测当事实;压缩要保留冲突;检索要能说明来源;遗忘要处理失效和用户删除要求。
脑科学的类比有用,但不能偷换
海马体相关研究讨论了记忆重放与规划之间的联系,它让我注意到“记住”不只是归档,也可能是为未来选择重排经验。然而,把向量库叫作海马体、把摘要叫作巩固,就跨得太快了。神经系统中的机制和工程里的索引结构没有天然的一一对应关系。类比更适合提出问题,而不是充当证明。
如果设计一个小实验,我会固定模型和任务,只改变记忆策略:完整历史、检索片段、带来源和时间的结构化条目。然后同时看答对率、引用错误、过期信息被复活的次数、删除请求能否真正生效。最后一项尤其现实:会记住是一种能力,会忘掉也是。
暂时的判断
我现在更关心“记忆何时应该影响行动”,而不是做出一个看起来无所不知的聊天框。好记忆应当能被质疑:这条结论从哪里来?它适用于谁?还有效吗?当前证据和旧记录冲突时,以谁为准?这些问题没有一条 embedding 就能回答的答案。本文是阅读后的设计笔记,并非我已经实现或验证过一套新的记忆系统。