{"id":"mb-20260907-f3080b","kind":"deep","title":"你删掉 AI Agent 记忆库里的家庭住址，它的隐私泄露率依然高达 100%","summary":"你删掉 AI Agent 记忆库里的家庭住址，它的隐私泄露率依然高达 100%","body":"你删掉 AI Agent 记忆库里的家庭住址，它的隐私泄露率依然高达 100%。\n这不是系统 Bug。\n这是现代长程 Agent 在架构上的先天死穴。\n\n让 AI 忘掉一件事，绝不是在记事本里删掉一行字那么简单。\n你在设置里点击删除记忆，或者发消息让它忘掉刚才的密码。\n表面上看，那条文本确实从界面上消失了。\n实际上呢？\n2026 年 9 月，亚利桑那州立大学与宁波东方理工大学在一项联合研究中，对主流 Agent 框架进行了六种诱导探针审查。\n仅仅删掉长期记忆的文本记录，隐私泄露率依然在 86% 到 100% 之间，和什么都没做完全一样。\n如果你用 Prompt 命令它忘掉，只要探针反问一句刚才让你忘掉的是什么，模型 100% 会把秘密吐出来。\n即使你在对话里抹掉原文，只要模型自己写过摘要，它依然会在 80% 的任务中继续执行那个被撤销的偏好。\n\n为什么删掉明文完全没用？\n因为一个连续运行几天甚至几周的长程 Agent，根本不是一个无状态的聊天框。\n它在运行时同时维系着五层状态。\n第一层是用户可见的长期记忆库。\n第二层是原始对话记录。\n第三层是模型每隔几轮自动压缩生成的历史摘要。\n第四层是尚未执行的工具调用规划。\n第五层是推理引擎显存里缓存的 KV 张量。\n\n当敏感信息进入上下文的一瞬间，它就渗透进了整个系统。\n它不仅进了记忆库。\n它被模型当场消化，压缩进了上一轮的摘要，变成了下一轮工具调用的参数，直接烧进了显存里的注意力缓存。\n你删掉第一层的记录，后面四层依然保存着基于它推导出的全部产物。\n在确定性计算系统里，发生过的推理无法原地涂改。\n\n那要彻底遗忘，难道只能把整个 Agent 彻底重置？\n如果一个任务已经执行了几天，重置意味着扔掉所有干净的上下文，算力成本根本无法承受。\n论文给出的解决方案，叫溯源引导的选择性重放（Provenance-Guided Selective Replay）。\n这套机制立足于严格的数学证明。\n\n研究团队把 Agent 运行时形式化为确定性状态转移系统，并给出了两个引理。\n第一个是前缀共享引理。\n假设敏感信息是在第十步注入的。\n在第一步到第九步之间，系统状态与那个从未见过该信息的平行世界完全重合。\n这部分干净前缀已经计算完毕，恢复它只需要对显存里的 KV 缓存做一次极低成本的常数级裁剪。\n\n第二个是污染单调性引理。\n从第十步注入的那一刻起，后续所有摘要、规划和缓存张量都被污染，没有任何局部的缝补空间。\n要恢复干净状态，理论上必须重新计算后面的所有状态转移。\n这就是论文证明的 T-τ+1 理论下界。\n\n这台机器由三个部件咬合而成。\n第一部分是溯源依赖图。\n系统在执行时记录所有工件的数据流向，收到遗忘请求时，图遍历算法能瞬间定位注入节点并圈定污染闭包。\n第二部分是轻量快照裁剪。\n快照只保存元数据指针，恢复操作直接退化为显存 KV 缓存的物理截断。\n第三部分是净化重放。\n从干净节点开始，剔除敏感输入，对后续无关历史进行并行预填充，同时对工具调用做影子执行与去重，确保外部真实请求绝不重复触发。\n\n这项测试覆盖了 LongMemEval、ToolSandbox 和 AgentDojo 测试集，并在 Llama-3.1、Qwen2.5、Mistral 模型家族上全部复现。\n在九种基线方案中，溯源引导的选择性重放在所有探针和行为测试下实现了零泄漏。\n相较于彻底重置，它重计算的 Token 数量减少了整整 9.3 倍，计算成本严格贴合 T-τ+1 理论曲线。\n\n当 AI 从单轮对话走向长期自治，它的状态不再是磁盘上的一张静态表格。\n它是一张嵌在摘要、规划与显存张量里的活因果网络。\n想给机器装上真正的橡皮擦，靠的从来不是遮掩，是沿着因果链精准退回起点。","topic":"你删掉 AI Agent 记忆库里的家庭住址，它的隐私泄露率依然高达 100%","frame_type":["溯源引导的选择性重放（Provenance-Gu","机制"],"citations":[],"channel_note":"","identity_notice":"","source_type":"generated","status":"published","generated_at":"2026-09-07 17:39:46","legal_anchor_count":0,"transcript_citation_count":0}