AI Agent 越用越笨?2026年必须做的记忆遗忘机制
长期运行的 Agent 不是记性越好越聪明,记忆膨胀反而让它跑偏、变贵、变慢。本文拆解记忆污染的三种症状,给出分层记忆 + 主动遗忘的落地设计,附淘汰策略表。
每个做长期 Agent 的团队都踩过同一个坑:上线第一周很聪明,第三周开始犯轴,第六周重复犯早就纠正过的错。大家的反应通常是”模型退化了”,然后换更大的模型——钱花了,问题照旧。
真正的原因不在模型,在记忆。你把所有东西都记下来,等于把所有错误也记下来了。
一、记忆膨胀的三种症状
过时事实压过当前事实:用户一个月前说用 AWS,后来已迁阿里云。两条都在库里时,返回哪条很大程度看时间戳权重。老记录被召回,Agent 就会自信地给出过时答案。
中间过程污染结论:探索阶段的推测、失败的尝试、被否定的假设如果进了长期记忆,后续每轮都会被这些噪音影响。这种污染最隐蔽——推理链完全合理,只是前提已被推翻。
上下文被记忆吃掉:每轮先塞 8000 token 历史再思考,可用上下文越来越少、延迟越来越高,而有效信息占比不到 10%。
二、分层:把记忆拆成四层
| 层级 | 存什么 | 生命周期 | 淘汰策略 |
|---|---|---|---|
| 工作记忆 | 当前任务、工具结果 | 单次会话 | 结束即丢弃,只留摘要 |
| 情景记忆 | 事件、对话片段 | 数天到数周 | 按引用次数衰减,低频删除 |
| 语义记忆 | 事实、偏好、约束 | 长期 | 冲突即替换,带有效期 |
| 程序记忆 | 成功操作路径 | 长期 | 成功率低则降权 |
关键点:只有后两层值得长期保存。多数”Agent 变笨”的案例,都是把工作记忆和情景记忆原封不动塞进了向量库。
三、四个必须实现的机制
1. 冲突检测与覆盖。写入新事实前先检索同一主体的现有记忆。矛盾时按”新覆盖旧、用户陈述覆盖模型推断”替换,旧记录标记 superseded 而非物理删除。
2. 时间衰减与引用加权。每条记忆带 last_used_at 和 use_count,检索打分改为:
score = 相似度×0.6 + 时效性×0.25 + 引用频次×0.15
时效性用指数衰减,半衰期按领域定——用户偏好 30 天,项目状态 7 天。
3. 类型白名单。只允许四类内容进长期记忆:用户偏好、硬约束(预算/合规/技术栈)、已确认决策、稳定实体关系。
禁止:中间推理、模型猜测、一次性参数、情绪化表达。这条不能只写进 prompt,必须在写入侧做结构化校验。
4. 定期整理。像睡眠一样,每周跑一次离线任务:把同一项目的 20 条零散记忆摘要成 3 条结论,删原文、留溯源指针。实测能把语义记忆体积压到 20%,检索准确率反而上升。
四、怎么验证有效
三个指标,别靠感觉:
- 记忆命中率:注入的记忆中被实际引用的比例。低于 30% 说明注入太多。
- 过时答案率:抽查 100 条回答,看是否引用已推翻的事实。
- 记忆库增长率:健康的 Agent 记忆库应趋于稳态。跑满三个月,条目数应稳定在首月的 1.5 倍内;涨了 10 倍说明你只是在归档。
小结
记忆系统的难点从来不是”怎么记住”,而是”怎么忘”。分层、设有效期、允许覆盖、定期整理——四件事做完,同一个模型的表现肉眼可见地提升,成本不增反降。
下次 Agent 开始犯轴,先别换模型,先翻翻它的记忆库存了什么脏东西。