群发资讯网

如果你用AI推进过周期比较长、环节比较复杂的项目,大概率遇上过一个很头疼的问题——记忆管理。 为了不让它忘记前面的要求,我们只能不断补充上下文、整理摘要,或者单独搭一套RAG,把相关信息重新找回来。 但最近,我注意到一个专门研究这个问题的开源模型,叫MemT 1.0。 它最近在Hugging Face上热 ​

如果你用AI推进过周期比较长、环节比较复杂的项目,大概率遇上过一个很头疼的问题——记忆管理。

为了不让它忘记前面的要求,我们只能不断补充上下文、整理摘要,或者单独搭一套RAG,把相关信息重新找回来。

但最近,我注意到一个专门研究这个问题的开源模型,叫MemT 1.0。它最近在Hugging Face上热度非常高,上线首周的日均下载量就超过了1万次。

这个团队选择了一条很有意思的路线,它通过模型学到的读写机制,把历史信息更新到一份动态记忆状态中。这份状态可以单独保存,也可以在新的会话里恢复,继续影响模型之后的回答。

这让我开始思考,当AI可以保存自己的记忆状态,长期Agent会发生什么变化?

1先聊一个很现实的问题。现在的大模型已经支持几十万甚至上百万Token,为什么还需要重新研究记忆?

关键在于,上下文和记忆解决的是两类问题。长上下文解决的是模型一次可以读多少内容。但在一个长期运行的系统里,历史越积越多,计算、存储和信息筛选的压力也会不断增加。

而且历史信息变多以后,模型不一定知道哪些内容真正重要。RAG可以把历史切成文本片段,需要时再检索回来,但这套方案仍然需要处理切分、向量化、排序、更新和冲突。

一个Agent运行几个月以后,可能积累大量聊天记录、用户偏好、项目规则和任务结果。如果每次执行任务前,都要重新读取这些信息,窗口再长也会逐渐变成负担。

MemT想处理的,正是这种长期状态如何延续的问题。

2过去,模型想知道之前发生了什么,通常需要重新读取历史文本。

但MemT尝试让模型通过学到的读写机制,把信息更新到动态记忆状态中。后续回答可以直接读取这份状态,省去重复加载原始对话的过程。

官方模型卡展示了一个很直观的例子。先告诉模型一只小猫的名字、年龄和饮食偏好,再把记忆保存成状态文件。关闭原会话以后,用这份文件创建一个消息数量为零的新会话,模型依然能够回答小猫的年龄。模型权重没有变化,原始聊天记录也没有被重新载入。

这里发生的变化是,记忆可以从一次对话中分离出来,被保存、恢复,再进入下一段交互。记忆也由模型外部的资料管理,进一步变成模型计算过程中的一部分。

这和单纯给聊天记录加一个数据库,是两种完全不同的思路。但我更关注的是,如何写入、更新和调用这份记忆,本身也成为模型通过训练学到的能力。

3这条路线对Personal Agent尤其重要。长期Agent需要积累用户偏好、项目规则和操作习惯,也要延续过去完成任务时形成的程序性经验。

这些内容很难简单归纳成几条个人信息,更像是双方在长期协作中逐渐形成的工作方式。

MemT的技术报告也展示了类似方向。它把原生记忆用于编程Agent,让模型在不把经验文本重新塞进上下文的情况下,继续调用此前保存的程序性经验。

未来Agent之间的差距,可能会越来越取决于谁能保持长期连续性,并把过去的经验真正用在下一次行动里。

当然,MemT 1.0还没有解决所有记忆问题。它的记忆状态大小相对固定,历史越长,需要压缩进去的信息就越多,细节也可能在这个过程中丢失。

官方评测中,Flash和Nano在被评测的参数化记忆方法中排名第一、第二,但强文本记忆系统在长历史细节检索上依然更有优势。

因此,原生记忆更可能与RAG、文本记忆和长上下文配合使用。我倾向于这种分工,模型状态负责保存偏好、习惯和程序性经验;RAG负责找回事实、文件和可追溯的证据;长上下文则处理当前任务中需要完整阅读的信息。

MemT 1.0的价值,在于它把另一条记忆路线做成了可以训练、保存和恢复的模型能力。但当记忆开始长期影响Agent的行为,新的问题也会随之出现。

当用户改变偏好时,旧记忆能不能及时更新?当一段错误经验被写入以后,系统如何发现它?当记忆影响了模型的判断,我们能不能知道影响来自哪里?

当AI可以保存自己的记忆状态,接下来更难的事情,是让它记住该记住的,忘掉该忘掉的,并在记错以后依然有机会纠正。