

你有没有想过,一个每天陪你聊天、帮你处理任务的AI助手,是怎么记住你上周说过的那句话的?
这事儿听起来简单,做起来却挺麻烦。AI助手要长期陪伴用户,就得有个记忆系统,把过去说过的话、做过的事都存下来,需要的时候再翻出来用。问题是,现在很多记忆系统有个共同的毛病:什么决定都要靠一个大语言模型去想。
存不存这条记忆?靠大模型想。这条记忆跟那条记忆有没有关系?也靠大模型想。查询的时候该去哪里找?还是大模型。要不要继续找下去?依然是大模型。
大语言模型*:一种通过预测下一个词来生成文字的AI模型,比如GPT系列,它擅长处理复杂、开放式的语言任务,但每次生成都需要逐字逐句地计算,速度慢,成本高。
这就好比你开了一家奶茶店,明明只是把糖多加一勺还是少加一勺这种简单判断,你却每次都要打电话给总部的首席运营官来拍板。首席运营官当然能拍板,而且拍得很准,但等他接电话、听你描述情况、给出指示,一杯奶茶都凝固了。如果不这样找总部,你可能会做错,但找了总部,你的店永远开不快。这就是很多AI记忆系统正在经历的困境:为了追求判断的灵活和准确,把简单决策也扔给了昂贵的大模型,结果整个系统被拖得又慢又贵。
这篇论文要解决的,正是这个问题。
被大模型拖慢的记忆系统,到底有多慢
我们先看看现状有多糟。
论文里测试了几个主流的AI记忆系统,在LoCoMo这个长对话记忆基准上跑分。
LoCoMo*:一个专门用来测试AI能不能记住超长多轮对话、并进行跨时间、跨因果推理的评测数据集。
跑分结果挺扎心。像A-MEM这样的系统,构建一次记忆库要花3636秒,将近一个小时。MemoryOS更夸张,每次查询要32.68秒,你问它一个问题,够你去接杯水回来了。这些系统之所以慢,本质上都是因为记忆的组织、判断、检索这些高频出现的小决策,都压在了大模型的生成链路上。
而在准确率这一头,当时表现最好的基线系统MAGMA,综合得分是0.700。这不算差,但也谈不上惊艳,尤其是在需要多步推理和抗干扰的题目上,表现明显吃力。
MAGMA*:一种用语义、时间、因果、实体四种关系图来组织AI记忆的系统,是本论文对比的强基线之一。
所以问题摆在这里:能不能既让记忆系统跑得快,又让它想得准?这篇论文给出的答案叫Jev-Mem,思路挺有意思,借用了心理学里一个很经典的概念。
系统一和系统二:给AI装两套脑子
心理学家丹尼尔·卡尼曼提出过一个理论,人的思维分成两套系统。系统一负责快速、直觉式的判断,比如你看到一张愤怒的脸,不用思考就知道对方生气了。系统二负责慢速、费力的深度思考,比如你解一道数学题,需要一步步推导。
系统一/系统二认知理论*:心理学中区分人类思维方式的一种框架,系统一指快速自动的直觉判断,系统二指缓慢费力的深度推理。
Jev-Mem把这套框架搬进了AI记忆系统的设计里。
论文作者的思路其实挺朴素:记忆管理里的很多决定,比如这条新信息是不是一个事件、两条记忆有没有因果关系、这次查询该往哪个方向找,这些问题的答案往往是是或不是、或者一个概率数字,根本不需要大模型洋洋洒洒写一段话再解析出来。这些活儿系统一就能干,快、准、便宜。真正需要深度思考的,是最后综合所有找到的证据、生成一个连贯回答这一步,这个才该留给系统二。
Jev-Mem*:这篇论文提出的新型AI记忆架构,核心是用一个轻量级的系统一控制器去管理记忆的存储和检索,只在最后答案生成时才动用重量级的大模型。
这里有个关键的技术支撑,叫Jev。
Jev*:一种可以直接输出结构化概率判断(比如0到1之间的一个数字,代表某个判断成立的可能性)的轻量级决策工具,不需要像大模型那样逐字生成文字再解析。
用Jev代替大模型去做那些高频、结构化的小判断,就像给一家奶茶店配了一个训练有素的店长,糖加多少、珍珠要不要多放一份,店长当场就能拍板,不用事事打电话给总部。真正遇到顾客投诉这种复杂棘手的事,店长再上报给总部处理。如果没有这个店长,每一个微小决定都要打给总部,那总部的电话线早就被打爆了,顾客也等得不耐烦离开了。
写记忆的时候,系统一到底在干什么
Jev-Mem把整个记忆的生命周期分成两条路:写入路径和读取路径。我们先看写入。
当一条新的观察信息进来,比如用户说了句"我的旧自行车坏了",系统会先给这条记忆打标签。它不是简单地分成一类,而是同时打四个分数:这条信息像不像一个具体事件(情节性),像不像一个通用事实(语义性),像不像一套操作流程(程序性),像不像一种偏好表达(偏好性)。
这四个分数是并行存在的,一条记忆可以同时是事件性的又是偏好性的,不冲突。
打完标签之后,系统要判断这条新记忆跟已有记忆库里的哪些记忆有关联。这里有个很实际的工程问题:如果每条新记忆都要跟库里所有旧记忆逐一比较,记忆库越大,计算量就越爆炸。
Jev-Mem的解法是分两步走。第一步用向量相似度、关键词重叠、共享实体、时间接近这些便宜的信号,先筛出最多几十个候选记忆。第二步才让系统一去判断这些候选里,哪些真的构成语义关联、因果关联、同一事件关联。
这个设计其实很像图书馆管理员整理新书。如果每来一本新书,管理员都要把它跟馆藏里的十万本书全部比对一遍,那这个图书馆永远没法开门。聪明的做法是先看这本新书的关键词和分类号,快速定位到"可能相关"的那一小片书架,再仔细比对那十几本书跟新书的关系。如果不做这个筛选,管理员累死也理不完新书;做了筛选,可能会漏掉个别边缘关联,但整体效率天差地别。
系统里维护了四种关系视图:语义关系、时间关系、因果关系、实体关系。这四种关系可以同时存在于同一对记忆之间,不是非此即彼的分类,而是叠加的标注。比如"旧自行车坏了"和"买了新自行车"这两条记忆,既有语义上的关联(都是自行车这个话题),也有因果上的关联(坏了导致买新的),还共享同一个实体(自行车)。
值得一提的是,系统在处理时间顺序和实体匹配时,会优先用确定性规则,比如时间戳直接排序、完全相同的实体标识符直接连接,只有在信息不明确的时候才动用系统一去做概率判断。这是一种能省则省的思路,确定的事情不用猜。
读取记忆的时候,检索变成了一个会自己刹车的过程
写入路径讲完了,我们看读取路径,这也是Jev-Mem设计里最巧妙的部分。
传统的检索方式,很多都是固定的"取前K个最相似的结果",简单粗暴。Jev-Mem不这么干,它把检索做成了一个闭环控制过程,会自己判断该往哪查、查多少、什么时候该停。
第一步是路由。系统会针对当前问题,分别估计四种关系视图(语义、时间、因果、实体)的相关程度,还会判断这个问题需不需要多跳推理,以及时间新鲜度有多重要。这几个判断是独立进行的,所以一个问题可以同时激活好几个关系视图。
比如你问"米拉什么时候买了新自行车,为什么买?",这个问题同时需要时间信息(什么时候)和因果信息(为什么),系统会同时激活时间关系图和因果关系图去查。
第二步是分配搜索预算。系统总共有个搜索"额度",比如论文里设的是80,这个额度会按照各个关系视图的相关程度分配,相关性越高分到的额度越多,但每个被激活的视图都能保底分到一点。
第三步是找入口。检索开始之前,系统先用向量搜索和关键词搜索找出一批"高质量入口点",这些入口点会通过一种叫倒数排名融合的技术合并两种排序结果。
倒数排名融合*:一种把不同检索方式(比如语义向量搜索和关键词搜索)的排名结果合并起来的技术,排名越靠前的结果获得的权重越高。
第四步,也是最有意思的一步,是评估要不要继续查。每完成一轮检索,系统就会问自己四个问题:现在收集到的证据够不够回答问题?还要不要继续挖?缺了什么关键信息?有没有互相矛盾的地方?只有当证据被判定为足够、没有明显缺口、也没有矛盾,检索才会真正停下来。
这个"自动刹车"机制特别关键。想象你在图书馆查资料写论文,如果你查到第一本相关的书就停下开始写,很可能漏掉关键论据;但如果你查了两百本书还不停,论文永远写不完,而且后面翻到的书大多跟主题关系不大,反而会让你的论证变得混乱。Jev-Mem的思路是让系统一直问自己"现在够了吗
盛达优配提示:文章来自网络,不代表本站观点。