人工智能何时应使用其记忆?持久记忆与阿谀奉承的飞行员案例
大语言模型应在何时使用其记忆?仅检索记忆并不能让它塑造答案。具备预设记忆及反阿谀奉承机制的飞行员。
来源: When Should an AI Use Its Memory? An Experiment on Persistent Memory in LLM Agents
任何使用过人工智能助手数月的人都知道其运作模式。随着时间推移,它会掌握关于你的各种信息——你更喜欢Python而非Java,正在为考试复习,甚至可能知晓一些你不愿告诉同事的健康状况。
起初这很方便。你可以让它为你制定高蛋白饮食计划,而它无需你提醒就能记住你是纯素食者。这正是个性化助手的意义所在。
现在换一种场景。你询问梯度下降的原理,助手是否应该提及你更喜欢Python?大概不必。
或者假设几个月前你曾宣称方法X显然是最好的,后来你又提出了关于X的客观问题,助手是否应该记住你的这一观点?或许可以,因为这是你的想法之一。但它是否应该将你的观点当作X确实最好的证据?当然不行。
这就是关于助手记忆的讨论往往忽略的一个问题:存储事实与判断何时将该事实纳入回答是两种不同的技能。
持久记忆使这成为一个真正的问题
普通语言模型主要依赖当前对话中提供的上下文来工作。而具备持久记忆的系统则有所不同。一种简单的实现方式可能会回忆起它所知道的关于用户的所有信息,因为这些信息可能具有相关性,然后根据这些事实来定制回复。
因此,不能仅通过模型是否使用了记忆来判断记忆的质量,同样重要的还有它使用记忆的方式。
最近的研究开始直接测量这一指标。PersistBench 是一项针对大语言模型中持久内存安全性的基准测试,它从三个维度进行评估:跨领域记忆泄漏、由记忆引发的谄媚行为以及有益的记忆使用。该测试包含500个经过人工验证的样本,分为200个记忆泄漏案例、200个谄媚行为案例以及100个有益记忆使用案例。
两种模型与一个更棘手的问题
在这三个评估维度之下还存在一个更为微妙的区别。想象有一种模型非常擅长利用记忆:每当有相关记忆时,它都会将其融入答案中。这听起来很棒。但如果它在无关紧要的情况下也使用记忆又会怎样?
再想象另一种模型,它几乎从不调用记忆。它很少出现记忆泄漏现象,但也不会进行个性化处理。哪种模型更好?
记忆会随时间变化
假设有个用户在一月份表示自己主要使用Python,到了六月则称已将大部分项目转用到Rust,而十二月时又询问自己主要使用哪种语言。
仅存储这两条陈述的系统存在问题:虽然这两句话在说出口时可能都是真实的,但它们的时间状态并不一致。模型能否判断出哪些记忆应该影响其当前行为?
这一更广泛的研究方向可称为上下文记忆管理。其核心理念是,检索出某段记忆并不等同于允许它自动影响响应结果,这一理念为后续实验奠定了框架。
实验一:模型能否理解记忆的含义?
在设计新的记忆系统之前,有一个更简单的问题需要解答:问题或许不在于记忆本身,而在于模型对它的解读方式?
第一个实验源于对PersistBench的复现。该实验在三个类别中各使用了30个样本,包括10个跨领域样本、10个阿谀奉承类样本以及10个有益记忆类样本。实验结果出现了极其明显的偏差。
该模型并非完全无法利用记忆信息,其问题更为具体。当某条记忆中包含用户强烈的观点或信念时,模型有时会将这种信念视为客观事实。
以“用户更喜欢Python而非Rust”这样一条存储的文字为例,传统系统会原样保存这条字符串,但它实际蕴含的信息远不止于此。它说明了观点的持有者(用户)、观点内容(例如“瀑布模型优于敏捷模型”)以及信息类型(一种信念)。
一个假设
这引出了一个简单的假设:明确说明记忆的语义角色可能有助于大型语言模型区分关于用户的信息与关于世界的陈述。模型并不需要忘记该信念,其核心逻辑仅仅是用户的信念并非关于世界的事实。这一假设还能更清晰地解释由记忆引发的阿谀奉承现象。
实验二:控制性测试
为验证这一想法,研究团队重新分析了最初试验中的失败案例。他们没有设计新的评估标准,而是重新使用了那些失败的示例,仅改变了每段记忆的呈现方式,从而形成了三种实验条件。
条件A:原始记忆。这是基准情况。模型会完全按照PersistBench提供的形式来查看记忆内容:
User believes Waterfall is better than Agile.
条件B:带类型的内存。内容保持不变,但会添加其语义类型:
Type: USER_BELIEF
Content:
User believes Waterfall is better than Agile.
内容本身没有任何变化,只是其作用被明确说明了。
条件C:结构化记忆与认知背景。该条件新增了一条简短说明,指出用户的信念反映了用户的视角,不应自动被视为客观事实或独立证据。模型并非被要求忽略这些信念,而只是需要区分两者的差异:
What the user believes
和
What is objectively supported
保持规模较小
该测试刻意设计得较为简单。它采用了试验中的7个谄媚失败案例,在三种条件下分别对每个案例进行评估,同时还加入了3个有助于记忆的示例作为合理性检验。这样总共就有3种条件下的10个样本,共计30次评估。所用目标模型仍是Gemini Flash,同一模型也担任评估者角色。在不同条件下,查询内容和记忆内容保持不变,只有表示方式及相关指令会发生变化。
测试的核心问题是:仅仅因为明确指出了记忆的认知功能,模型的表现是否会有所不同。
答案并不可靠
在明确标注条件下的表现有轻微提升,但添加明确的认知指令并未进一步减少失败次数。7个示例的数量实在太少,无法支撑任何统计结论,因此不应得出任何推论。
尽管如此,这种行为本身仍很有趣。可以直接告诉模型某事物是用户的信念而非客观证据,但在多个案例中,模型依然让这种信念像客观推荐一样影响答案的生成。
当表征不足以解决问题时
这改变了人们的思考方式。最初的假设是模型误用了记忆,因为它不知道这些记忆代表什么。但第二个实验表明,解释并不完整。即便给模型提供语义类型和解释规则,它仍可能给出不当的回应。这揭示了一个更深层次的差异:知道记忆代表什么并不等同于能够控制其影响力。
第三个实验:从检索到影响
如果描述某段记忆并不能可靠地改变它对答案的影响,那么问题可能在于:一旦记忆被调取,模型在如何使用它方面就有过大的自由度。因此问题变成了:调取记忆是否应自动使其能够影响回应。
以用户认为瀑布模型优于敏捷模型的那条存储信息为例。检索系统可能会正确判断其与关于软件方法论的问题相关,但相关性并无法说明该如何使用这些信息。它或许能帮助助手了解用户:你更喜欢瀑布模型,以下是两种模型的对比。但也可能被错误地当作前提:瀑布模型是更好的方法论。这两种回应调取的都是同一段记忆,不同之处在于其被赋予的影响程度。检索与影响是两回事。
影响控制器
第一个架构上的变化是在检索与生成之间加入了一个控制器。对于每个候选记忆,该控制器会输出一个结构化的决策结果,不仅说明该记忆的内容,还说明应如何利用它来构建当前的回复。例如,关于“瀑布模型”的信念可以被归类为用户的信念,其相关性评分很高,但会被赋予条件性影响以及用户视角的角色。相关性与影响是两个独立的维度。一个记忆虽然与查询高度相关,但也未必适合作为模型使用的证据或推荐依据。
测试及其结果
为了在没有新基准测试的情况下验证该设计,团队重新使用了最初推动这项工作的示例:七个阿谀奉承案例和三个有益记忆案例。基准仍为原有的内存处理流程,实验系统则增加了控制器,其他所有设置保持不变。
结果并非简单的通过或失败。在七个阿谀奉承案例中,失败率从7例中的6例下降到7例中的5例,变化幅度很小。更值得关注的是失败严重程度的变化,平均严重程度得分从3.71降至3.00,而有益记忆案例则没有变化。
控制器的决策
最终回复只是该团队想要评估的内容之一。首次出现了中间记忆决策的记录。在10个样本中,控制器共做出了87次独立的记忆决策,而且超过一半被调用的记忆最终被标记为“抑制”。由此可见,该架构并不会将所有被调用的记忆都传递给生成器,而是在对记忆内容进行过滤。
许多被抑制的内容都是无关的用户信息,比如在某个问题旁边被调用的、与问题毫无关联的个人细节。这表明控制器并非仅仅因为记忆有用才学会使用记忆,而是会逐个判断某段记忆是否值得影响当前的回答。
那么它有效吗?
部分有效,这或许是最诚实的答案。该设计并未消除由记忆引发的谄媚行为。在七个谄媚案例中仍有五个未达到基准测试的阈值。不过与原始基准相比,失败案例从6个降至5个,严重程度也有所降低,同时有用的个性化功能依然保留。
或许更值得注意的一点是,控制记忆的影响似乎比添加更多关于记忆的描述性信息更具前景。实验二让模型明白某事物只是信念而非事实。实验三则增加了一个独立机制,用于规定该记忆在特定回应中可被允许执行哪些操作。这两种干预方式存在细微差别。
剩余问题
七次尝试中有五次失败,这远远不够好。控制器虽然做出了有结构的决策,但这些决策并未完全转化为恰当的最终行为。这就留下了一个未解之谜:问题出在控制器的决策能力上,还是出在生成器执行这些决策的能力上?
实验结果表明
人们的关注点从信息检索本身转向了检索到的记忆应如何引导助手的输出。对PersistBench的复现实验表明,在初步测试中,记忆引发的阿谀奉承行为是一种显著的故障模式。为记忆赋予明确的认知身份、将信念与事实区分开来,并未能有效解决问题。将检索过程与影响过程分开,并增加一层用于决定如何使用检索到的记忆的机制,虽有所改善:初步测试中的故障严重程度有所降低,同时个性化的优势也得以保留。
每一次实验都在进一步明确问题本身,从记忆是否相关,到它是何种类型的信息,再到它应产生何种影响。因此,管理持久记忆并不仅仅关乎人工智能应该记住什么,还涉及记忆应在何时、为何以及到何种程度影响行为。所有这些结论都基于少量样本,需要更大规模且独立的评估才能加以验证。
相关研究论文
这项研究借鉴了多篇相关论文:Pulipaka及其同事(2026年)关于长期记忆风险的PersistBench基准测试;Sharma及其同事(2023年)关于语言模型中阿谀奉承现象的研究,该研究表明助手会更倾向于给出符合用户观点的答案而非真实答案;Packer及其同事(2023年)关于将记忆和上下文视为大语言模型系统需主动管理的要素的MemGPT论文;Park及其同事(2023年)关于能够存储、整合和检索经验的智能体的Generative Agents论文;以及Tan及其同事(2025年)关于更系统地评估智能体记忆能力的MemBench论文。
相关阅读
- 当控制面板显示绿色但代理存在错误时:追踪状态 — 代理故障如何隐藏在正常步骤之间传递的状态中,以及需要通过何种追踪、运行时约束、路由记录和评估来发现这些问题。
- 使用 FastAPI 和 Pydantic 在 Python 中构建 AI 潜在客户筛选代理 — 将原始潜在客户转化为合格客户:结构化 LLM 提取、Pydantic 验证、基于规则的评分、PostgreSQL 存储、队列处理以及人工审核流程。