Agent技术解读:Memory记忆模块
创作时间:
作者:
@小白创作中心
Agent技术解读:Memory记忆模块
引用
1
来源
1.
https://www.53ai.com/news/LargeLanguageModel/2024081845381.html
记忆模块是Agent技术中的核心组件之一,它模拟了人类记忆的获取、存储和检索过程。本文将从记忆的定义、来源、保存方式和工作原理四个方面,深入解析Agent技术中的Memory记忆模块。
大半年前,介绍了基于LLM的Agent知识,文章《大模型智能体 LLM Agent》中提到:
Agent是大模型与场景间价值传递桥梁, 重要性不言而喻。
从功能上看,Agent有多个组件构成,规划、记忆和工具使用等
Agent
LLM
- Planning + Feedback + Tool use
今天聊聊其中的一个组件:Memory,记忆模块
什么是记忆?
记忆定义为用于获取、存储、保留和后续检索信息的过程,人类大脑中主要有三种类型的记忆。
- 感官记忆(Sensory memory)
- 记忆最早阶段,提供原始刺激结束后保留感官信息(视觉,听觉等)印象的能力,通常只持续几秒钟。
- 感官记忆的子类别包括图标记忆(视觉)、回声记忆(听觉)和触觉记忆(触觉)。
- 短时记忆(STM)或工作记忆(Working Memory)
- 存储了当下能意识到的所有信息,以及执行复杂的认知任务(如学习和推理)所需的信息,大概可以存储7件事,持续20-30秒。
- 长期记忆(LTM)
- 顾名思义,LTM可以将信息存储相当长的时间,范围从几天到几十年不等,具有基本上无限的存储容量。LTM有两种亚型:
- 1)显式/陈述性记忆,即对事实和事件的记忆,指那些可以有意识地回忆起来的记忆,包括情景记忆(事件和经验)和语义记忆(事实和概念)。
- 2)隐式/程序性记忆,这种类型的记忆是无意识的,包括自动执行的技能和例程,比如骑自行车或在键盘上打字。
对应语言模型概念:
- 作为原始输入(包括文本、图像或其他形式)的学习嵌入表征的感官记忆;
- 短期记忆就是上下文学习(in-context learning),非常短且影响范围有限,受到Transformer的上下文窗口长度的限制。
- 长期记忆作为智能体在查询时可用的外部向量存储,可通过快速检索访问。
可见,记忆模块像 Agent大脑,帮助积累经验,自我进化,让行为更加一致、合理和有效。
LLM Memory设计灵感来自人类记忆过程的认知科学研究。
- 人类记忆发展:从感觉记忆开始,它记录感知输入;然后是短期记忆,暂时保持信息;最后是长期记忆,在更长的时间内巩固信息。
Agent 记忆结构设计借鉴了人类记忆特点。 - 短期记忆类似受限于transformers上下文窗口的输入信息。
- 长期记忆则类似于外部向量存储,Agent可以根据需要快速查询检索。
LLM记忆从何而来?
记忆来源: 智能体记忆内容的出处。
三种类型记忆来源:
- ①内部任务信息(Inside-trial Information): 当前任务执行信息
- 单个任务或交互过程中收集的数据。仅与当前正在进行的任务有关。
- 一个对话人物, Agent 要记住上下文信息, 以便生成连贯的回应
- ②跨任务信息( Cross-trial Information ): 历史任务重的长期积累学习
- 跨越了多个任务或交互过程,它包括了Agent在不同任务中积累的经验、学到的教训以及可能的模式识别
- 旅行计划中, Agent 从用户预订过的机票酒店,用户反馈 这类跨任务信息优化改进执行策略
- ③外部知识(External Knowledge)
- Agent 与环境交互之外的信息。
- 可能是通过API调用、数据库查询或访问在线资源(如维基百科)等方式获得的
各个 记忆实现案例 分布对比 - 参考:Agent memory大揭秘:记忆从哪儿来?
其中,ExpeL的工作流程图包含以上三种方式
LLM记忆如何保存?
记忆如何保存? 文本形式、参数形式为主
文本形式的记忆和参数形式的记忆同样也是各有千秋,它们适合不同的应用场景。
- 如果要快速回忆最近的对话,文本形式可能更合适;
- 而如果要存储大量知识,或者需要一个稳定可靠的知识库,参数形式可能更有优势。
各种记忆形式案例总结 - Agent memory大揭秘:5种记忆形态,轻松拿捏
文本形式
分析
- 好处: 易于理解和实现,而且读写速度都很快。
- 但是,如果记忆太长,就会占用很多空间,影响处理速度。
文本形式记忆可进一步细分为几种类型: - 存储完整的交互信息: ReAct
- 最近的交互信息
- 检索到的交互信息和外部知识。
MemGPT 分别体现出了短期和召回记忆;
Qwen-Agent中,通过 chatml 特有多轮格式进行分割历史的会话,最后一轮才加上ReAct的prompt。
参数形式
这种方式更高级。不直接存储文字,而是把记忆转换成模型参数,就像是把知识压缩成精华。
- 好处: 不受文本长度限制,而且存储效率更高。
- 但是,写入时可能需要更多的计算,而且解释起来也不如文本形式直观。
参数形式的记忆则涉及更复杂的技术,比如: fine-tuning 和 editing。 - 微调可以帮助模型快速学习特定领域的知识
- 而知识编辑则可以精确地更新或删除某些记忆,避免影响其他无关的知识。
经典 Character-LLM: A Trainable Agent for Role-Playing,用微调方式
图谱
另外,也有更高级的形式:图谱
比如 微软推出的 GraphRAG,使用LLM从语料中挖掘实体、关系,组成知识图谱,供下游使用。
详见:https://microsoft.github.io/graphrag/
形态上越来越像人类。
不少人将知识图谱技术利用起来,比如 Neo4j,效果示例:
使用 Cypher语言查询节点,结果融入LLM
LLM记忆如何工作?
实际应用中
- 有些系统只模拟人类的短期记忆,通过上下文学习实现,记忆信息直接写在prompt中。
- 而有些系统则采用了hybird memory(混合记忆架构),明确模拟了人类的短期和长期记忆。短期记忆暂时缓冲最近的感知,而长期记忆则随着时间的推移巩固重要信息。
- 记忆格式上,可以自然语言或嵌入向量形式存储。
- 操作方面,Agent通过记忆阅读、记忆写入和记忆反思三个关键操作与外部环境进行交互。
- 记忆阅读: 提取有意义的信息, 以增强Agent的行动;
- 记忆写入: 将感知到的环境信息存储在记忆中;
- 记忆反思: 模拟了人类审视和评估自己的认知、情感和行为过程的能力。
记忆操作像 LLM大脑,三个部分组成:记忆写入、记忆管理和记忆读取。 - ①记忆写入: LLM短期记忆, 接收到新信息时(聊天),以特殊编码方式存入"大脑"
- MemGPT : 自我指导是否写入记忆,智能体根据上下文决定是否更新
- MemoGPT : 聊天时做总结, 提取对话片段的主题, 关键词形式保存,便于查找, topic,summary,dialogues
- ②记忆管理: LLM长期记忆, 整理短期记忆信息;信息归类, 找出最重要的部分,忘掉次要信息,保持大脑的清晰、高效
- MemoryBank : 智能体从对话内容中提炼每日大事记, 同时不断评估,生成个性特征
- Voyager : 智能体根据环境反馈优化记忆
- Generative Agents : 智能体自我反思,获取更高层次的信息. 从事件信息中生成抽象想法
- GITM : 记忆模块中总结多个计划的关键行动, 建立各种情况下的共同参考计划, 提取最重要的行动步骤
- ③记忆读取: 使用LLM记忆解决问题
- ChatDB : SQL操作完成记忆阅读
- MPC : 从记忆池里检索相关记忆, 使用思维链示例方式,忽略次要信息
- ExpeL : 用Faiss向量库作为记忆池, 找出与当前任务最相似的k个成功示例.
参考:Agent memory大揭秘:轻松搞定记忆写入、管理、读取
热门推荐
人事档案怎么存档
退烧后头晕呕吐怎么办?专家给出五大建议
如何提升科研管理效率?五个实用技巧让你的研究更上一层楼!
举例说明计算机专业毕业后能干什么?
如何优化大数据平台的存储方案
地西泮是什么时候上市的
拥抱成长型思维:解锁持续进步的人生密码
慢性支气管炎的综合治疗方案
什么是纯净物 纯净物的定义
一岁生日礼物指南:挑选外甥女的完美礼物
深度学习实战:如何绘制loss曲线图
3000元电子产品选购指南:性能、配置全解析
炮附子可以用制附子代替吗
中国域名中的ac代表什么含义?
中药汤剂太苦能加糖吗?试试这4个“减苦”小妙招
鸡蛋品牌归属,究竟属于哪一类商标?
微生物检测基础知识
秦汉时期汉文化的特点及成因
西餐番茄牛肉的制作技巧
全国各省“吃辣”大排名,榜首低调至极,不争第一,却被公认第一
文学技巧:从入门到精通的完整指南
如何分析集合竞价的交易量?这些数据对市场趋势有何指示作用?
家庭减肥运动指南:10个实用建议助你健康瘦身
深入解析二手烘焙设备出让合同的法律要点与风险防范
大型企业裁员潮持续,HR面临新挑战
武汉宝通禅寺旅游全攻略:门票、开放时间、交通及历史背景 🌿
草莓的营养盛宴:正确的施肥之道
多方证实法在信息验证中的重要性与应用探讨
网上药房的欺骗手段盘点 药品网购如何避免上当受骗
不动产登记所需资料及流程解析