Agent Memory Leaderboard
来自 AML 团队

AML 官方博客

来自 Agent Memory Leaderboard 团队的研究、技术实践与最新动态。

一起探索智能体记忆。
← 返回全部文章

AML榜前方案解读|ReFind 主动搜索原则,让 Agent 翻原始聊天记录

方案聚焦11 分钟阅读

记忆之巅排行榜

Agent Memory 没有唯一答案。

本次方案解读系列邀请记忆之巅排行榜 AML 榜前的开源、商业记忆方案,围绕AML第一期挑战赛,拆解各自如何写入、组织、检索和治理记忆。我们关注的不是排名,而是成绩背后的技术选择、工程取舍与适用边界。






AML 开源方法榜

第二名(文本赛道)方案解读


一套以“保留原始记录、查询时主动搜索”为核心的记忆方案

在 Agent Memory Leaderboard(AML)首期开源学术文本榜中,ReFind 以 44.97 分位列第 2。

从细分能力来看,ReFind 的显式事实召回达到 57.75,是总榜前三名中最高的;“结构化字段、集合与枚举抽取”得分达到 54.20,位列全榜第 2。

这些结果与 ReFind 的核心设计思路形成了呼应:面对超长聊天记录,我们没有预先使用大语言模型构建摘要、记忆条目、树或知识图谱,而是保留原始记录,为 Agent 提供一套类似人类“翻聊天记录”的主动搜索工具。




系统的核心架构与设计思路:

让 Agent 像人一样翻聊天记录




当前许多长期记忆评测,本质上都类似“大海捞针”:系统需要从数十万甚至更多 token 的历史记录中,找出一条曾经出现过、但在当时未必显得重要的信息。

这类信息不仅对模型困难,对人类同样困难。

例如,一位同事可能曾经在聊天中提到自己的生日。几个月后,如果有人突然问我“他的生日是几号”,即使我当时确实看过那条消息,也未必能够直接回忆起来。

但这并不意味着人类无法回答。

我们通常不会尝试在大脑中重新回忆全部聊天内容,而是打开聊天软件,搜索同事的名字、“生日”“礼物”等关键词,查看命中消息的前后文;如果没有找到,再换一个关键词,或者缩小到某段时间继续搜索。

换句话说,人类应对这类低频、低重要性但需要精确回答的信息时,依赖的往往不是内部记忆,而是对外部记录的主动查找。

ReFind 的设计正是受到这种行为的启发。

我们保留未经摘要和改写的原始聊天记录,并模拟了人类翻找聊天记录时常用的几种操作:

  • 多轮搜索:第一次没有找到答案时,可以根据中间结果修改关键词并继续搜索;

  • 上下文窗口浏览:找到一条命中消息后,同时查看它前后的对话,而不是只看一个孤立句子;

  • 时间过滤:根据问题中的时间线索缩小搜索范围;

  • 已读过滤:避免在有限的搜索轮数中反复查看已经检查过的记录;

  • 会话级排序融合:如果同一场对话中有多条消息同时命中,就提高整个会话的优先级。

在具体实现上,ReFind 使用轻量的词法索引定位候选对话,由一个检索 Agent 决定下一步应该搜索什么、是否需要继续搜索,以及哪些证据值得保留。Agent 找到的证据最终会按照会话和时间顺序整理,再交给回答模型完成推理。AML 版本只负责返回检索证据,最终回答由榜单统一的 Answer 流程生成。

消融实验证明,这些组件均对整个系统的性能产生了正面的影响。




关键取舍:

放弃预先构建,把计算成本移到查询时




ReFind 做出的一个核心取舍,是放弃在写入阶段由 LLM 预先构建记忆。

许多记忆系统会在 Add 阶段生成摘要、事实条目、实体关系、层级结构或其他中间表示。这些结构可以降低后续查询延迟,也有助于进行抽象和聚合,但它们同时要求系统在问题出现之前,就决定哪些信息重要、应该怎样组织,以及哪些细节可以舍弃。

任何预先生成的表示都不可避免地包含信息选择和压缩。正如 GAM (General Agentic Memory Via Deep Research)对记忆抽取信息损失问题的讨论所指出的,原始消息仍然是不可替代的证据来源。GAM 因此保留 raw-message page store,并允许 Researcher Agent 回到原始记录中进行多轮研究式搜索。

ReFind 在这个方向上走得更加彻底:对于现有大量以精确召回为核心的评测任务,我们认为不一定需要提前构建复杂的语义记忆。只要 Agent 能把相关原始记录充分找出来,状态变化、信息删改、时间关系和多跳组合等问题,都可以在测试阶段利用语言模型的推理能力解决。

例如,用户先说“我住在北京”,后来又说“我已经搬到上海”。系统不一定需要在写入阶段维护一个始终更新的“当前城市”字段。只要检索阶段能够同时找到两条记录,并保留它们的时间顺序,回答模型就有机会在 test time 判断哪条信息更新。

这里存在一个明确的 trade-off。

预构建型方法将计算成本放在写入阶段:每产生一批新记录,就需要抽取、总结或更新索引,但后续查询通常更快。

ReFind 则将更多成本放到实时搜索阶段:Add 基本不需要 LLM 处理,但在真正收到问题后,检索 Agent 可能需要进行多轮搜索。

我们认为,这种成本分布在真实场景中可能是合理的。

普通用户每天会产生大量对话,但真正需要从数月历史中“大海捞针”的查询,可能只占很小一部分。如果系统为每一条消息都提前调用 LLM 构建记忆,而其中绝大多数信息永远不会再次被查询,那么大量预处理成本实际上没有被利用。

相比之下,只在确实需要时启动较昂贵的主动搜索,长期总成本反而可能更低。

不过,这仍然是一个需要进一步验证的假设。目前缺乏足够的真实用户查询分布数据,能够告诉我们:

  • 用户产生多少历史信息;

  • 其中多少信息会在未来被重新查询;

  • 查询通常需要多深的搜索;

  • 预构建与实时检索的长期成本交点在哪里。

因此,我们现阶段更愿意把它表述为一种值得验证的系统取舍,而不是已经得到证明的普遍结论。




我们如何理解本期 AML 的结果?




从本期 AML 开源榜单来看,排名前两位的 InvMem 和 ReFind 都没有依赖 LLM 在写入阶段预先构建复杂的记忆结构。

这一结果在一定程度上符合我们的预期。

当评测只包含一个或少数几个数据集时,针对特定任务设计的复杂结构可能获得明显优势。但随着 benchmark 数量和能力类型增加,最终分数需要在更多任务上取平均,结构越复杂,系统中与特定数据分布绑定的假设通常也越多。

某种结构可能适合多跳问答,却不一定适合精确字段抽取;可能有利于摘要,却会损失原始数字和枚举项;可能能压缩长期信息,却在状态变更时引入额外的更新机制。

相对简单的方法虽然未必在每一种能力上都最强,但通常具有更少的前置假设,也更不容易因为某一种数据形式发生变化而失效。

这与奥卡姆剃刀的直觉相似:如果两个系统都能解释和完成当前任务,那么假设更少、组件更简单的方案,往往更容易跨任务保持稳定。

ReFind把“信息组织”的一部分工作推迟到问题已经明确之后。相比在写入阶段猜测未来需要什么,系统可以根据当前问题决定哪些记录值得搜索、哪些上下文需要展开,以及哪些信息应当组合起来。

当然,我们并不认为本期榜单已经证明“越简单一定越好”。榜单结果只对应特定赛道、数据集、系统版本和评测快照。更准确的结论是:在当前以精确检索和证据恢复为主的评测分布下,无预构建、面向原始记录的主动搜索是一条非常有竞争力的技术路线。




下一步:

原文检索是必要的,但并不充分




ReFind 想强调的一点是:原文检索能力应当是长期记忆系统的重要组成部分。

无论系统预先生成摘要、记忆条目还是知识结构,都不可避免地会对信息进行选择与压缩。如果被省略的细节在未来突然变得重要,系统就必须具备回到原始记录中重新查找证据的能力。

ReFind 已经在原文检索这条路线上做出了一系列尝试,包括多轮搜索、局部上下文浏览、时间过滤、会话级排序融合和已读过滤。

但我们同时认为,原文检索并不足以解决完整的 Agent Memory 问题,而且它存在一种系统性的失效场景。

这个问题出现在 query 和 target memory 之间没有直接语义关联时。

假设用户现在说:“我想养一只猫。”

在数月前的聊天中,用户曾经提到:“我家里养了很多百合花。”

“养猫”和“家里有百合”在词面和通常的语义向量空间中并不相似。然而,后者对于回答前者非常重要,因为百合对猫具有严重毒性。

一个基于当前 query 进行检索的系统,很可能只会搜索宠物、猫粮、品种或饲养经验,而不会想到应该搜索“百合”。目标记忆没有进入候选上下文,后续语言模型即使具备“百合对猫有毒”的知识,也没有机会把这条知识与用户的真实环境联系起来。

注意,上述场景与状态变化、多跳推理和时间推理存在本质区别。对于状态变化问题,只要系统把新旧两条记录都找到,语言模型通常可以在测试阶段判断哪条信息更新。对于多跳问题,只要不同证据能够通过某些实体或线索逐步连接,Agent 可以利用多轮搜索沿着线索继续追踪。但当 query 与真正重要的 target memory 没有可用于召回的语义线索时,问题并不是“推理能力不够”,而是相关记忆根本没有进入模型上下文。

如果候选生成完全依赖 query-conditioned similarity,那么在召回阶段,目标记忆几乎已经被提前排除。后续再强的 test-time reasoning,也无法推理一个自己从未看到的用户事实。

然而,目前许多 Agent Memory benchmark 仍然主要围绕“大海捞针”式任务展开。尽管它们已经加入状态更新、多跳组合、时间推理、遗忘和摘要等能力,这些任务中的问题与目标记忆之间通常仍然存在可识别的词法或语义联系。

这类 benchmark 非常适合评估系统能否从大量无关信息中找到证据,也恰好给了 ReFind 这样的主动搜索方法较大优势。但它们还没有充分覆盖“当前问题与关键记忆在语义上并不相似”的场景。

因此,我们进一步提出了一个新的 benchmark:InMind。

InMind 专门研究 Agent Memory 中的“隐式关联盲区”:一条用户记忆对当前决策非常重要,但只有结合外部世界知识,系统才知道应该把它召回。

InMind 包含 125 个经过专家核验的任务,覆盖十个生活领域。实验中,当决定性记忆被直接放入上下文时,回答模型在间接问题上可以达到 84.0%;但当同一条记忆必须先由记忆系统检索出来时,测试的六种向量、图和 Agentic Memory 系统最高仅达到 14.4%。

这一结果说明,问题的关键不是模型缺少知识,也不一定是系统没有保存记忆,而可能是系统根本不知道:在当前问题出现时,哪些看似无关的历史信息应该被重新带回上下文。

这也是我们接下来最想探索的方向。

未来的 Agent Memory 系统不能只依赖“问题来了以后,搜索与问题最相似的记忆”。它还需要一种更主动的记忆路由机制:判断哪些用户事实具有长期影响,哪些风险和约束应当持续可见,什么时候应该在用户没有明确提及的情况下主动唤起某段历史,如何唤起这段可能语义并不相关的历史,以及如何在这种架构下兼顾成本与性能。

ReFind 和 InMind 是互补的两面(它们也分别对应人类处理记忆的2种方案——写在笔记本里,和记在脑子里):

  • ReFind 说明,在现有大量精确检索任务上,保留原始记录并让 Agent 仿照人类主动搜索,可以成为一种简单而强大的方案;

  • InMind 则说明,即使把多轮检索做得足够好,query-conditioned retrieval 本身仍然存在边界。




结语




ReFind 的出发点来自一个简单观察:人类不会记住每一条聊天信息,但需要时会回到原始记录中反复搜索。

我们将这种行为转化为一套 Agent 可调用的搜索接口,并在 AML 首期开源榜中验证了这条路线在显式事实召回和结构化信息抽取上的竞争力。

与此同时,我们也不认为主动搜索可以完全解决 Agent Memory。

原始记录为系统保留了信息上限,多轮搜索提高了精确证据的可达性,但真正困难的问题可能发生在查询与关键记忆之间不存在显式联系的时候。

从 ReFind 到 InMind,我们希望研究的问题也由此发生了变化:

不仅要让 Agent 更会搜索,还要让它知道,什么时刻应当想起哪些记忆,以及哪些记忆值得被“刻在脑子里”。

相关资料

· ReFind 论文

When Your Agent Opens the Chat App: Agent-Controlled Search over Raw Chat Logs Rivals Structured Memory

https://arxiv.org/abs/2608.12888

· ReFind 代码

https://github.com/imlrz/ReFind

· InMind 论文

Keep It InMind: Benchmarking the Implicit-Association Blind Spot in Agent Memory

https://arxiv.org/abs/2607.24368

· InMind 代码

https://github.com/imlrz/InMind




  • 团队名称:跨媒体智能

  • 团队成员:李睿哲、杜铭轩、徐本峰、付哲仁、陈伟东

  • 指导老师:张立成、毛震东

内容说明:本文所涉及的系统架构、技术实现、数据分布、相关讨论等由 Refind 团队提供,仅代表该团队对自身方案的介绍与理解,不代表 Agent Memory Leaderboard(AML)的官方技术立场或推荐意见。

AML 仅对文中引用的对应评测周期、赛道、组别、参评版本及正式榜单成绩进行核验。

本文不构成对该方案在所有场景下的效果保证、产品推荐或采购建议。