MemoryLake
返回全部文章
News2026 年 8 月 6 日·12 分钟阅读

为什么 AI 助手会虚构关于你的事实——以及如何解决它(2026)

你告诉你的助手你住在柏林,从事物流工作。三周后,它写了一段话,描述了你的“年轻家庭”、你“沿着运河的晨跑”,以及你对“务实、废话少说沟通方式”的偏好。你从未说过这些。它并没有忘记你——它只是帮你“脑补”了细节。

直接的答案是:具有持久记忆的助手会存储你实际说过的一小部分内容,然后围绕该记录进行生成。记录未覆盖的任何内容都通过推断来补充,而推断并没有被标记为推断。一篇新的预印本论文精确测量了这一点,并发现其测试的每个模型都会这样做,比例大约占其对用户所做陈述的三分之一到二分之一。解决方案不是更好的模型或更严格的提示词。而是将你实际说过的话记录在你可以阅读、纠正和指向的地方——这样来自你的部分就可以与模型想象的部分区分开来。

本文将涵盖该研究测量了什么、为什么这种行为是结构性的而非 Bug、通常的权宜之计能解决和不能解决什么,以及如何设置一个你可以实际审计其内容的记忆层。

这项新研究究竟测量了什么

2026年8月5日,一篇名为 The Personalization Mirage: How LLMs Fabricate User Profiles, and Why Self-Monitoring Misleads 的预印本论文由 Yushi Sun、Yanjie Zhang 和 Rui Sheng 发布在 arXiv 上。它的开篇提出了一个至关重要的前提:具有持久记忆的个性化助手正在被广泛部署,但没有人检查其中的用户模型是否忠实于证据。

作者构建了一个名为 MirageBench 的基准测试:包含 150 个在刻板印象、反刻板印象和中性画像之间保持平衡的角色,运行在六个个性化任务中,这些任务按照他们所谓的“想象力梯度”排列——撰写约会个人资料、推荐陌生城市的周末行程、起草推荐信、选择 100 美元的生日礼物、描述用户的公寓以及识别最让用户感到压力的事情。模型对用户做出的每一项陈述随后被分为四个类别:有依据(Grounded)(重述用户所说的话)、合理(Reasonable)(将证据延伸一个常识步骤)、刻板印象(Stereotype)(用人口统计学或职业先验代替个人证据)和虚构(Fabricated)(完全没有证据基础)。

最引人注目的数据是:在来自 7 个家族的 12 个模型和 143,616 个被评估的陈述中,每一个模型都过度推断了 35% 到 49% 的陈述,跨模型的平均值为 41.6%。评估中没有一个模型能够幸免。该比例因任务而异(27% 到 59%),这说明该行为是由任务给想象力留出多少空间所激发的。

有两个细节值得关注。首先,在多轮对话的试点测试中,推断出的属性呈大致线性累积,且几乎没有修正:一旦模型认定关于你的某些事情,后续的对话往往会在此基础上继续构建,而不是去核实它。其次,作者发现了他们所谓的“自我监控倒置(Self-Monitoring Inversion)”——在选择模型的层面上,模型的自我评估过度推断与独立裁判测量的过度推断呈等级相关。那些声称自己最谨慎的模型,往往是被标记为虚构最多的模型。

三个坦诚的注意事项,因为它们改变了这些数据应有的分量:

  • 这是一篇预印本,而非同行评审的工作。 它于 2026 年 8 月 5 日发布,以下数据应被视为首次测量,而非定论。
  • 自我监控倒置显式地属于探索性研究。 在 p = 0.044 时,相关性 rho = −0.60,但作者报告的自助法置信区间为 [−0.90, +0.06](n = 12)——宽到足以包含无效应。这并不是模型永远无法自我检查的证据:在单个模型内部,自我审计对该模型自身陈述的排序仍然相当不错(AUROC 0.58–0.83)。这一发现比“AI 无法分辨自己何时在撒谎”更为具体且有用。它是指,自我报告的置信度是比较不同模型的一种糟糕方式。
  • 这些任务是个人生活任务,而非工作任务。 MirageBench 询问模型关于公寓和生日礼物的问题,而不是关于你的部署流程或客户的计费条款。当主题是工作时,用先验填补证据空白的机制显然不会改变,但基准测试并未对此进行测试,你也不应该假设这些百分比可以直接套用。

评估的模型包括 GPT-5.5、GPT-5.4-nano、GPT-4o-mini、Claude-Opus-4-6、Gemini-3.1-pro-preview、Gemini-3-flash-preview、DeepSeek-v4-pro、DeepSeek-v4-flash、Qwen3.6-plus、Qwen3-8B、GLM-5.1 和 Kimi-K2.5。裁判本身针对 400 个陈述与双盲人类标注员进行了验证,在四分类任务上达到了 0.863 的 Cohen's kappa,在二分类任务上达到了 0.900——虽然一致性不错,但它仍然是一个 LLM 裁判。

为什么 AI 助手会虚构关于你的事实

空白必须用某些东西填补

内置记忆只保存了一份简短的事实列表。即使慷慨地估计,那也只是关于一个人的几百个字——几个偏好、一个工作职位、两个正在进行的项目。然后你要求一个需要“人设化”回答的东西:个人简介、推荐信、语气匹配的电子邮件。模型必须针对一个它只了解六件事的人,生成流畅、具体的文本。

没有任何机制能让缺失的 90% 变成空白。语言模型是进行“补全”的,它们默认不会弃权。因此,空白会被任何对提到过柏林和物流的人来说在统计上概率最高的内容所填补。这种行为使得它们在起草草稿时非常有用,但在记录保存时却非常危险,这也是为什么大上下文窗口也无法解决这个问题的原因——问题不在于能装下多少内容,而在于没有任何东西能区分哪些是提供的信息,哪些是生成的信息。

刻板印象比证据更廉价

MirageBench 最尖锐的设计选择是在刻板印象和反刻板印象的画像之间平衡角色。这种区分能让你看到其失败模式:当个人证据匮乏时,人口统计学和职业先验就会介入。护士被描述为具有抚育性。量化分析师被描述为直率。两者都没有描述具体的人,而是描述了该类别。

在工作场景中,这表现为助手会假设你的团队运行方式与大多数团队相同——你使用标准工具、遵循标准流程并需要标准产出。它以一种读起来像是个性化的方式,自信地呈现出通用性。

推断会复合累积,因为没有任何机制去修正它们

多轮对话的发现应该让任何连续几个月使用助手的人感到担忧。推断出的属性在几乎没有修正的情况下累积。这正是你对一个记录输出而非来源的系统所能期望的:第一周的推断以与你陈述的内容相同的格式被记录下来,到了第五周,它就与事实无异了。循环中没有任何机制会回头问一句:“他们真的说过这个吗?”

人们尝试过的方法

在聊天中进行纠正。 这对当前的对话有效,而且确实是正确的第一步。但它无法从存储中删除该推断,也无法阻止下周根据同样匮乏的证据再次生成相同的推断。

阅读并修剪记忆列表。 更好,也值得一做。但保存的记忆列表向你展示的是条目,而不是出处——你看到“偏好直接、简练的沟通”,却看不到是你说的还是模型总结的。你最终审计的是一个所有内容看起来都同样权威的列表。

编写冗长的自定义指令块。 这提高了底线:你明确说明的越多,模型需要虚构的就越少。这是单次杠杆率最高的手动步骤。其局限性在于该指令块容量很小,不会随你一起成长,且仅适用于单一产品——在您使用的每个其他工具中,都必须重新陈述相同的事实。

让模型标记其自身的不确定性。 这是该研究特别削弱的权宜之计。在单个模型内部,自我审计确实带有一些信号,因此询问“这些内容中哪些是我实际告诉你的?”并非毫无用处。但作者关于这一方向的结论是明确的:自我报告不是建立信任的基础。

开启新的聊天以避免累积。 这在阻止复合累积方面很有效,但代价高昂——你用虚构的上下文换取了没有上下文,而这正是记忆功能原本要解决的问题。

解决方案:保留你实际说过的话的记录

论文本身的建议就是其设计原则:它将外部验证而非模型自我报告定位为可信个性化更可靠的基础,并主张进行出处追踪,将陈述的事实与无支持的推断区分开来——将未关联的推断视为假设,而非既定事实。

这描述了一个存在于模型之外的记忆层。它不是一个更聪明的助手,而是一个由你拥有、任何助手都可以读取、且你可以逐行检查其内容的源材料存储库。当记录显示“季度审查流程,来自我于 3 月 3 日上传的文档”时,模型就有了立足之本。当记录保持沉默时,你至少知道输出中的具体细节来自其他地方。

需要明确的是,这能为你带来什么,不能带来什么:外部记忆层并不能阻止模型产生幻觉。它改变的是,关于你的陈述不再被困在生成过程中。它们是一个你可以阅读、纠正和引用的文件。MemoryLake 就是为此而构建的——一个供你的助手读取的记忆层,保存你放在那里的文档和事实,而不是模型写下的关于你的摘要。

设置它需要三个步骤。

步骤 1:创建 API 密钥

在大约 30 秒内生成密钥并发出你的首次请求。这是你的助手和智能体用于读取和写入记忆的凭证,因此它应该放在你的环境变量或机密管理器中,而不是粘贴到会被同步或共享的配置文件中。

创建 MemoryLake API 密钥
创建 MemoryLake API 密钥

步骤 2:上传你的第一批记忆

放入实际描述你情况的文档、图像和文件——你撰写的角色描述、客户简报、风格指南、决策文档。从源材料开始,而不是从它的摘要开始。摘要是推断可能介入的又一个层级,而此练习的重点是保留一份实际说过的内容的副本。

将你的第一批记忆上传到 MemoryLake
将你的第一批记忆上传到 MemoryLake

步骤 3:连接你的 AI 和智能体

通过 MCP 或 API 授予 Claude、Codex、OpenClaw 和其他智能体访问记忆的权限。对于具有原生 MCP 支持的工具,将服务器添加到该工具's MCP 配置中。对于没有 MCP 的消费级聊天产品(其中包括 ChatGPT 和 Perplexity),通过 API 检索相关记忆并将其注入到提示词或调用模型的日常工作流中。无论哪种方式,助手现在都在根据你可以打开的记录进行回答。

通过 MCP 连接你的 AI 和智能体
通过 MCP 连接你的 AI 和智能体

这在实践中改变了什么

输出不一定会变得不那么自信。改变的是,你可以分辨出这种自信从何而来。

请求一份个人简介,你将获得一份基于你上传的角色描述的简介,而它虚构的部分现在显而易见地与存储库中的任何内容脱节。向两个不同的助手提出相同的问题,它们会提取相同的源材料,因此你不会再得到两个不同版本的“被想象出来的自己”——这就是跨工具统一记忆问题的实际版本。

由于结构性的原因,复合累积也会停止。当存储库保存的是文档和陈述的事实,而不是模型对你的实时摘要时,第五周的回答与第一周的回答构建自相同的来源。旧的推断不会因为留在文件中而被晋升为事实,因为它从未被写入文件中。

当出现错误时,修复是真正的修复。你修复的是源头,而不是症状——这与纠正一个明天还会重新生成相同猜测的助手是完全不同的。

构建可信用户画像的最佳实践

存储来源,而非结论

上传实际的简报,而不是“客户偏好正式语气”。结论可能是正确的,但如果仅作为一条空洞的断言存储,它与模型自己决定的内容将无法区分。作为带有日期的文档存储,它就是证据。这是论文所主张的出处原则的实际应用形式。

审计可疑的、自信的具体细节,而非仅仅寻找错误

当你审查助手对你的了解时,不要只寻找错误。寻找那些可疑地具体的细节——一个街区、一个家庭状况、一个习惯、一次性格解读。这些正是虚构集中的地方,因为它们是任务最需要而你的记录最不支持的细节。模糊但正确是可以接受的;具体但无来源则是破绽所在。

不要将模型的置信度作为你的检查标准

在单个助手内部,询问哪些陈述是有依据的会给你一些参考。但在不同的助手之间,它会给你带来与你预期相反的结果。因此,将自我评估视为单个工具内部的微弱信号,绝不要将其作为信任某个产品胜过另一个产品的理由。真正起作用的检查是亲自查看记录。

结论

The Personalization Mirage 的有趣之处不在于模型会凭空捏造——这一点大家都知道。而在于它恰恰发生在原本应该解决个性化问题的层面上,且研究中没有一个模型能够幸免,并且让模型自我监督对模型进行排序的结果大致是颠倒的。

根据这一发现做出的回应不应该是更好的提示词。而是将记录与生成器分离:将你实际说过的话保存在你可以阅读和纠正的存储库中,让你的助手从中读取,并停止要求一个以填补空白为生的系统来告诉你哪些部分是空白。这样,它回答中的具体细节就可以追溯到某些依据,而那些无法追溯的细节也会显露出它们的本来面目。

常见问题

这项研究是否意味着 ChatGPT 虚构了它所记住的关于我的 42% 的内容?

不,这个区别很重要。41.6% 的跨模型平均值是模型在 MirageBench 的六个任务中对合成画像所做陈述的比例——这是一个包含 150 个构建画像的受控基准测试。它不是对任何产品在实际使用中的记忆功能的测量。GPT-5.5、GPT-5.4-nano 和 GPT-4o-mini 属于被评估的 12 个模型,因此测试的是底层模型;而作为产品的 ChatGPT 记忆功能并未被测试。

哪些模型过度推断最少?

论文报告了各模型在 35% 到 49% 之间的范围并提供了一个排行榜,但坦诚的结论是,差距很小,且没有一个模型能够幸免。在这个维度上选择模型并不是一个好策略,尤其是同一项研究发现,模型层面的自我报告指向的方向大致是错误的。默认你使用的任何模型都存在这种行为。

外部记忆层能阻止模型产生幻觉吗?

不能。它改变的是你对此能做些什么。生成的画像是一个你无法在源头检查或纠正的产物;而外部存储是一个你可以阅读、编辑并让模型重新参考的文件。虚构的倾向依然存在——区别在于你现在有了一个可以对比的基准事实(ground truth),这就是论文所说的外部验证而非自我报告的含义。

这与助手遗忘事情是同一个问题吗?

它们是同一个空白的两面。遗忘是当记录为空且模型没有说出任何有用信息时你注意到的现象。而虚构是当记录为空但模型无论如何都生成了一些内容时你得到的结果。两者都源于同一个缺失的层,这也是为什么仅靠检索并不等同于记忆的原因——在查询时获取文档并不能为你提供一份持久、可纠正的、你曾告诉过系统的记录。

我该如何检查助手目前对我的了解?

首先从产品自身的记忆设置开始,仔细阅读这些条目,而不是走马观花地浏览——大多数人从未看过。然后让助手写出它认为它所知道的关于你的一切,并将其与设置列表进行对比。两者之间的差距大致就是推断层。将差距中的任何内容视为假设,直到你可以将其追溯到你实际说过的话。