一句话定义:记忆投毒(Memory Poisoning)是指把一条虚假但看起来可信的信息写进智能体(Agent)的长期记忆(long-term memory),让它在之后每一次相关决策中都被这条假事实影响。
记忆是怎么被写进去的
现在的智能体不只做“一问一答”,它会把用户偏好、任务结论、环境事实存进外部记忆。常见做法是用向量数据库(vector database)保存,再配合AI 词典:检索增强生成">检索增强生成(RAG),在需要时按语义相似度召回。写入记忆的途径很多:用户随口说的一句话、智能体自己总结的“经验”、抓回来的网页文本、另一个智能体转发的消息。
问题在于,一旦某条内容写进记忆,每次遇到相关任务,它都会被召回,并被当作背景事实使用。模型本身没有能力分辨:这条记忆是经过验证的,还是别人塞给它的。
打个比方:团队共用一本笔记本,谁都能写。某人写了一句“B 客户的合同已续签”,之后半年里,每个接手这个客户的人都照着它安排排期、报价、汇报。没有人撒谎,但所有决策都错了。记忆投毒就是往这本笔记本里塞一张假页,而且只有翻到那一页的人才会发现。
和相邻概念的区别
| 概念 | 动手位置 | 影响范围 | 典型特征 |
|---|---|---|---|
| 提示注入(Prompt Injection) | 单次输入 | 当次会话 | 一次性,关掉会话就失效 |
| 数据投毒(Data Poisoning) | 训练数据 | 模型权重 | 成本高、影响面广,改的是模型的固有行为 |
| 记忆投毒(Memory Poisoning) | 运行时记忆 | 跨会话、长期 | 成本低,一条就够,隐蔽 |
| 幻觉(Hallucination) | 模型自身生成 | 当次输出 | 并非由外部植入,重问一次可能就变了 |
关键差别在于两处:它不修改模型权重,因此常规的模型评测无法发现;它又跨会话长期存在,所以比提示注入难清除得多。
对从业者的实际意义
1. 记忆写入要分级:用户陈述、模型推断、工具验证过的结果分开存储,附带来源标签和置信度。
2. 高风险事实(金额、权限、审批状态、合规信息)不写入长期记忆,每次从权威来源实时查询。以官方页面为准的事项尤其如此。
3. 记忆要能追溯来源、接受审计,并且可以撤销;应当提供“遗忘”能力,定期抽查,不要让其变成只增不减、难以检查的内容集合。
4. 多租户、多智能体共享记忆时必须隔离,一条被污染的记忆会沿着协作链扩散。
对普通人来说,有两点简单做法:定期查看助手“记住”了你什么;对没确认过的事,明确说一句“这次别记下来”。
智能体的记忆越接近人的记忆,就越应该按管理公司档案的方式来管理它。
