大模型---Agent的遗忘方式
目录
1.Encoding-time Filtering
2.时间衰减遗忘
3.Generative Agents
4.TTL
5.temporal knowledge graph
6.合并去重
7.MemGPT
8.用户删除
Agent会受限于大模型的有限上下文窗口,长期运行时,对话记录和中间结果会迅速占满窗口,若不主动丢弃旧内容,则无法继续处理新信息;同时,过时的用户需求或已被修正的中间结论会误导后续决策,增加噪音和计算开销。因此需要通过合理的遗忘方式,提升Agent的准确率。
1.Encoding-time Filtering
LangGraph文档把AI Agent的长期记忆分成 semantic memory、episodic memory、procedural memory,并强调长期记忆设计要先回答“记什么类型的memory”以及“什么时候更新memory”。长期记忆系统不应该把所有对话都写进去。例如用户稳定偏好,长期项目的状态等适合写入长期记忆,而一次性任务,未确认的推测等等,就不适合写入长期记忆。
2.时间衰减遗忘
参考论文:2305.10250
这是最经典的长期记忆遗忘机制,其引入受Ebbinghaus Forgetting Curve启发的memory updating mechanism,使 AI 能根据时间流逝和记忆重要性选择性遗忘或强化记忆。
以上是MemoryBank架构,左上角为长期记忆存储,其中存储了三类内容,原始历史对话,按日期存储(Past Conversations),从历史对话中总结出的事件(Event Summary),从长期互动中抽取出的用户画像(User Portrait)。
左下角为记忆更新与遗忘,MemoryBank会根据时间推移和记忆重要性来选择性遗忘或强化记忆。每条记忆都有一个强度值,在论文的定义是:
强度越高,越容易被检索出来,强度越低,越不容易进入后续prompt。
Ebbinghaus Forgetting Curve遗忘曲线的基本思想是记忆会随着时间自然衰减;越久不用,越容易被遗忘。在MemoryBank里就是时间越久,记忆强度下降;记忆越重要,下降越慢。
MemoryBank的设计不是只针对遗忘,而是根据时间和相对重要性实现forget and rei
