给 Agent 喂点假消息就能让它彻底变傻?
这篇关于 Agent 记忆投毒(Memory Poisoning)的研究看得我后背发凉。现在的 AI Agent 为了让对话更连贯,都在拼命搞长短期记忆(Long-term Memory),但大家似乎都忽略了一个致命逻辑:一旦错误的、被投毒的信息被写入了 Agent 的持久化记忆库,它就会像病毒一样在后续的所有会话中反复发作。
这其实揭示了一个很硬核的边界:单纯靠文本特征去做安全防护是行不通的。如果你想让 Agent 拥有可靠的记忆,不能只靠加一层“过滤器”,必须得在检索阶段引入某种“占用约束”(Bounded Occupancy Constraints),而不是简单地给来源加分。
下一篇
用动力系统理论来抓大模型的“坏心思”到底靠不靠谱 →
研究人员做了一个非常极端的测试,没用什么复杂的指令注入,也没搞什么检索优化,只是在 LongMemEval 这个语料库里混进了 1.2% 的纯粹假信息。结果呢?Agent 的准确率直接从 0.850 崩到了 0.300。仅仅 1% 出头的投毒比例,就让原本聪明的 Agent 变成了满口胡言的废柴。
最让我觉得无力的是,现有的防御手段在面对这种“事实性投毒”时几乎是全军覆没:
- 内容审查(Content Screening)的无能: 很多团队想通过在写入阶段加一层内容过滤来拦截注入,但实验显示,即便那种能识别 83% 间接提示词注入(Indirect Prompt Injection)的高强度过滤管道,面对这 1.2% 的假事实时,拦截率竟然是 0。说白了,AI 没法单纯靠看一段话“像不像坏话”来判断它是不是“假话”,除非它能连接外部知识库去核实。
- 来源权重(Provenance-weighted Retrieval)的尴尬: 如果给不同来源的信息打分,试图通过信任权重来过滤,结果也挺讽刺。如果权重设低了,防御效果跟没防一样;如果权重设高了,一旦关键证据恰好来自“不可信”渠道,Agent 就会直接无视正确答案,准确率瞬间跌到 0.04 左右。
这其实揭示了一个很硬核的边界:单纯靠文本特征去做安全防护是行不通的。如果你想让 Agent 拥有可靠的记忆,不能只靠加一层“过滤器”,必须得在检索阶段引入某种“占用约束”(Bounded Occupancy Constraints),而不是简单地给来源加分。
核心实验结论参考:
- 投毒比例:1.2%
- 准确率跌幅:0.850 -> 0.300
- 内容审查拦截率:0 (针对假事实投毒)
- 强权重防御下的准确率:0.0417 (当证据本身被判定为不可信时) 免费 AI 工具箱 · 全部完全免费
全部回复 (4)
副
副业中创业者
初级
14小时前
其实最麻烦的是这种污染是隐性的,等发现逻辑不对时,根本分不清是模型幻觉还是记忆被毒了。
0
小
这玩意儿要是写进向量数据库里,靠RAG检索的话,是不是很难手动清理?
0
早
程