目录
一,Memory是什么?
Agent Memory是专门为大模型设计的记忆系统,使Agent能够跨会话,跨任务持久保留和召回信息的外部记忆机制。有记忆的Agent,相当于存储了用户的档案。当你跟Agnert进行对话时会发现他会记得你个人的一些习惯,从而可以提升用户体验,更加方便的根据记忆来生成更准确的回答。
二,为什么大模型需要记忆
大模型本身是无状态的,它的所有上下文依赖本轮对话传入的 Token,一旦对话过长、超出上下文窗口、或者新开会话,模型就会遗忘之前的内容。
而Agent则需要处理长期运行的任务,在这个过程中学习用户偏好,跨会话和其他Agent进行交流。记忆,是让 Agent 具备“连续性智能”的基础。
三,记忆系统最初形态:使用模型上下文窗口模拟记忆
局限性:当上下文窗口中包含了很多与当前业务无关的信息时,模型需要在上下文中寻找和业务相关内容,这样就会导致模型某些重要方面的能力下降。最典型的就是下面的几种情况,也被称作上下文糜烂:
1,注意力被稀释:大量不相关信息混淆模型,导致关键信息被遗漏。
2,中间内容遗忘:当关键信息位于上下中间时,模型的召回率会降到最低,而开头或结尾的召回率通常更高。
3,上下文干扰:模型在上下文中检索到用户的多个习惯,但可能会存在冲突,就会导致模型无法做出正确判断。
当上下文窗口过大时,上下文 “信噪比” 就会上升,导致模型可能会忽略一些细小当至关重要的细节。
使用上下文窗口来模拟记忆还会导致使用模型的成本剧增,每请求都要携带大量历史token,token消耗剧增。
四,Agent 记忆分类
1. 短期记忆
主要作用:维护对话的连贯性,支撑多轮对话
本质:模型上下文窗口,具有一定局限性,受模型上下文窗口大小影响,记忆不被存存储到数据库,但访问快。
2. 长期记忆
长期记忆跨会话,持久存储,在需要时从数据库中进行查找
本质:使用向量数据库(相似信息存储位置接近)或传统数据库,容量可以无限大,数据声明周期长,但访问较慢
五,短期记忆三层复合架构
短期记忆的处理策略
1,滑动窗口:保留最近几轮对话,其他直接遗忘
2,Token截断:保留最近多少个Token(可指定)
3,摘要:模型定期把历史对话压缩成简短内容,保留压缩的摘要内容 + 最近的几轮对话
4,过滤:直接识别整个上下文的关键信息并存储
1. 缓存层(底层)
采用滑动窗口策略。只保留最新的若干轮对话原始内容。保证 Agent 最近的操作、指令、上下文完全准确
缺点:窗口有限,旧内容会被挤出缓存,不能无限保存。
2. 摘要层(中间层)
存储全局历史对话的摘要。
新摘要生成:旧摘要 + 被窗口挤出的历史对话 ,合并生成新摘要
优点
1,用极低 Token 承载超长会话历史
2,保证被滑动窗口丢弃的旧内容不会消失
3,保留任务主线、历史流程、用户长期需求
缺点:摘要会丢失细粒度信息,无法单独使用。
3. 事实(顶层)
存储的是对全程过滤出来的信息,随着对话轮次动态更新

六,三层短期记忆如何协同
1. 新对话进入:优先写入缓存层,保留原始细节
2. 缓存窗口溢出:旧原始对话移出缓存,送入摘要层合并更新全局摘要
3. 每轮同步:实时从对话中抽取、更新事实层结构化数据
4. 最终形成完整Prompt :系统提示词 + 事实层 + 历史摘要 + 最新窗口缓存 + 用户当前提问
这套组合。
七,长期记忆分类
程序记忆:存储如何做某件事情的流程,方法,用户习惯,通俗来说就是先怎么做,再怎么做,最后怎么做
情景记忆:用户个人在某天,发生了什么事
语义记忆:客观事实,比如中国首都是北京,1 + 1 = 2 就是无法改变的客观事实
八,长期记忆工作流程

存储,写入过程
用户的显式指令:用户要求要记住某条信息
短期记忆溢出:系统自动将关键部分摘要并存储,
会话终止:自动生成本次会话摘要并存储,
高频信号:同一内容在本轮对话中被多次提及
更新
用户显式纠正:用户明确指出错误
用户偏好发生变化:用户声明偏好变化
系统主动校验:用户根据新对话进行校验新旧信息的一致性

检索读取
根据当前用户从长期记忆中查询最相关的历史信息,并注入到上下文中来支持当前会话
触发时机
用户显式召回指令:用户明确要回忆之前的对话
强指代消解:用户在新对话中发出对之前的操作做进一步操作的指令
静态偏好:如用户说按照之前的什么模版或者方法来给我做个什么东西

几种检索方式
向量检索:将记忆作为向量存储,查询时通过余弦相似度检索到最相关信息
压缩摘要:定期将对话历史压缩为摘要进行存储,适用上下文窗口不足时的兜底
知识图谱:将记忆按照关系进行组织,支持因果推理
遗忘
用来主动淘汰过时,价值低的记忆,控制存储的规模,维持检索的信噪比
主要有精确删除,遗忘全部,时间衰退,低频率访问,容量限制等几种触发时机

九,总结
Agent 的记忆系统,是区别于普通对话大模型的核心点之一。
普通大模型:只有瞬时上下文,无状态、无记忆、无延续性。
Agent:通过缓存层(细节)+ 摘要层(过程)+ 事实层(关键) 三层短期记忆,搭配长期记忆,真正实现持续思考、持续做事、持续进化。
转载自 CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/2402_89127822/article/details/165749770




