返回首页
信息来源:melodykoh.substack.com 2026.06.15 04:41 约 8 分钟 AI 1.7万 阅读

记忆问题不在于检索:AI 记忆中究竟解决了什么、还没有解决什么,以及你不断碰到的鸿沟

记忆问题不在于检索:AI 记忆中究竟解决了什么、还没有解决什么,以及你不断碰到的鸿沟

AI 记忆真正的失败是一种安静的失败:一个 agent 把某件事已经变更之前的版本交给你,而你却从未察觉。Retrieval——这个领域一直在争相改进的部分——并不是记忆真正崩坏的地方。


几周前,我运行的一个作为 chief of staff 的 agent 非常自信地告诉我,一个问题仍然悬而未决。我知道并非如此,因为那天早上我就已经把它修好了。一小时后,它打开了一份文档准备编辑,却从一个我已经修订过的版本开始,仿佛那次修订从未发生过。接着,在它的 end-of-day 总结里,它把一个我们几小时前就已经敲定的决定列为仍待解决。之所以我能发现这些问题,唯一的原因只是那些改动恰好是我自己做的。

它并没有丢失这些工作。它其实可以顺利找到当前状态;只是它脑海中的那个版本没有任何标记表明它已经过时了。

如果你曾在任何大型组织中待过一段时间,你一定见过这种人的版本:那种会自信满满地引用一项其实在六个月前就已被撤销的政策的同事。不同之处在于,人通常会留有余地(“据我上次确认”),而 agent 不会。

对我来说,这只花了几分钟,因为当时是我在旁边盯着看。同样的失败会随着你允许 agent 在无人监督下做的事情而放大,而整个行业都在争相让它做得更多。

所有人都在争相让 AI 记住更多

现在,AI memory 几乎所有的精力都集中在一件事上:帮助模型记住更多。更大的 context window、更好的历史记录搜索、用于存储模型已学内容的知识图谱。我看到过的最清晰的公开路线图之一,是 Chrys Bader 在 2026 年 4 月发的一则帖子,“Why long-term memory for LLMs remains unsolved”,其中梳理了检索出的记忆如何被噪声挤占。这是一张很好的路线图,也是这个领域大多数人正在其中工作的框架。

我遇到的失败发生在别处。我的 agent 把那个决定记得很清楚,只是记住的是它的错误版本。找到它知道什么是一条轴线;判断它找到的东西是否仍然是当前有效的,则是另一条。把后者称为时效性。

实际解决了什么,又还有什么没有解决

记忆有两个任务。第一个是找到你存储的内容 ,也就是召回问题,而这也是该领域推进得最远的部分。最好的系统在测试中大约有 99% 的时间能找出正确的记忆,在生产环境中则大约为 85%。1 这些是 agent memory 领域里最强的数字,但仍然不足以称这个问题已经解决:在 85% 的情况下,系统大约每七次尝试中就有一次会返回错误的内容(或者什么都没有)。

第二个任务是判断你找到的内容是否仍然是当前有效的 ,而在这里,情况会因你的记忆是如何组织的而分化。如果你费力把它存成一个数据库,其中每个事实都标注了它开始为真的日期以及它不再为真的日期(这是一种刚性、结构化的设置),那么这类记录维护工作基本上就被处理掉了。2 不过,几乎没有人会用这种方式来运行他们的记忆。它需要在前期投入大量真正的工作,而且它也只覆盖那些能够整齐地适配进这种结构的事实。

对于大多数人和大多数产品实际使用的那种混乱、通用型记忆(笔记、文档、累积的文本和对话)来说,知道什么是最新的基本上仍未解决,而你可以从厂商交付的产品中看出这一点。使用最广泛的记忆层已经悄然转向在旧事实旁边添加新事实,而不是替换它们,并让搜索去决定哪一个胜出。3 某家厂商自己在 2026 年 6 月发布的 “State of AI Agent Memory” 报告承认,当世界发生变化时,已存储的事实可能会“自信地出错”,而且陈旧性“是一个更难、仍然开放的问题”。与此同时,大多数被归入“memory”的新研究,关注的是帮助 agent 忘记低价值细节,而不是让重要信息保持最新。4

时效性真正失效之处

第二项工作会以两种方式失败。第一种就是本文开头提到的情况:一个事实有旧值和新值,而 agent 取用了旧值。第二种是让某个变化在其存在的所有地方都保持一致。

我自己的 agent 曾经暂停了一组后台作业,并在一个文件里记下了这件事,但另外三个文件里却还写着它们仍在运行。后来,它读到了自己这些相互矛盾的记录,把这些作业标记为损坏,却始终没有意识到是它自己暂停了它们。信息并没有缺失;只是在四处记录中,只有一处写了下来。2026 年 5 月一篇名为 STALE 的论文恰好将这两种情况归类为“共指”冲突和“传播”冲突。我在它们有名字之前很久就已经遇到过这两种问题了。

为什么你看不到它正在发生

之所以很容易忽视这个问题,是因为我首先注意到的一点:代理在信息过时时和信息最新时表现得同样自信。r/openclaw 论坛上的一位构建者很好地描述了这种机制:旧笔记“会带着与新近决策相同的信心返回”,而模型“必须以某种方式弄清楚哪一个更有权威……这并不是因为检索失败了,而是因为检索过于扁平。”

我的第一反应是,这是因为我不擅长让自己的文件保持最新状态。部分原因确实如此:清理文件确实有帮助,而结构化存储解决了结构化的那一部分。但更棘手的部分并没有消失。

在 STALE 基准测试中,他们测试的其中一个记忆系统在大约 77% 的情况下能够找出更新后的事实,但只有大约 3% 的时候会将其标记为值得据此采取行动。前沿模型也以同样的方式失效:其中一个模型在被直接问及时,有 92% 的概率能识别出过时事实;但当问题在不动声色地假设旧事实仍然成立时,这一比例只有 30%。更新后的信息就在那里,但它仍然得不到足够的权重去推翻先前的内容。

我在自己的配置中就看到了这一点。这个 agent 会维护一个自动记忆文件 MEMORY.md,它会自行把自己判断为值得记住的内容写进去。几个月前,它在里面记录了一条规则,并将其标记为已定;后来我替换了那条规则,但旧规则仍然留在那里,于是在之后的几周里,agent 依然一直按它来引导,从未让替换后的版本比它早已归档为已定的版本获得更高权重。

从这里开始,只会越来越昂贵

这件事之所以目前只让我付出了几分钟的代价,是因为我仍然是那个负责检查它的人。AI 的主导方向,是把人从回路中移除,把具有实际后果的决策、执行以及整个工作流的运行交给 agents。你不断听到的宣传是 agent company:你构建自己的公司大脑——一个不断增长的、由你的决策、政策和约束组成的存储库,你的 agents 从中读取并据此行动。那里每一条带着自信却早已过时的记录,都是基于一项你已经撤销的决定而做出的决定,而且没有人会发现。

最雄心勃勃的 agentic 产品都押注于同一个前提。它们包括数字孪生、始终在线的助手,以及那些被设计成“了解你”的 agents,而它们全部的承诺,都建立在一个关于“你是谁”的准确且持续更新的模型之上。一个如果会自信地搞错你的工作、你的关系状态,或者你上个月做了什么决定的系统,就属于那种会让你停止信任它的失效方式。打造这些产品的创始人把时间性记忆视为首先要解决的问题,而不是之后再添加的功能,因为否则其下根本没有真正成立的产品。

即使是前沿实验室也还只是在外围打转。现在,Agent 被要求自动写入记忆,这确实有助于它们记住更多内容,但对于判断哪些信息仍然真实毫无帮助,因此笔记堆积的速度比任何内容被淘汰的速度都更快。实验室给出的答案是定期进行一次“dreaming”过程,回头遍历存储并将过时条目重写为其当前值。5 离线运行它是正确的选择,但真正的约束在于判断:重写一个过时条目,前提是知道哪个值才是当前的。

而已经确定的事实后来发生变化,反而是比较简单的情况。agent 存储的一些内容,其实是一种仍在推敲中的观点,变化速度比任何被写下来的东西都快。在我和一位合作伙伴正在推进的一个战略项目上,我的 agent 的记忆把一个结构性决定当作既定原则保存了下来。其实并不是:我们仍在确定它的长期形态,而在最近的一次通话中,我还提出要彻底改变它。当前的看法存在于这项持续进行的工作中,而不在记忆里。现在还没有什么迫使 agent 必须在两者之间做出选择,但一旦需要选择,它最确信的答案将会是那个陈旧的答案。

值得提出的问题

对于任何一个你开始信任的 agent,真正的问题在于:它是否知道自己记住的哪些事情现在仍然成立,并据此采取行动。Recall 正逐渐变成一种你可以购买的能力;而这种判断力还不是(至少目前还不是),并且恰恰在我们最急于让 agents 负责的地方,它最为薄弱。

目前,在你和一个过时却自信满满的答案之间,唯一的阻隔还是一个仍然处于环路中的人来把它发现,而这个人恰恰正是行业其他人竞相想要通过设计消除掉的。

了解 RecodeX 的更多信息

立即订阅以继续阅读并访问完整档案。

继续阅读