万字长文:大模型“记忆体”机制解析及研究方向
本文系统介绍了大语言模型记忆机制的研究进展与应用。首先阐述了记忆对大模型的重要性,指出记忆模块是LLM实现长期交互、个性化服务和动态知识更新的关键。文章从认知心理学、自我演进和应用需求三个维度分析了记忆机制的必要性,并详细探讨了记忆模块的设计要素,包括记忆来源(交互过程、跨交互历史、外部知识)、记忆形式(文本记忆与参数记忆)和记忆操作(写入、管理、读取)。文章还介绍了多种代表性记忆机制实例,如Re
在人类认知中,记忆是智能的基石,它使我们能够累积经验、适应变化并做出复杂决策。同样地,对于大型语言模型(LLMs)而言,记忆系统在很大程度上决定了它们能否真正实现长期交互、个性化服务和动态知识更新。最近,大语言模型在各种领域取得了惊人的成功,但传统的基础LLM往往倾向于一次性完成任务,并不具备与环境持续交互、自主学习的能力。要让LLM朝着通用人工智能(AGI)的目标更进一步,研究人员开始尝试赋予LLM-Agent(基于LLM的自主智能体)以“记忆”模块,使其能够像智能体一样在环境中不断积累知识、反思经验,并在后续决策中调用过去的信息。
从本质上讲,在大模型时代,记忆指的是AI系统保留、回忆并利用过去交互信息以改善未来响应的能力。没有记忆,智能体就无法根据历史调整行为,就无法在长对话中保持一致,更无法实现真正的自主演化。
埃利·威塞尔(Elie Wiesel 诺贝尔和平奖获得者)曾经说过:“没有记忆,就没有文化。没有记忆,就没有文明,没有社会,没有未来。
(Without memory, there is no culture. Without memory, there would be no civilization, no society, no future.)
https://cj.sina.com.cn/articles/view/2096315820/7cf33dac00101bz5k
”因此,无论是从人类智能启发,还是从打造更强大的AI代理出发,为LLM构建高效的记忆机制已成为学术界和工业界共同关注的前沿课题。
本文将系统介绍大模型记忆体(LLM Memory)这一研究领域的核心概念和最新进展。我们将首先回答“什么是大模型的记忆”,明确关键定义;然后讨论“为什么需要记忆”,从多角度阐述记忆模块的重要性;接着深入分析记忆模块的设计要素(记忆的来源、形式和操作),并列举当前具有代表性的记忆机制和实现框架;最后介绍该领域的评测方法与基准,并展望未来的挑战与研究方向。
什么是大模型的记忆?
大模型的记忆通常指LLM代理中用于存储和管理历史信息的模块,帮助模型“记住”交互过程中的重要信息,以供后续推理使用。从定义上可以分为狭义和广义两种视角:
狭义的记忆:专指LLM代理在运行过程中建立的、用于保存交互历史的外部存储模块。这部分记忆通常不包含在模型原有参数中,而是通过额外的数据结构(如文本日志、向量数据库等)记录对话内容、环境反馈等信息,供代理在需要时检索与调用。换言之,狭义记忆是LLM在推理时“外挂”的工作存储器。
广义的记忆:除了上述外部存储,也包括模型本身参数中所蕴含的知识。LLM经过海量语料训练,其参数中隐含了对世界知识的记忆,我们称之为参数记忆。与此对应,代理运行时维护的外部记录可称为非参数记忆或文本记忆。广义上,LLM-Agent的记忆系统应综合考虑模型固有知识和运行时新增信息,两者共同构成智能体的完整记忆。
需要注意,人类的记忆体系常被分为工作记忆(短期记忆)和长期记忆。同样地,在LLM代理中也存在类似划分:上下文窗口可被视为模型的即时工作记忆,其容量有限且会随对话轮数增长而被新信息冲刷;而通过记忆模块存储下来的历史则扮演长期记忆的角色。传统LLM缺乏人类般的记忆体系,往往将每次对话视作独立的episode,缺乏跨对话的持久记忆关联。因此最新研究提出引入类人工作记忆框架来增强LLM的记忆能力,例如引入集中式工作记忆中心(Working Memory Hub)以及情景缓冲区(Episodic Buffer),用于在不同对话回合之间保持连续的记忆链条。这种架构试图赋予LLM更持续的上下文连贯性,支持复杂任务中的细粒度推理和协作场景。
简而言之,大模型的记忆模块就是赋予LLM以“过目不忘”的能力——既包括模型训练时内化的长期知识,也包括交互过程中即时获取并保存的动态信息。
为什么LLM Agent需要记忆?
赋予LLM代理记忆能力的必要性,可以从以下几个角度来理解:
认知心理学视角:
人类智能依赖短期记忆与长期记忆共同运作。工作记忆让我们在当前任务中暂存信息,长期记忆则让我们保留经验和技能。同理,LLM若缺乏类似的记忆模块,就无法在长对话或连续任务中保持对先前情境的掌握,导致上下文碎片化和推理中断。研究指出,传统LLM代理缺乏跨交互情境的记忆深度和连续性,难以进行复杂推理。因此,引入记忆模块是为了弥补LLM在连续推理方面的先天不足,让其具备更接近人类的认知架构。
自我演进视角:
真正智能的Agent应该能够从过去的成功或失败中学习,逐步改进自身策略。LLM作为Agent,如果没有记忆,每次互动都将从零开始,无法累积经验。例如,Reflexion方法通过让代理将一次任务尝试中的错误记录下来,并在后续尝试时反思改进,实现了类似人类“试错学习”的能力。又如有些工作允许代理跨对话检索以往任务的细节,使其在重复任务时表现出渐进改进。这种跨回合的经验累积正是通过记忆模块实现的。可见,记忆赋予LLM代理一定程度的自适应、自主进化能力,让其朝着持续学习者的方向发展。
应用需求视角:
在实际应用中,许多场景都要求AI具有长久记忆和个性化能力。例如,作为个人助理的LLM需要记住用户提供的个人信息、历史喜好,以便提供贴心定制的服务;在角色扮演和社交模拟中,智能体需要记忆过去的互动以维持人设、一贯的性格特点;在开放世界游戏中,智能体要牢记已探索的区域、完成的任务和NPC关系等,以合理推进剧情。没有记忆,这些场景下LLM的表现将非常有限甚至无法使用。此外,对于代码助手、推荐系统等需要反复迭代的任务,记忆历史上下文能够提升响应的连贯性和正确性。正如一篇综述所言:记忆模块在强化LLM代理的长期交互能力、个性化服务以及动态知识更新方面起关键作用。
“记忆”使LLM代理真正成为“Agent”而非一次性回答机。正因为如此,人们将记忆模块视为LLM-Agent区别于原始LLM的标志性组件。有研究统计,截至2025年约85%的AI产品已集成某种形式的记忆管理机制,可见业界对这一能力的重视程度。
大模型记忆模块的设计:来源、形式与操作
要构建大模型的记忆,我们需要回答存什么、以何种形式存,以及如何存取这三个基本问题。对应地,记忆模块设计可以从记忆来源、记忆形式和记忆操作三方面展开。
1. 记忆的来源
记忆内容可以来源于LLM-Agent与环境交互的不同阶段和不同渠道:
- 交互过程内部(in-trial):
即当前对话或当前任务执行过程中产生的信息。例如,在一次对话中用户提供的新事实、代理执行动作得到的观察结果,都属于当前回合内需记忆的内容。
- 跨交互历史(cross-trial):
指先前完成的对话或任务中累积的信息。LLM-Agent可以从过去的多个session中提取经验,如以前解决类似问题的方法、失败的教训等。许多研究开始允许代理存取跨会话记忆,以提高长程任务的成功率。Reflexion就是一个典型例子——它不仅记录本次尝试的信息,也利用先前多次尝试的反馈来改进策略。
- 外部知识:
除了代理自身的交互经验,还可以将外部知识库视为记忆来源。例如接入互联网、文档数据库等,使LLM能够记忆并检索不在训练语料中的新知识。这方面和**检索增强生成(RAG)**技术有相通之处,即把外部知识作为模型的长期记忆供其查询。然而RAG通常针对静态知识,而这里更强调持续更新的知识库作为Agent的环境记忆来源。
简而言之,记忆来源涵盖内部交互日志、跨任务经验和外部知识三类。优秀的记忆模块往往综合利用多种来源的信息,使代理既不忘“小我”的经历,又能借鉴“大千世界”的知识。
2. 记忆的形式
存储形式决定了记忆内容如何表示和保存。目前主要有两大类形式:
- 文本形式的记忆(外部记忆):
以自然语言片段、符号或结构化数据的形式存储信息。例如,将对话记录直接保存为文本日志,或提取关键事实存入数据库/表格。这种形式的优点是可解释、易于扩展和编辑——开发者或用户可以直接阅读、修改记忆内容。例如有工作采用SQL数据库来充当记忆,通过查询语句检索所需信息。又如ChatDB系统中,智能体会生成SQL语句执行查询,实现类似人脑按需索引记忆的功能。文本化的记忆还包括向量表示存储,即将文本嵌入向量后存入向量库(如FAISS),在读取时通过向量相似度检索。本质上,向量库记忆还是存储了可解释的信息(文本片段)的某种索引。
- 参数形式的记忆(内置记忆):
指存储在模型参数权重或内部向量中的知识。LLM经过训练后,其参数以隐式方式编码了海量知识,可看作模型的长期“潜记忆”。参数记忆的信息密度极高,通过连续空间的向量表示丰富语义,相比逐字存文本要高效得多。同时查询也很快捷——模型权重可以被直接访问以回答相关问题,而无需逐条扫描外部记录。在信息丰富度和访问效率上,参数记忆有天然优势。
两种形式各有千秋:文本/外部记忆可读可写但相对低效,参数记忆高效浓缩但不可直接解释或即时更新。例如,当需要修改或注入新知识时,编辑外部记忆要容易得多,而调整模型参数则昂贵且存在遗忘副作用。因此许多系统选择结合两种形式:用参数记忆承载通用背景知识,用外部记忆记录动态信息。近期也有研究探索两者融合的新形式,比如通过生成式器官(Genomic Transformer)将外部记忆逐步吸纳进模型,但目前主流方案仍是参数+文本记忆分工。
3. 记忆的操作
有了存储介质和内容来源,仍需要设计操作机制来实现记忆的写入、管理和读取。对应地,记忆模块一般包含以下基本操作:
- 记忆写入(Memory Writing):
把新的信息存入记忆库的过程。当智能体接收到环境知觉或对话内容后,需决定哪些信息需要写入记忆,以及如何表示存储。简单策略是“有闻必录”,将原始信息不加筛选地全部存下;更高级的做法是提炼摘要或提取关系后再存。例如TiM模型会提取实体关系并存入一个结构化数据库,将相似内容归为一组以压缩存储。又如MemoChat在对话进行时,不断将近期对话的主题摘要生成关键字,作为索引存储。还有一些Agent采用自主写入策略:MemGPT代理能够根据上下文自行决定更新内存,无需人工设定规则,每当检测到重要信息出现就写入。总的来说,写入操作的核心是在信息完整和噪声过滤之间权衡,提取对后续任务最有用的内容进行存储。
- 记忆管理(Memory Management):
随着交互进行,记忆库会越来越庞大,因此需要对已有记忆进行组织和优化,包括融合、抽象和遗忘等机制。许多研究从人类大脑工作机制获得灵感,引入“回顾-反思”过程,让代理对已有记忆进行二次加工。例如,MemoryBank引入了反复摘要和反思机制:每天结束时代理将当天累积的对话提炼成高层次摘要,抓取关键事件,类似人类回忆一天中最重要的事。通过长周期的这种处理,MemoryBank代理还能逐步形成对用户个性特征的“洞察”,构建用户画像。此外该系统采用艾宾浩斯遗忘曲线理论来管理记忆强度:对长时间未访问的记忆逐渐减弱其权重,频繁使用的则加强巩固,从而模拟人类长期记忆的形成过程。另一方面,遗忘机制也很重要,代理会丢弃不相关或过旧的信息以腾出空间、避免干扰。比如Voyager在游戏环境中会根据反馈更新或舍弃无效策略的记忆,从而不断精炼行为。再如Generative Agents让角色在关键事件积累到一定程度时触发反思,生成更抽象的高层记忆(如角色的人生哲理),使得记忆体系呈层次化结构。记忆管理好的系统,能够让代理的知识与时俱进且保持组织良好,既不忘记重要事也不被陈旧信息拖累。
- 记忆读取(Memory Reading):
当代理需要利用过往信息进行推理决策时,就要从记忆库中检索相关内容并载入到当前上下文中。读取的关键在于相关性检索——记忆库往往包含海量条目,如何快速找到与当前任务最有关的那些,是系统设计难点。常见做法是通过语义相似度检索:例如MemoryBank使用双塔结构将每条记忆编码为向量,当前对话也编码为向量,然后利用FAISS近似最近邻搜索找出最相似的记忆片段。另一种思路是基于查询语言:ChatDB的代理在需要回忆时,会生成SQL查询语句对内存数据库进行查询,相当于让LLM自己形成检索指令来提取信息。还有工作引入了Chain-of-Memory(记忆链)机制,预先让模型列出一串可能相关的记忆标签,从而更有针对性地检索。此外,为避免干扰,有研究在读取时提供思维链提示让模型忽略无关记忆。无论技术细节如何,实现上经常采用向量索引库、知识图谱等作为后台支持。举例来说,ExpeL使用了一个FAISS向量池作为记忆库,每次查询返回与当前任务最相似的若干条历史轨迹,供代理参考。优秀的记忆读取机制可以做到既召回有用的信息,又不引入无关噪音,并能在复杂任务中结合多条记忆进行综合推理。
记忆模块的设计需要在写入、管理、读取三个环节形成闭环:不断记录重要信息,持续整理已有记忆,并在需要时提取相关知识支援决策。许多最新研究的精妙之处,正是在这三方面提出创新方案。下面我们通过几个典型工作来具体介绍大模型记忆机制的发展。
代表性记忆机制实例与进展
近年来,多种记忆模型被提出并应用到LLM代理中。下面列举若干具有代表性的方案,以展示当前“大模型记忆体”的多样化设计思路:
Reflexion (Shinn et al., 2023):
提出让代理在任务失败后进行自我反思,将本轮试错经验以及跨轮次的反馈写入记忆。具体来说,Reflexion在每次Agent行动后记录反馈,并在随后的对话中检索这些记录作为提示,指导模型避免重复错误。通过同时整合回合内和跨回合信息,该方法显著增强了代理解决复杂推理问题的能力。它证明了让LLM记住自己的错误并迭代改进,可达到类似人类逐步学习的效果。
论文地址:https://arxiv.org/abs/2404.13501
MemoryBank (Zhong et al., 2024):
这是面向长期对话场景的记忆方案。MemoryBank的特色在于引入动态记忆强化与遗忘机制:借鉴艾宾浩斯遗忘曲线模型,系统会逐渐减弱长期未使用的记忆权重,增强近期常用记忆,从而模拟人脑对记忆的巩固与淡忘过程。同时,它让代理在每日对话结束时生成高层次摘要,记录当天发生的主要事件,并不断累积对用户个性的“洞察”。也就是说,MemoryBank不仅存事实,还逐日提炼用户画像等抽象知识,使代理在长期陪伴用户的过程中变得越来越“了解”对方。实验中,它被用于创建一个名为“SiliconFriend”的长期AI陪伴聊天机器人,能够随着时间推移展现出更贴近用户的个性化行为
论文地址:
https://www.researchgate.net/publication/379280304_MemoryBank_Enhancing_Large_Language_Models_with_Long-Term_Memory
RET-LLM (Modarressi et al., 2023):
该方案旨在为LLM提供通用读写存储能力。RET-LLM设计了显式的Memory API,包括读操作(检索记忆)和写操作(记录记忆),可与环境交互过程结合。在实际应用中,它类似给LLM配备一个笔记本,LLM可以调用read(memory_key)去检索相关内容,或用write(note)将新信息记录下来。这种模块化读写接口使记忆管理变得清晰可控,也方便集成到各种agent框架中。RET-LLM在多任务环境中验证了其有效性,让LLM能够更灵活地调度内部记忆,相当于有了随时查询和更新自身“记忆库”的能力。
论文地址:https://arxiv.org/abs/2305.14322
Generative Agents (Park et al., 2023):
虽然最初是社会模拟方向的工作,但其内建的记忆机制非常值得关注。Generative Agents让多个LLM驱动的角色在虚拟社区中生活,对每个Agent维护一个长久记忆存储,其中记录了该角色经历的所有事件和感受。为了防止记忆爆炸增长,系统会为每条记忆分配一个“重要性”分数,当重要性累计到一定阈值时,触发角色的自我反思。反思过程将多条相关记忆提炼成更高层的抽象见解(例如“我似乎和邻居关系很好”),并写回记忆库。同时角色在每次行动前,会根据当前情境从记忆库中检索最相关的若干记忆(综合考虑相似度和最近性),拼接成提示,以保证角色行为的一致性和逼真度。Generative Agents开创性地展示了LLM利用记忆实现类人连续性和行为多样性的潜力,堪称记忆增强代理的里程碑。
论文地址:https://arxiv.org/abs/2304.03442
MemGPT (Packer et al., 2023):
这是一个受操作系统内存分层启发的架构。MemGPT将LLM的上下文记忆划分为双层结构:一层是主上下文(RAM),容量较小但读取迅速,在推理时直接作为模型输入;另一层是外部上下文(硬盘),容量大且持久,存放超出上下文窗口之外的信息。推理过程相当于在RAM中加载当前需要的内容,而久远或次要的信息则置于“硬盘”等待调用。这个架构还包含类似缓存的策略,会优先保留最近使用的信息以提升性能。MemGPT证明了将计算机体系结构理念用于LLM记忆管理的可行性,实现了对固定上下文窗口的突破。简单来说,它让LLM拥有了快速内存+大容量外存的组合,使长上下文处理更高效。
论文地址:https://arxiv.org/abs/2310.08560
ChatDB (Qian et al., 2023):
ChatDB将记忆存储与传统数据库技术结合,提出用关系型数据库来存储对话记忆。每轮对话生成的内容被结构化存入SQLite数据库中,并通过自然语言查询(LLM生成SQL语句)来检索过往信息。这一方案有趣地等价于在LLM外部附加了一个“知识库”并用NL->SQL作为接口。测试表明,相比将所有历史直接放入提示,不如让模型自己检索更为准确高效。ChatDB的成果表明,将记忆问题转化为数据库查询问题是可行的,并提供了记忆模块与现有数据库生态集成的新思路。
论文地址:https://arxiv.org/abs/2306.03901
(以上只是众多工作的冰山一角;此外还有Self-Controlled Memory、Hierarchical Memory、Graph Memory、Personalized Long-term Memory等诸多方向的探索,这里不一一赘述。幸运的是,目前已经有学者对这些研究进行了系统整理,并开发了工具库供社区使用。)
值得一提的是,MemEngine是近日发布的一个统一内存框架库。研究者梳理了近年大量记忆模型,并在MemEngine中以模块化方式实现了十多种典型记忆机制(如上文提及的MemoryBank、MemGPT、Generative Agents等)。
论文地址:https://arxiv.org/abs/2505.02099
MemEngine将记忆功能划分为三级:底层是通用记忆函数(如检索、总结等基础工具)供调用,中层是记忆操作(如写入、管理、读取的具体实现),高层则是记忆模型(完整的记忆方案组合)。通过这种分层设计,MemEngine实现了记忆模块的即插即用和组合复用,开发者可以方便地在不同Agent中切换或插入不同记忆模型进行试验。例如,只需修改配置文件即可让你的Agent从使用“长上下文记忆”切换为“MemoryBank机制”或“向量数据库记忆”等。MemEngine的推出表明,该领域的研究成果正加速沉淀为可复用的工程工具,这将有助于学术和工业界更快地探索高级记忆体对于LLM-Agent的作用。
NEW研究之一:M3-Agent-具有长期记忆的多模态智能体框架
论文地址:https://www.arxiv.org/abs/2508.09736
开源地址:https://github.com/ByteDance-Seed/M3-Agent
方法与架构
M3-Agent(Seeing, Listening, Remembering, and Reasoning)是字节跳动团队提出的一种多模态智能体框架,能够处理长时间的视频和音频输入,并构建可持久存取的长期记忆。该框架包含两个主要流程:首先是记忆化进程(Memorization),智能体对实时获取的视觉和听觉流进行分片处理(每 30 秒切分为一段 clip),提取关键的信息生成情景记忆(episodic memory)和语义记忆(semantic memory),并统一写入内部的“记忆图谱”结构。
接下来是控制进程(Control),当用户在任意时刻提出查询时,智能体会在记忆图谱中检索相关内容,利用大模型执行多轮推理整合信息,最终生成答案。这一架构使得 M3-Agent 能像人类一样“一边感知、一边记忆”,并在需要时从记忆中提取帮助完成复杂任务。值得一提的是,M3-Agent 构建在强大的大语言模型基础之上(底座使用 Qwen2.5-Omni-7B),分别针对记忆构建和任务控制进行了功能定制:记忆化模型负责将感知片段转换为记忆图谱中的节点信息,控制模型负责根据查询检索记忆并生成回答。训练过程中,记忆化模型使用了超过 70 万对 (视频片段,记忆) 的监督数据进行微调,控制模型则采用了强化学习(PPO)训练,并借助 GPT-4o 作为奖励模型优化答案的合理性。
记忆机制设计
M3-Agent 的核心是其长期记忆机制,以实体中心的多模态记忆图谱形式存在。具体来说,智能体以图结构来组织记忆:节点代表从环境中识别的关键实体、事件或场景等信息(例如人物、物体、地点和发生的事件);节点携带多模态内容,包括视觉模态的关键帧图像、听觉模态的音频嵌入特征,以及对应的自然语言描述。不同节点之间通过有向边相连,边的类型体现事件的时间先后关系、空间包含关系以及语义关联等。每当写入记忆时,记忆化模块对新的视频片段进行分析:检测并识别人脸、物体、环境等,转换为结构化的记忆节点(一方面记录具体情景内容,另一方面提取抽象语义信息)。这些节点被持续地加入记忆图谱,并通过边与既有节点关联,以更新环境知识。
管理记忆方面,M3-Agent 的记忆图谱采用实体为索引组织信息,使得相同角色或事物相关的事件形成连贯链条,避免碎片化;同时语义相似或相关的内容也通过关联边连接,方便后续按意义检索。在读取记忆时,控制模块会根据用户查询自动生成检索意图,通过匹配问题中的实体或语义线索,在记忆图谱中检索出相关节点子图。随后,控制模块基于检索的记忆内容与大模型进行多轮推理,必要时可以逐步引用图谱中的不同记忆节点,最终产出准确的回答。这种记忆机制借鉴了人类记忆的双重形式:情景记忆提供对具体经历片段的逐步累积,而语义记忆则逐渐沉淀出对环境的抽象知识。M3-Agent 将二者融合于统一的图谱中,使智能体对所处环境具有更深刻一致的理解和更持久的记忆能力。
创新点与特点
M3-Agent 的创新在于首次将图结构长期记忆引入多模态大模型代理。不同于以往仅依赖有限上下文窗口的多模态模型,该方法通过实体级别的记忆图谱突破了时长限制,实现“所见即所得”的持久记忆保存和调用。具体而言,相比过往视觉问答模型在几分钟视频后就遗忘早先内容,M3-Agent 能将长达数小时的视频内容存储为结构化知识图谱,哪怕在若干天后仍可精确定位并回忆特定细节。同时,该工作提出了情景+语义双层记忆的范式:情景记忆节点记录了时间序列上的具体观察(如人物在某时刻的动作),语义记忆节点则累积跨时间的知识(如角色身份、物体属性),这种分层记忆设计使模型既不会丢失细节,又能提炼一般知识,具备更类人化的认知能力。
在检索和推理方面,M3-Agent 实现了自主的记忆检索与多轮推理循环:控制模块能够根据任务需要反复查询记忆图谱中的不同节点,逐步缩小解答范围。这种Agent式的循环检索-推理机制结合了检索增强(Retrieval-Augmented)和逐步推理(Reasoning)的优点,让模型可以在广阔的长期记忆中挖掘线索,类似人类思考过程中在大脑记忆中翻找相关回忆并综合推理的过程。此外,为了评估多模态长期记忆的效果,作者构建了全新的M3-Bench基准,涵盖机器人视角和网络视频两类长视频数据,以及多种考察智能体记忆与理解能力的任务,这也是首个专门面向多模态智能体长期记忆的评测基准。
实验设计与评测方式
为了验证长期记忆机制的有效性,论文作者设计了 M3-Bench 长视频问答基准。该基准包括两部分:M3-Bench-robot收集了100段由真实机器人佩戴摄像头拍摄的长时第一视角视频(平均长达1.5小时),M3-Bench-web则汇集了929段来自互联网的多场景长视频(平均时长20分钟)。针对每段视频,基准提供了多轮的人类编写问答对,问题专门设计为需要利用长期记忆和跨模态理解才能正确回答。例如在人类家庭场景中,可能提问“37分钟后绿碗被放在哪里?”,要求模型回忆并定位对应画面;又如在跨模态场景中,可能提问“视频后半段出现的讲话内容与画面是否一致?”,需要模型综合语音与视觉记忆来判断。标注的问题类型主要覆盖人物识别与动态(如角色身份、情绪、行为)、物体跟踪与状态(如物体类别、位置变化)、事件因果(触发因素与结果)以及跨模态一致性(语音描述与画面是否匹配)等四大类。这些维度全面考察了智能体对人、物、事件的长期记忆及理解,以及融合多模态信息推理的能力。
在评测指标上,作者主要采用问答准确率来衡量模型能否基于记忆正确回答问题。实验中,M3-Agent 与多个基线方法进行了对比,重点比较了记忆能力对任务表现的影响。其中最强的基线是采用 GPT-4o 和 Gemini-1.5-pro 模型构建的提示式代理,它在没有显式长期记忆模块的情况下通过提示工程来处理长视频问答。结果显示,M3-Agent 明显优于所有基线:在机器人视角数据集上准确率比上述GPT-4o+Gemini基线高出 6.7%,在网络长视频集上高出 7.7%,在公开的长视频问答数据集 VideoMME-long 上也高出 5.3%。
综合来看,M3-Agent 相较传统不带外部记忆的多模态模型有约5–8%的准确率提升。这一显著优势验证了长期记忆机制对多模态任务的重要价值。当然,应当看到评测方式仍以问答准确率这一下游任务性能为主,并未对记忆模块本身进行独立测评。例如,尚没有单独度量“M3-Agent 能记住多少信息、遗忘速率如何”等指标。不过,由于问答对精准覆盖了各类记忆需求场景,模型在这些任务上的优劣已能反映记忆机制的有效性。总体而言,M3-Bench的任务设计合理且全面,涵盖了记忆广度(长时跨度、多样内容)和记忆应用深度(跨模态、一致性推理),为评估多模态智能体的记忆能力提供了有力依据。
开源资源与影响
M3-Agent 发布了完整的开源代码、模型和数据供研究者使用。项目源码托管在 GitHub(ByteDance-Seed/M3-Agent),其中包括从视频预处理、记忆图谱生成到推理问答的全套 pipeline 实现,以及基于 ByteDance Seed 团队强化学习框架 verl 的训练脚本。同时,作者在 Hugging Face 上公开了记忆化模型和控制模型的权重,方便直接加载使用;提供的模型权重采用 Apache-2.0 开源许可证,允许自由研究和应用。此外,完整的M3-Bench长视频问答数据集(包括视频片段和问答标注)也以 CC BY-4.0 协议开放获取,研究者可以在 Hugging Face Datasets 平台下载该数据。
我在写此文的时候整理资料发现了一个实践教程,这里引用一下:
https://www.xugj520.cn/archives/m3-agent-video-memory-guide.html
大模型记忆体在git上高热项目
我大体把这些项目做了一下分类
1、通用记忆层 / 记忆服务(直接给 Agent/应用加“长期记忆”)
2、框架内置 / 配套的记忆能力(与代理/工具链深度集成)
3、学术实现 / 参考基线(论文同名或官方代码)
4、第二大脑 / RAG 应用(强调个人或企业知识的“长期记忆化”)
类别 |
项目(GitHub 仓库) |
Stars(≈) |
核心定位 |
典型场景 |
关键特性/亮点 |
---|---|---|---|---|---|
通用记忆层/服务 |
mem0ai/mem0 |
38.3k |
通用长期记忆层 |
个性化画像、事件记忆、应用级持久化 |
即插即用;兼容多框架(含 LlamaIndex 插件/集成);生态活跃 |
通用记忆层/服务(图谱) |
getzep/graphiti |
16.9k |
图谱化/时序化记忆 |
多会话、跨时序抽取与装配 |
Temporal/Graph Memory;客户端多语言;工程化完善 |
通用记忆层/服务 |
MemTensor/MemOS |
2.3k |
“Memory OS”/统一记忆原语 |
端到端评测、方法对比 |
统一记忆 API;多基准对比(含 LOCOMO 等) |
通用记忆层/服务 |
memodb-io/memobase |
2.0k |
画像驱动的长期记忆中心 |
多产品/多角色应用记忆 |
Profile+Events;可部署(Helm/Playground) |
通用记忆层/服务(KG) |
kingjulio8238/Memary |
2.3k |
记忆层 + 知识图谱 |
Demo/PoC、ReAct Agent |
多图存储(Neo4j/FalkorDB);可视化面板 |
框架内置/配套 |
run-llama/llama_index |
43.8k |
数据/代理框架(内置记忆) |
应用内短/长时记忆 |
多种记忆对象(如摘要缓冲);与 mem0 等深度互通 |
框架内置/配套 |
openai/openai-agents-python |
13.7k |
官方 Agents SDK(会话记忆) |
快速构建可持久会话 |
Session + 可插拔持久化接口;与 OpenAI 生态直连 |
框架内置/配套 |
langchain-ai/langmem |
0.97k |
LangChain/LangGraph 长期记忆库 |
现有 LangGraph 应用加记忆 |
热路径记忆、后台管理、与 LangGraph 原生存储对接 |
学术实现/基线 |
letta-ai/letta(原 MemGPT) |
17.9k |
分层记忆/内存管理范式 |
记忆型代理样板 |
RAM/外存分层、回收策略、自我监控;论文引用广 |
学术实现/基线 |
Victorwz/LongMem |
0.81k |
长时记忆增强训练/推理 |
方法复现、研究对比 |
记忆库融合机制;NeurIPS 2023 论文同名实现 |
学术实现/基线 |
wangyu-ustc/MemoryLLM & M+ |
0.21k |
可自更新的长期记忆 |
训练/评测脚本 |
面向模型级记忆注入与检索;ICML 方向扩展 |
学术实现/基线 |
BytedTsinghua-SIA/MemAgent |
0.60k |
记忆增强代理 |
任务级记忆调度 |
检索/写入策略与代理调度细节清晰 |
第二大脑/RAG 应用 |
QuivrHQ/quivr |
28k–38k |
“第二大脑”/知识记忆前台 |
个人/企业知识助手 |
一站式 RAG/多数据源;常作长期记忆承载层 |
行为/体验记忆示例 |
joonspk-research/generative_agents |
19.5k |
生成式代理小镇(体验式记忆) |
拟人行为、教学演示 |
重要性评分、反思摘要、情境检索的标志性范式 |
整体来说:
-
要“即插即用/生产记忆层”:优先看 mem0、Zep/Graphiti、MemOS、Memobase(按你的数据拓扑/时序需求定)。
-
已有框架(LlamaIndex/LangGraph/OpenAI Agents):直接用其内置记忆或接 mem0/Zep。
-
做研究/基线复现:Letta(MemGPT)、LongMem、MemoryLLM、MemAgent 是常见“论文↔代码”桥梁。
-
做“第二大脑/知识助手”:Quivr这类平台可快速把记忆化的知识接到聊天/工作流。
总结一下:
花时间整理这个,主要是记忆体这个工作,后续的工程化要求极高,而且又是不可或缺的一个环节。目前模型“能力”的热度远远盖过了记忆体,但是并不是这个工作不重要。在AI落地和产品化的过程中,我们必须重视让ai像人类一样:“见闻广博且善于记忆总结”,这样才有真正的实用性。
AI来源于数据,最终也需要落回到数据本身。
其实在大模型学习过程中,很多人都会遇到共性问题:比如零基础刚接触编程环境搭建总出错,或是实战时卡在模型微调参数调试,又或是不确定自己的研究方向该侧重路线里的哪个模块。如果遇到这些困惑,不妨跟着老师系统的进行学习 —— 他们能根据你的基础(不管是学生还是职场转型)和目标(论文、竞赛或就业),帮你梳理适合的学习侧重点,还会分享一些脑图里没详细展开的实操资源,比如环境配置避坑手册、常用数据集获取渠道。另外,和同阶段学习者一起交流也很有帮助,大家可以组队打卡、分享实验心得,遇到难题时一起讨论,比独自摸索效率高很多。要是你也想获得这样的学习支持,随时能找到对应的沟通渠道,为自己的大模型学习之路多一份保障。
学习路线图内容非常多,详情请咨询☟☟☟
也能带着打天池、kaggle等竞赛
另外如果你想发高区论文的话我们也有对应的指导方式,大家需要的话可以添加助教老师,通过后咨询即可!欢迎大家前来咨询!
更多推荐
所有评论(0)