做了两年AI开发,我一直在为一个问题头疼:怎么让AI记住用户的信息?
传统方案就是RAG——把数据切碎、嵌入、存到向量数据库里,用的时候再检索。听起来完美,实际用起来全是坑。
直到今天看到这个成绩单,我手里的向量数据库突然就不香了。
99%是什么概念?
一个叫Supermemory的团队,搞出了一个叫ASMR的系统,在AI记忆领域公认最难的考试——LongMemEval上,刷到了99%的准确率。
LongMemEval有多变态?
它不是简单问"用户叫什么名字"这种送分题。它给你11.5万Token的对话历史,里面充满了互相矛盾的信息、跨越多个会话的零散事件,还要你做时间推理。
比如用户三个月前说住北京,两个月前说搬到上海了,上周又说回北京了——现在问"用户住哪",你得答对最新的那个。
传统向量搜索在这种场景下直接瘫痪,因为"北京"和"上海"语义上都相关,它根本分不清哪个是最新的。
但ASMR做到了99%。不是靠什么更牛的向量算法,而是直接把向量数据库扔了。
不用向量数据库,那用什么?
ASMR的做法极其"暴力",但极其有效——用多个AI Agent并行干活。

ingestion阶段,派出3个"观察者Agent",背后由Gemini 2.0 Flash驱动。它们不是简单分块,而是并发阅读原始对话,围绕六个维度做定向提取:个人信息、偏好、事件、时序数据、信息更新、助手信息。
Agent 1读会话1、3、5,Agent 2读2、4、6,分工明确,并行推进。
检索阶段更狠。收到问题后,不是去查向量数据库,而是再派3个"搜索Agent"出去主动推理:
- Agent 1:找直接事实和明确陈述
- Agent 2:找上下文线索和暗示
- Agent 3:重建时间线和关系
最后由编排器汇总三个Agent的发现,用原文逐字片段做细节验证。
翻译成大白话就是:不是靠数学公式找"最像"的答案,而是派三波人去看原文,各自推理,最后交叉验证。
8个AI同时回答,答对就算赢
光检索还不够,回答问题的环节ASMR也玩出了花。
他们试了两种模式:
8变体集群——把检索到的上下文同时发给8个高度专业化的AI,比如"精准计数器""时间专家""Context Deep Dive"等。8条推理路径中任何一条答对,就算正确。这个模式拿下了98.6%。
12变体决策森林——12个AI独立回答,再用一个"聚合大模型"做裁判,通过多数投票、领域信任度来出最终答案。这个模式拿了97.2%。
思路很直接:与其让一个AI猜,不如让一群专家同时审,交叉验证。
这让我想起一句话:三个臭皮匠,顶个诸葛亮。只不过这里是八个。
团队野心不止刷榜
ASMR背后是一个叫Supermemory的完整产品。
核心逻辑就一句话:RAG不等于记忆,这是两件事。
RAG不认人。今天给张三返回的结果和明天给李四一模一样。但Supermemory会从对话中主动提取事实、追踪变化、处理矛盾,甚至自动遗忘。
举个例子:你上个月跟AI说"我住北京",这个月说"搬到上海了"。RAG会把两条都丢给大模型让它猜。Supermemory知道后者覆盖了前者,只返回"上海"。
更狠的是"自动遗忘"机制。"我明天有个考试"——这条信息到期自动失效,不会变成永久噪音。
50毫秒,一次API调用,你的AI就知道对面坐的是谁。
这事为什么重要?
过去两年,所有人都在卷参数、卷速度、卷上下文窗口。128K、200K、1M的上下文窗口一个比一个大。
但问题是:对话结束,全清空。下次见面,AI还是那个"失忆的天才"。
现在Supermemory给出了另一个思路:不跟OpenAI卷上下文,直接从记忆层面解决问题。
11.5万Token的对话历史,ASMR用6个Agent就能精准检索。不需要更大的上下文窗口,不需要更贵的嵌入模型,不需要复杂的向量数据库。
npm装一个包,几行代码就能给自己的Agent加上记忆能力。Claude Desktop、Cursor、Windsurf、VS Code都能用。
代码4月初开源。
说句心里话
作为一个天天跟RAG打交道的人,看到ASMR的成绩单,第一反应不是兴奋,是后怕。
后怕的是,我们花了大量时间在调向量数据库、优化嵌入策略、写复杂的检索逻辑,结果人家直接把这条路弃了,换了一套完全不同的打法,成绩还好几个数量级。
这给所有做AI应用开发的人提了个醒:当所有人都往一个方向挤的时候,有时候跳出来换个视角,反而能打开新世界。
向量数据库不会死,但"纯靠向量搜索解决记忆问题"这个假设,可能真的需要重新审视了。
你怎么看?你现在的AI项目是怎么处理记忆的?评论区聊聊。