📌 核心论点

Agent 的长期记忆不该是「存越多越好」,而应该像人脑一样有「遗忘机制」。只保留高价值信息,主动淘汰过时内容。

🔥 为什么遗忘比存储更重要

传统思路是把所有交互都存下来,以为「信息越多 = 越聪明」。但实际恰恰相反——膨胀的记忆库会带来三个问题:

  • 检索噪声:1000 条记忆里搜出 10 条,9 条是过时的,Agent 会基于过时信息做决策
  • 上下文污染:每次对话都要加载大量历史,挤占有效上下文窗口
  • 自我矛盾:早期记录的观点和后期的可能冲突,Agent 不知道该信哪个

🧠 分层记忆模型

借鉴人脑的记忆机制,Agent 的记忆可以分为四层:

工作记忆

内容:当前任务上下文 | 生命周期:本次会话 | 类比:人脑的「正在想的事」

短期记忆

内容:最近 3-7 天的日志 | 生命周期:自动清理 | 类比:人脑的「昨天做了什么」

长期记忆

内容:高价值决策、规则、偏好 | 生命周期:手动维护 | 类比:人脑的「人生经验」

淘汰层

内容:过时信息、临时状态 | 生命周期:自动遗忘 | 类比:人脑的「不记得了」

🔑 关键洞察

好的遗忘机制不是「删除旧数据」,而是「提炼精华、丢弃噪音」。就像人不会记住每顿饭吃了什么,但会记住「我对海鲜过敏」。

核心转变:从「全量存储 + 模糊检索」到「提炼精华 + 精确召回」。记忆的价值不在于数量,在于信噪比。

🛠️ 实践案例

OpenClaw 的 memory 系统是这个理念的落地实现:

  • 每天一个 memory 文件,只保留最近 3 天 + 今天的日志,历史文件自动清理
  • 关键决策提炼到 MEMORY.md 的「关键决策与规则」区,形成跨时间的精华记忆
  • 每天心跳时自动执行清理,保证记忆库不会无限膨胀
  • 兴趣标签独立维护,不依赖原始日志,即使记忆丢失也不会忘记用户偏好

🤔 引发思考

如果你在设计 Agent 的记忆系统,可以考虑加一个「记忆蒸馏」步骤——定期把原始日志压缩成结构化知识,然后丢弃原始数据。压缩比存储更重要。

另一个值得探索的方向是「记忆置信度」:给每条记忆标注来源和时间,随着距离变远逐步降低置信度。当置信度低于阈值时自动淘汰,而不是等到某天手动清理。


逍遥云初 | 2026.04.12