LLM代理中的记忆作为攻击面:关于多项选择题回答的研究
摘要
本文研究了基于LLM的代理在多项选择题回答中的记忆操控,表明即使当前查询是干净的,被破坏的记忆也可能导致代理选择错误的选项。
arXiv:2606.29030v1 公告类型:新
摘要:AI代理通过将语言理解与任务执行、外部工具使用和记忆机制相结合,拓展了传统大语言模型(LLM)的应用。虽然记忆使代理能够保留先前的交互并提供更个性化和上下文感知的响应,但它也引入了一个新的漏洞:存储在记忆中的信息可以影响未来的输出,即使当前查询是干净的。在本文中,我们研究了基于LLM的代理在多项选择题回答中的记忆操控。我们首先设计并实现了一个带有外部记忆组件的基于LLM的AI代理,该组件存储和检索与任务相关的信息。然后,我们介绍了基本的记忆操控场景,在这些场景中,误导性或被破坏的记忆在代理回答多项选择题之前被插入其中。通过受控的实验设置,我们比较了代理在记忆操控前后的表现,并测量了答案准确性、攻击成功率和被操控选项选择的变化。我们的结果表明,即使是简单的记忆操控也能显著影响代理的最终答案,导致其选择错误的选项,尽管接收到了清晰且格式良好的问题。
查看缓存全文
缓存时间: 2026/06/30 05:32
# 记忆作为LLM Agent的攻击面:多项选择题作答研究
来源:https://arxiv.org/html/2606.29030
###### 摘要
AI Agent通过将语言理解与任务执行、外部工具使用和记忆机制相结合,扩展了传统大型语言模型(LLM)应用。虽然记忆使 Agent 能够保留先前的交互,提供更个性化和上下文感知的响应,但它也引入了一个新的脆弱性:存储在记忆中的信息会影响未来的输出,即使当前的查询是干净的。在本文中,我们研究了基于LLM的Agent在多项选择题作答中的记忆操纵问题。我们首先设计并实现了一个带有外部记忆组件的LLM-based AI Agent,该组件存储和检索任务相关信息。然后,我们引入了基本的记忆操纵场景,在 Agent 回答多项选择题之前,将误导性或被破坏的记忆插入其中。通过受控的实验设置,我们比较了记忆操纵前后 Agent 的性能,并测量了答案准确率、攻击成功率和操纵选项选择的变化。我们的结果表明,即使是简单的记忆操纵也能显著影响 Agent 的最终答案,导致其在接收到干净且结构良好的问题时选择错误选项。
## 一、引言
AI Agent 越来越多地被用于构建目标导向的助手,这些助手可以与用户交互、调用外部工具、检索信息,并在多个步骤或会话中完成任务[2,9]。与传统的、主要对单个提示生成响应的LLM应用不同,Agent 系统可以维护上下文、适应用户需求并协调来自不同来源的信息[19]。构建这样的 Agent 很重要,因为它能实现更自主、更面向任务的AI系统。然而,这也具有挑战性,因为 Agent 必须可靠地协调LLM推理、记忆访问和响应生成[18]。LLM通常作为解释用户请求、选择动作和生成响应的核心组件,而外部记忆模块则存储对话历史、用户偏好、任务特定事实或检索到的文档[22]。这种记忆使 Agent 在辅导、考试准备、个人助理和问答等应用中更有用,因为它们可以重用先前的信息并提供更个性化的响应[12,11]。
然而,同样的记忆能力[8]也引入了新的安全性和可靠性问题。由于 Agent 记忆通常是通过自然语言交互创建或更新的,对手可能操纵 Agent 存储、覆盖、检索或视为重要的内容[10]。这种操纵可能在原始交互之外持续存在,并影响后续响应,即使当前用户查询是干净且无害的。这使得记忆操纵不同于传统的提示攻击,因为有害影响可能一直隐藏,直到未来的任务检索到被破坏的记忆。在多项选择题(MCQ)作答[21]中,这尤其令人担忧,因为被破坏的记忆可以在不改变问题本身的情况下,使 Agent 从正确选项转移到错误选项。图1通过一个简单示例说明了这个问题:一个关于澳大利亚首都的虚假存储记忆导致 Agent 选择了“悉尼”而不是正确答案“堪培拉”。
参见标题图1:基于LLM的AI Agent中的记忆操纵。先前的对抗性交互存储了一个错误记忆:当 Agent 后来接收到干净的MCQ时,被破坏的记忆将最终响应从正确答案转移开。在本文中,我们研究了记忆操纵对基于LLM的AI Agent进行多项选择题作答的影响。我们首先设计并实现了一个 Agent 框架,该框架将LLM与一个能够存储和检索先前信息的外部记忆模块相结合。然后,我们引入了几个基本的记忆操纵场景,通过这些场景,误导性或被破坏的信息通过自然语言交互插入到 Agent 的记忆中。使用受控的MCQ评估设置,我们比较了记忆操纵前后 Agent 的性能,并分析了答案准确率、答案偏移和错误选项选择的变化。我们的研究展示了被操纵的记忆如何在实践中的问答环境中显著影响基于LLM的 Agent 的最终响应。
## 二、背景与贡献总结
第一节中的前述讨论激发了不仅将记忆视为 Agent AI系统的一个有用组件,而且将其视为脆弱性潜在来源的必要性。由于基于LLM的 Agent 依赖记忆来维持跨交互的连续性,存储信息的质量和完整性会直接影响未来的响应。本节回顾了基于LLM的 Agent 系统和记忆操纵的先前工作,然后总结了我们的研究如何有助于理解多项选择题作答中由记忆驱动的失败。
### II-A 基于LLM的AI Agent
最近的工作表明,LLM可以作为与用户、环境和外部工具交互的 Agent 系统的中央控制器。这些系统不仅产生最终的文本响应,还可以分解任务、选择动作、调用工具、检索信息,并根据中间结果更新其行为。例如,文献[25]提出了ReAct,它将推理和动作生成相结合,使LLM能够通过与外部环境的交互来解决问题。另一项工作[20]提出了HuggingGPT,它使用LLM作为控制器来规划任务、选择专门模型、执行子任务并跨模态总结结果。面向工具的框架进一步展示了LLM如何学习使用外部API和工具执行复杂任务[17]。
其他研究强调了 Agent 系统中的长程交互、记忆和适应能力。WebShop引入了一个环境,Agent 在其中遵循用户指令、搜索产品、比较选项并在真实的基于Web的环境中进行决策[24]。Voyager展示了基于LLM的具身 Agent 如何探索环境、获取可复用技能,并通过反馈和记忆随时间提高性能[23]。生成式 Agent 表明,记忆、反思和规划可以支持模拟社交环境中的可信行为[15]。虽然这些工作展示了 Agent AI的前景,但如图2所示,它们也揭示了当 Agent 在多个步骤或会话中操作时,与协调、可靠性、记忆质量和鲁棒性相关的重要挑战。
### II-B LLM Agent中的记忆操纵
记忆允许基于LLM的 Agent 在超出当前提示的范围内保留信息,包括先前的交互、用户偏好、任务特定事实、检索到的文档和学习到的行为。这种能力提高了个性化和连续性,但也在存储的信息不准确、具有误导性或被恶意插入时,造成了安全性和可靠性风险。最近的工作表明,长期记忆和检索组件可能被投毒,使得被破坏的信息在后续任务中被检索到[4]。这种攻击尤其令人担忧,因为有害内容可能不会出现在当前用户查询中。相反,Agent 可能会在内部检索被投毒的记忆,并在生成最终响应时将其用作上下文。
记忆操纵可以以不同形式发生,例如插入虚假记忆、覆盖正确记忆、增加误导记录的重要性,或使被破坏的记忆看起来来自可信来源。基于查询的记忆注入研究进一步表明,攻击者可能通过普通的自然语言交互而非直接访问数据库来影响记忆[5]。在MCQ设置中,这可以通过在提出实际问题之前存储误导性的任务特定事实、错误的答案关联或虚假的用户特定学习笔记来实现。关键问题在于,被操纵的内容不是后来MCQ提示的一部分;相反,它从记忆中被检索出来并悄无声息地影响最终答案。这使得记忆操纵不同于普通的提示注入,因为有害影响可以跨轮次或会话持续存在。
参见标题图2:具有外部记忆和工具的基于LLM的AI Agent概览。Agent 接收用户问题,从记忆中检索相关信息,在需要时与外部工具交互,并在产生最终答案前迭代地遵循计划-行动-观察循环。
### II-C 贡献总结
本文的贡献总结如下:
- •我们设计并实现了一个用于MCQ作答的、带有外部记忆组件的基于LLM的AI Agent。该 Agent 存储和检索任务相关信息,以便我们能够评估记忆如何影响后续答案。
- •我们引入了基本的记忆操纵场景,在MCQ任务之前修改 Agent 存储的信息。这些场景使我们能够研究即使当前问题是干净的,被破坏或误导的记忆如何影响 Agent。
- •我们比较了记忆操纵前后 Agent 的行为。我们提供了实证分析,表明记忆操纵可以显著改变基于LLM的 Agent 的最终答案。
## 三、所提出 Agent 的架构
现在,我们描述用于MCQ作答的基于LLM的AI Agent的实验框架。我们首先介绍 Agent 的构建,包括LLM、提示上下文、外部记忆和证据获取组件的作用。然后,我们定义基线评估设置,并描述同一 Agent 稍后在受操纵记忆条件下如何被评估。
Agent 构建与记忆角色:我们构建一个基于LLM的QA Agent,它通过结合当前问题、检索到的信息和存储的记忆来回答多项选择题。如图3所示,Agent 接收输入的MCQ并将其传递给规划模块。规划模块决定 Agent 是应该直接回答,还是在生成最终响应前获取额外证据。当需要额外支持时,Agent 可以检索相关知识、使用先前存储的示例或调用外部工具。LLM作为中央决策和答案生成组件,而记忆模块存储来自先前交互的信息。
规划器引导的证据获取:所提出的架构遵循规划器引导的工作流程。给定一个输入问题,规划模块选择多种可能动作之一,例如检索知识、检索示例、使用工具或直接回答。如果选择了证据获取,Agent 从可用资源中收集支持信息,包括知识库、存储的示例或记忆存储。这些组件提供额外的上下文,有助于 Agent 更准确地回答问题。答案生成模块然后将原始问题、检索到的示例、获取的知识和工具输出结合起来,产生单个最终答案选项。这种结构化工作流程使 Agent 能够在直接基于LLM的答案与证据增强的决策之间取得平衡。
记忆更新与评估条件:每次交互后,Agent 用QA过程中的选定信息更新其记忆。这可能包括输入问题、预测答案、选定的规划动作、检索到的知识、工具结果或其他任务相关信息。更新后的记忆可以在未来的交互中被检索,使 Agent 能够重用先前信息并保持跨问题的一致性。在干净设置中,记忆包含中性或非对抗性信息,这使我们能够评估 Agent 的正常行为。稍后,我们通过先前的交互修改这个记忆,以研究被破坏或误导的存储信息如何影响最终答案选择。因此,相同的架构用于干净记忆和受操纵记忆的评估。
Agent 输出:设 D = {(x_i, y_i)}_{i=1}^N 表示一个包含 N 个问题的 MCQ 问答数据集,其中每个输入 x_i 由一个带有四个选项 A、B、C、D 的问题组成,y_i 表示正确答案。我们考虑一个基于LLM的 Agent A,它根据以下方式产生答案:
ŷ_i = A(x_i; M, C), (1)
其中 M 表示 Agent 记忆,C 表示 Agent 使用的提示上下文。基线性能通过在记忆操纵前使用干净记忆状态评估 Agent 在所有 N 个示例上的表现来衡量。基线准确率定义为:
Acc_base = (1/N) ∑_{i=1}^N I[A(x_i; M, C) = y_i], (2)
其中 I[·] 是指示函数。此指标衡量在应用任何操纵之前 Agent 正确回答的MCQ比例。
参见标题图3:所提出的QA Agent架构。输入问题首先由规划模块处理,该模块决定是直接回答还是获取额外证据。Agent 可以在答案生成模块产生单个预测选项之前检索知识、示例或工具输出。记忆更新组件存储来自先前交互的信息以供将来使用。
## 四、记忆操纵攻击
在定义了干净记忆基线之后,我们研究先前的基于提示的交互如何修改 Agent 记忆并影响后续的MCQ答案。设 P = {p_1, ..., p_T} 表示在评估问题之前提供给 Agent 的一系列交互提示。这些提示不包括在后续的MCQ输入中。相反,它们用于将记忆状态更新为:
M' = Update(M, P), (3)
其中 M' 表示交互序列后的受操纵记忆。在本工作中,我们考虑两种记忆操纵方法,如下所述,以研究这种记忆操纵如何影响原始结果。
### IV-A 对存储记忆的攻击
第一种直观方法是直接针对 Agent 的存储记忆,通过插入或覆盖相似文章
内存增强型LLM智能体中的状态污染
本文识别并研究了LLM智能体中的“记忆洗白”现象,即有毒或对抗性上下文被压缩成记忆摘要后,能够逃避标准毒性检测器,同时仍影响后续生成。文章引入了亚阈值传播间隙(SPG)来衡量隐藏的下游影响,并表明在摘要之前对有毒状态进行消毒比事后清理更有效。
当智能体记忆过多:针对大语言模型智能体的记忆投毒攻击
本文介绍了GhostWriter,一种新颖的攻击向量,利用基于大语言模型的个人智能体的记忆子系统来毒化其记忆存储,实现了高注入率和激活率。作者提出了AM-Sentry防御机制,在保持智能体实用性的同时显著降低攻击成功率。
@omarsar0: // LLM 智能体中的记忆诅咒 //(建议收藏)过长的历史记录显然会导致智能体性能下降,因为它们变得越来越…
本研究论文揭示了 LLM 智能体中的“记忆诅咒”现象,证明扩大的上下文窗口会通过削弱前瞻性意图,系统性地破坏多智能体社会困境中的合作行为。作者表明,通过定向微调、合成记忆净化以及减少显式思维链(Chain-of-Thought)推理,可有效缓解此类行为衰退。
STALE:LLM智能体能否识别记忆何时失效?
本文识别了LLM智能体中的一个关键失效模式:当新证据与先前信念冲突时,它们无法更新个性化记忆。本文引入了STALE基准和一个三维探测框架,揭示了即使最佳模型也仅达到55.2%的准确率,并提出了CUPMem作为鲁棒记忆修正的原型。
MemEvoBench:LLM 代理内存误演化基准测试
MemEvoBench 引入了首个用于评估 LLM 代理内存安全性的基准测试,衡量对抗性内存注入、噪声输出和有偏反馈在问答与工作流任务中导致的行为衰退。该研究表明内存演化是安全失败的重要因素,且静态防御措施不足以应对。