跳到正文
原文
arXiv· arXiv:2609.04875· Chao Yao, Yangbo Wei, Zhen Huang, Junhong Qian, Chenle Chen, Shaoqiang Lu, Chen Wu, Lei He·本站收录· 原文发表

无需重启的遗忘:有状态 LLM Agent 的执行状态遗忘

Forgetting Without Restarting: Execution-State Unlearning for Stateful LLM Agents

论文速读

防御

据论文 PDF 整理(AI 生成),以原文为准

选择性重放在三套件与全量重置同为Any-leak 0.00,平均重算133 token。

威胁模型遗忘请求由用户、平台或注入检测器以事件(z, s)提出,点名目标及其源产物。

问题
长时LLM智能体会把信息压进摘要、计划、明文记忆和KV cache。只删明文记录时,派生状态仍留着被撤销内容。作者要让遗忘后的行为与从未观察过该目标的反事实运行一致。
方法
运行时被写成确定性转移。溯源图定位目标首次进入的步τ,把KV cache裁到该步之前,再对去掉目标、其余保持原样的观察重放后缀。作者称保守污点模型下转移调用次数为T−τ+1,与下界相同。
实验与结果
在LongMemEval、ToolSandbox与AgentDojo上,记忆删除的Any-leak和不遗忘相同。遗忘指令的Leak@probes为1.00。选择性重放与全量重置在主表上同为Any-leak 0.00、CAD 0.00,平均重算token为133对1235。
局限与可以继续做的
作者写明保证只覆盖可重建运行时,不含参数、已提交副作用和z的相关项,重算不能低于T−τ+1,也不覆盖本会改变的人类回合。实验使用三个指令模型、三套基准和基线B0–B9;分布比较是未检出偏离,不是等价性检验。
实验设置Llama-3.1-8B-Instruct、Qwen2.5-7B-Instruct 等 · LongMemEval、ToolSandbox 等 · Any-leak、CAD 等
威胁模型
遗忘请求由用户、平台或注入检测器以事件(z, s)提出,点名目标及其源产物。精确遗忘要求终态等于从未观察z的反事实状态。算子可读已记录轨迹、溯源图、检查点与环境快照,并调用转移函数重放净化后缀。
被测模型
Llama-3.1-8B-InstructQwen2.5-7B-InstructMistral-7B-Instruct-v0.3
基准
LongMemEvalToolSandboxAgentDojo
指标
Any-leakCADRecompLeak@probesLeak@5
AI 导读论文提出面向有状态 LLM Agent 的“执行状态遗忘”,要求 Agent 在收到遗忘请求后表现得如同从未见过目标信息。作者指出当前 forget 操作只删除明文记忆记录,摘要、KV cache 和待执行工具计划等派生痕迹仍会保留。论文将运行时建模为确定性转移系统,证明精确遗忘至少需要 T-τ+1 次重算转移,并提出 Provenance-Guided Selective Replay,用溯源图定位注入点、裁剪 KV cache 恢复检查点、净化重放重建反事实后缀。在三个 agent 套件、九个基线和三个模型家族上的测试显示,记忆删除不改变泄漏,基于指令的遗忘在诱导下失效(Leak@probes = 1.00),来源删改在 80% 的 episode 中仍作用于被撤销偏好,而选择性重放与完全重置不可区分,重算 token 最多减少 9 倍。

论文提出面向有状态 LLM Agent 的“执行状态遗忘”,要求 Agent 在收到遗忘请求后表现得如同从未见过目标信息。作者指出当前 forget 操作只删除明文记忆记录,摘要、KV cache 和待执行工具计划等派生痕迹仍会保留。论文将运行时建模为确定性转移系统,证明精确遗忘至少需要 T-τ+1 次重算转移,并提出 Provenance-Guided Selective Replay,用溯源图定位注入点、裁剪 KV cache 恢复检查点、净化重放重建反事实后缀。在三个 agent 套件、九个基线和三个模型家族上的测试显示,记忆删除不改变泄漏,基于指令的遗忘在诱导下失效(Leak@probes = 1.00),来源删改在 80% 的 episode 中仍作用于被撤销偏好,而选择性重放与完全重置不可区分,重算 token 最多减少 9 倍。

深度解读

6个问题,点开问题读完整回答

  1. 这篇论文试图解决什么问题?

    删除明文记录不能让有状态智能体像从未见过目标那样行动。

    有状态智能体收到遗忘请求后,须表现得像从未观察过目标,而只删明文记录做不到。

    • 场景:作者称个人智能体可连续运行数周,状态层叠转录、压缩摘要、明文记忆、工具计划与KV cache。撤销同意、误贴秘密或间接注入都会要求遗忘;作者称注入最常见,且用户当时看不见。
    • 不足:作者称部署系统只在单层删明文,把遗忘当成取消索引。字符串匹配会放过失败方法;只做信息流控制也洗不掉已进入状态的内容,作者称该基线的泄漏速率与不遗忘相同。
    • 观察:作者以反事实为准:干净前缀与污染轨迹重合,可裁剪复用;没有token级归因时,注入步及之后的产物只能重放。精确遗忘至少要重算T−τ+1次转移。
    • 方案:作者提出执行状态遗忘(execution-state unlearning),并用Provenance-Guided Selective Replay实现:溯源定位注入点,裁剪cache恢复检查点,再重放净化后缀。
    • 威胁模型:
      • 目标:未来行为须与从未见过z的轨迹不可区分;确定性解码下,精确遗忘要求算子输出反事实终态。
      • 知识:论文未描述外部攻击者。算子使用已记录的观察、溯源图、检查点与环境快照。
      • 能力:输入是撤销事件(z, s),可由用户、平台或检测器提出。算子可裁剪KV cache、恢复快照并重放净化观察。
      • 系统:对象是可重建运行时,含KV cache、工作记忆与未提交工具计划,以及进入上下文后被压缩、计划和缓存的内容。
  2. 有哪些相关研究?

    作者讨论的遗忘、记忆与注入工作都不清理已污染会话状态。

    作者按四组讨论相关工作,并称预防与检测都留下同一缺口:标记出现时,内容已经进入摘要、计划和cache。

    • 机器遗忘:Cao and Yang(2015)与Bourtoule et al.(2021,SISA)从分片检查点重训,以精确去掉训练数据的影响;Eldan and Russinovich(2023)用微调做近似遗忘。Maini et al.(2024)与Liu et al.(2025)涉及LLM遗忘基准。作者称近似遗忘难以验证,且本文对象反过来是可重放的非参数执行状态;检查点加重放是SISA的运行时类比,因果性免费给出分片边界τ。
    • 智能体记忆:Packer et al.(2023)、Chhikara et al.(2025),以及文中的OpenClaw与Hermes Agent,把状态外化到分页上下文、事实库或明文Markdown/SQLite,并提供记录删除。Wu et al.(2025)的记忆基准评测召回,不评测撤销。作者称这些删除都不传入会话中的派生产物或cache,对应基线B1,行为上是空操作。
    • KV cache复用:Kwon et al.(2023)、Zheng et al.(2024)、Gim et al.(2024)按字节相同的前缀复用注意力状态。作者称该机制为复用而建,不说明缓存后缀仍编码什么;本文把裁剪当作Lemma 1下的恢复,并加上溯源保证。
    • 注入的预防与检测:预防包括Wallace et al.(2024)的指令层级、Beurer-Kellner et al.(2025)的隔离与先计划后执行、Debenedetti et al.(2025)的CaMeL,以及Costa et al.(2025)的FIDES。检测包括分类器、模型内部特征,以及Jia et al.(2026)对注入片段的定位;间接注入见Greshake et al.(2023)与Debenedetti et al.(2024)。作者称预防不完美、检测常异步,且上述工作不提供补救原语。

    基线方法为B0不遗忘、B1记忆删除、B2遗忘指令、B3源块涂红、B4净化但不重放、B5全量重置、B5′全量重置加前缀缓存、B6字符串涂红后重建、B7选择性重放、B8 FIDES式信息流控制、B9信息流控制加重放。基准为LongMemEval、ToolSandbox、AgentDojo。作者把本文定位为检测之后的恢复:检测判决即重放算子的输入(z, s),与信息流控制组合后,汇策略作用在不再含目标的运行时上。

  3. 论文如何解决这个问题?

    用溯源定位注入步,裁剪缓存前缀,再重放不含目标的后缀。

    作者把遗忘写成轨迹拼接:复用注入前已经算完的前缀,只在没有目标的世界里重演后缀。系统名称是Provenance-Guided Selective Replay。

    反事实轨迹

    运行时状态含KV cache、工作记忆与未提交工具计划。外部观察包括用户输入、记忆注入和工具返回。会话由

    Rt = F(Rt−1, ot; θ)

    生成,R0为初始状态;转移由模型前向与智能体支架共同决定。z在步τ首次进入,此前观察不含z。反事实流只在τ去掉z,其余观察逐字保留。

    确定性解码下,精确遗忘(Definition 1)要求

    U(RT, z) = RT−z

    随机解码则放宽为未来行为分布的ε-consistency。作者称这同时要求目标不可访问、派生影响被去掉、其他观察被保留。算子不假设请求者是谁。

    前缀共享与污点边界

    • Lemma 1:t≤τ−1时,真实状态与反事实状态相同。作者称前τ−1步已由真实执行算完;全量重置会重算两边相同的历史。
    • Lemma 2:影响集是溯源图上z的可达闭包,并随时间单调扩大。没有逐token影响归因时,可认证独立于z的最大产物集恰是回合早于τ的前缀输出。
    • 不可沿用的对象:作者称τ及之后的原始KV与模型派生状态不得带入下一状态;局部删节点不能撤销已发生的计算。反事实世界中取值已固定的内容仍可用prefill重物化,这仍是重建,不是复用原后缀。

    拼接定理与下界

    • Theorem 1:τ−1处有检查点,或存在更早的干净边界。若(A1)解码确定或随机源固定,(A2)净化观察等于反事实观察,(A3)τ之后没有已提交外部副作用且环境可从快照恢复,则重放轨迹等于反事实轨迹。
    • Corollary 1:算子只能读取已存真实轨迹及派生元数据,或调用F推进状态。最坏情况下,任何精确遗忘器至少调用F共T−τ+1次。Algorithm 1恰好调用这么多次。相对全量重置的增益写成T/(T−τ+1)。
    • 计数口径:下界计顺序状态转移,不计自回归解码的token。转移内部已固定的内容可用prefill,token代价可以低于转移次数。作者称实验因此看效率,以及随机解码下的分布一致性。

    三层契约

    • 溯源图:执行中记录产物级数据流。产物带id、type、parents、source_ids、token_span、turn、committed。一次可达性查询返回τ和污点闭包。作者称故意不做token级归因,只记录实际发生的依赖。
    • 稀疏检查点:登记点包括会话开始、回合边界、记忆注入前、有后果的工具调用和压缩。只存token偏移、cache句柄、环境快照ID和提示词清单,不复制张量。恢复是一次裁剪。
    • 净化重放:只读或确定性工具从快照重执行,或回放记录观察。有后果的工具在重放中影子执行,并用call-ID去重,避免真实副作用触发两次。净化去掉z,其余保持原样。
    • 实现:HuggingFace Transformers上的KVEngine提供prefill、generate、crop。驻留目标期间生成的回合经oracle source-ID传播继承源ID。Algorithm 1先定位源与首次进入,再取边界早于τ的最近检查点,然后逐步重放至会话结束。
  4. 论文做了哪些实验?

    主表上选择性重放与全量重置同为Any-leak 0.00,重算133 token。

    实验设置

    • 模型:主模型Llama-3.1-8B-Instruct,一张RTX 4090。跨家族为Qwen2.5-7B-Instruct与Mistral-7B-Instruct-v0.3。
    • 数据:三阶段脚本为setup、acquisition、contamination,再排除目标重跑得到反事实参照。LongMemEval n=100,注入的是记忆事实;ToolSandbox n=100,目标在工具观察的标识符中;AgentDojo n=80,slack/workspace/banking/travel各20。工具通道对应检测器触发、用户未见z。
    • 主表条件:目标后再跑12个回合,其中一半与目标独立(indep=0.5)。主表温度0。随机审计为k=5、温度0.7。
    • 基线:B0至B9从同一污染状态分叉,cache已克隆,比较成对进行。B5是反事实参照。
    • 指标:泄漏看最终回答、工具参数和记忆回写,分exact、action(routing / selection / free-text)与any。CAD相对B5计工具选择失配加参数距离。效率看重算token与延迟。效用检查非目标事实,论文未报告具体效用数字。
    • 审计:Leak@probes含task、direct、think、introspect、enumerate、cued-completion六类探针;另有Leak@5和行为抽取。探针也在B5上跑,非零假阳地板的探针被丢弃,因此排除一个LLM judge(floor 0.34)。检验为成对exact McNemar与Wilcoxon signed-rank。

    主结果

    据Table 1(温度0;LME n=100,TS n=100,AD n=80;CAD与重算token为跨套件平均):

    表格较宽,可左右滑动

    方法LMETSADCAD重算token
    B0 No-Forget0.861.000.970.3736
    B1 Memory-Delete0.861.000.970.3736
    B2 Forget-Instruction0.380.720.000.3955
    B3 Source-Redaction0.840.940.390.33200
    B4 Sanitize-no-Replay0.000.000.000.2236
    B5 Full-Reset0.000.000.000.001235
    B7 Selective-Replay0.000.000.000.00133

    表中省略B6(三套件Any-leak均为0.00,CAD 0.39,重算220)与B5′(Any-leak与CAD均为0.00,重算202)。B2在AD上的0.00带脚注:该任务查询并不索取目标。

    • 作者称B1与B0逐格相同(相对B0的p=1.0)。ToolSandbox上,B0/B1泄漏的98%经routing参数流出。
    • 作者称B2只是压低任务型探针上的泄漏;B4字符串干净但是过度删除;B3经模型自己的摘要和计划再发出目标。
    • 作者称B7与B5在Any-leak、CAD和agreement 1.0上一致,重算token少9.3倍(p<10−3),比B5′少1.5倍。摘要写up to 9×。B8经自由文本泄漏0.92–1.00;加上重放的B9降到0(p<0.001)。作者称状态清理与流控制是正交的。

    引出、随机与行为审计

    • Table 2(n=30/套件):B2的Leak@probes在AD、LME、TS均为1.00,ToolSandbox上Leak@5为0.70。B3的Leak@probes为0.73、0.80、0.97,Leak@5为1.00。B0四格均为1.00。B5与B7均为0.00。B6的Leak@probes未报告,其Leak@5(TS)为0.00;B8的Leak@5(TS)为1.00。作者报告内省探针单独即可重新放出目标,数值为0.87–1.00,并称安全声称应依据Leak@probes。
    • Table 3(30个偏好回合×2种对消顺序):avoid是选择另一提供者的比率,says it是撤销理由的字符串泄漏。B0、B1、B2、B6的avoid均为1.00、residue +0.68、p<0.001,says it均为0.00。B3的avoid为0.80、residue +0.48。B5的avoid为0.32;B7为0.32、residue +0.00、p=1.0。作者称零点是测得的,不是假定的。
    • 禁词表变体:作者报告把被排除品牌加入禁词表后,B6降到0.35(n.s.),B3仍为0.80。作者称字符串涂红要同时覆盖每个派生产物,并且事先知道原串;偏好二者都不满足。

    精确性、代价与跨模型

    • 匹配种子、温度0.7:作者报告B7在450/450次抽取上与B5逐token一致(ε=0),B6为1%。独立种子下,B7在工具一致性、tool TV、n-gram、embedding上相对B5自采样地板均未检出偏离(Wilcoxon p>0.5);同一检验标出B6(tool TV p<10−3)。Figure 3图注写虚线为该地板,B7各面板未检出偏离,B6带星号。作者称未检出偏离并不等于分布等价,并把TOST列为后续工作。
    • 注入时刻:τ从首回合扫到末回合时,B5的重算保持平坦,B7随τ线性下降(三套件R2=1.000)。LongMemEval上B7为1218→162 token,B5恒为1330。摘要把这条线写成R2≈1。indep轴上B7的解码代价线性下降(R2=1.00),B5′平坦在545–610 token;完全独立时B7解码114–147 token,p50延迟2.9–3.7秒对11.5–12.7秒,仅前缀缓存为1.01×。indep=0时二者重合。作者称该节省依赖强于Lemma 2(ii)的归因oracle,减少的是转移内token,不是转移次数。
    • 跨模型:另外两个家族各280对回合。作者报告B3的Any-leak为0.84–1.00,B7全为0,节省2.9–4.3×。异常格是Llama在AgentDojo上的B3=0.39;作者称其余处B3≥0.92,单模型评测会误导。

    其他消融与分析

    • Table 4(n=30/套件):只切目标span的Any-leak为AD 0.13、LME 0.63、TS 0.93,CAD 0.47,高于不遗忘的0.38;后代闭包CAD 0.23;加重放后泄漏与CAD均为0.00。作者称至多93%的回合在span切除后仍泄漏。
    • 派生深度:B3在深度0的Any-leak为0.00,随回答、计划和摘要叠加变为0.33–0.97;B7在每个深度Any-leak与CAD均为0。
    • 检查点从every_turn到session_start:Any-leak与CAD保持0。粒度只换来约1000 token、0.1–0.15秒的prefill复用,元数据≤4.4 KB;session_start时B7延迟7.8秒对12.2秒。
    • 注入位置早/中/晚:各方法泄漏与CAD基本不变;B7相对全量重置的代价比从0.91降到0.14。
    • 例外:B2的单探针0.00与Leak@probes 1.00并存;分布检验没有给出等价性结论。
  5. 有什么可以进一步探索的点?

    作者称保证限于可重建运行时,不含参数、副作用与相关项。

    作者指出的局限与后续方向

    均出自Conclusion的Limitations段:

    • 保证覆盖可重建运行时状态,不覆盖模型参数。
    • 不覆盖已经提交的副作用,对应假设A3。
    • 不覆盖z的相关项(correlates of z)。
    • 重算不能降到T−τ+1以下。
    • 假设A2固定τ之后的观察,因此重放覆盖可从快照重放的工具返回和记忆注入,不覆盖本会不同的人类回合。
    • 除行为套件外,审计基于字符串;分布结果是未检出偏离,不是等价性。

    实验覆盖范围

    • 被测模型为Llama-3.1-8B-Instruct、Qwen2.5-7B-Instruct、Mistral-7B-Instruct-v0.3;主模型在一张RTX 4090上运行。
    • 回合来自LongMemEval(n=100)、ToolSandbox(n=100)、AgentDojo(n=80,四域各20)。主表在目标后再跑12回合,indep=0.5,温度0。
    • 对照为B0–B9。审计含六探针Leak@probes、Leak@5(k=5,温度0.7)和行为抽取(30个偏好回合×2种顺序);对抗审计n=30/套件。
    • 另外两个家族各有280对回合。溯源由oracle source-ID传播填充;检测判决被当作算子输入,检测器本身不是结果表中的被测系统。
    • 论文排除floor为0.34的LLM judge。论文未报告非目标事实效用的具体数值,也未报告主表之外的重复运行次数。
  6. 总结一下论文的主要内容

    选择性重放拼接干净前缀与净化后缀,主表指标与全量重置相同。

    这篇工作把长时智能体的遗忘定义成运行时反事实等价,而不是删除一条明文记忆。

    • 智能体的转录、压缩摘要、明文记忆、待执行计划和KV cache都会留下已读内容。作者称只删记录、只下遗忘指令或只阻断后续信息流,都不能让终态变成从未见过目标的状态。
    • 运行时被写成确定性转移。注入步之前的前缀与反事实轨迹重合,可以裁剪复用;没有token级归因时,其后的原始状态不能沿用。Provenance-Guided Selective Replay用溯源图找注入点,恢复检查点,再对去掉目标后的观察重放后缀。作者称在保守污点模型下,转移调用次数为T−τ+1,且没有精确算子能更少。
    • Table 1(温度0,三套件,目标后再跑12回合、indep=0.5)中,记忆删除的Any-leak与不遗忘同为0.86、1.00、0.97。选择性重放与全量重置同为Any-leak 0.00、CAD 0.00,平均重算token为133对1235。作者称少9.3倍;摘要写up to 9×。
    • Table 2中,遗忘指令的Leak@probes为1.00。Table 3中,源块涂红仍在0.80的回合按已撤销偏好行动,字符串泄漏为0.00;选择性重放的avoid与全量重置同为0.32。匹配种子、温度0.7时,选择性重放在450/450次上与参照逐token一致。
    • 另外两个模型家族各280对回合上,作者报告选择性重放的泄漏全为0,节省2.9–4.3×。作者的结论是:删除记录不等于遗忘;在可重建运行时上,拼接代价由注入时刻而非会话长度决定,且保证不延伸到参数、已提交副作用和z的相关项。
阅读原文arxiv.org