Textual Memory
Long-context, persona, script, and conversation-memory benchmarks.
在统一评测流程下,对文本、多模态和编程智能体记忆系统进行比较的公开基准平台。
Each track keeps its own result table and detailed metric breakdown.
Long-context, persona, script, and conversation-memory benchmarks.
Memory retrieval and generation over image-rich or multimodal tasks.
Agent memory support for coding tasks and repository-context recall.
Open-source methods and commercial products both use participant-hosted Add/Search APIs. AML does not deploy repository-only submissions.
Operate publicly reachable Add/Search endpoints and submit the fixed API version for review.
Use the issued key to verify the synchronous Add/Search flow.
After smoke passes, submit the full scored evaluation.
Use the product pages to inspect rankings, run evaluations, and prepare an integration.
Public ranking with filters, dataset columns, and score bars.
Create eval jobs, watch progress, and inspect private results.
Eligibility, submission routes, required materials, timelines, rewards, and publication rules.
User guide, evaluation workflow, API contract, security, and result publication.
Add/search API contract, request fields, polling, and response schemas.
来自 Agent Memory Leaderboard 团队的研究、技术实践与最新动态。
提交 Full、已有任务续跑、实名及团队登记、结果复核与正式揭榜的关键时间安排。
围绕申请确认、版本登记、跨赛道接入、接口异常及模型资格,整理第二期参赛补充答疑。
AML 第二期公开评测已于 2026 年 9 月 20 日 00:00 开放。
倒计时 2 天|Agent Memory Challenge 2026 第二期参赛指南
相比文本记忆,Coding Memory 要回答的问题更加直接:过去开发过程中积累的经验,能不能真正帮助 Agent 完成后续的软件工程任务。
Agent Memory 没有唯一答案。
Agent Memory 没有唯一答案。
Agent Memory 没有唯一答案。
第二届 Agent Memory Challenge(Agent 记忆公开挑战赛)即将启动。本届挑战赛由中国图像图形学会(CSIG)主办,南京大学、浙江大学、Datawhale、CSIG 企业联络与标准化工作委员会承办,并依托Agent Memory Leaderboard(AML)统一评测平台,完成报名、评测、结果复…
Agent Memory 没有唯一答案。
Agent Memory 没有唯一答案。
榜前都是好汉,榜上各有绝活。
重磅!Agent Memory Leaderboard 首期榜单正式揭晓
如果一个 AI Agent 每次交流都像第一次见面,它真的算“智能”吗?
随着 Agent 从一次性问答工具走向长期协作系统,长期记忆正在成为决定其可靠性、个性化能力与工程可用性的关键基础设施。
记忆之巅排行榜


一套以细粒度表示、混合检索、排名融合和对话结构恢复为核心的轻量级长时记忆方案
Github仓库地址:
https://github.com/wenxiaof345-ctrl/vanilla-rag-memory
榜单地址:
https://huggingface.co/spaces/agent-memory-leaderboard/leaderboard

InvMem 用 Dense 检索理解语义改写,用 BM25 保留精确事实,再通过 Weighted RRF 与同会话邻接扩展,把“相关片段”组织为“完整证据”。
导语:
Agent 需要的不是更长的聊天记录,
而是更有效的记忆
当 Agent 从单轮问答走向长期协作,历史信息开始迅速累积。把所有对话原样塞回上下文,看似最直接,却会带来成本上升、噪声增加和关键事实被淹没等问题。真正困难的不是“存下多少”,而是在问题出现时,从漫长历史中找到真正相关、足够准确、上下文完整的证据。
在 Agent Memory Leaderboard(AML)首期榜单中,InvMem 以 45.06 的正式全量评测成绩(公开报道四舍五入为 45.1)位列开源方法榜第一。
与依赖复杂生成链路或多轮模型调用的方案不同,InvMem 的核心是一条经过精细组织的轻量级混合检索链路:先把对话变成细粒度记忆,再同时利用语义相关性与词法精确性进行召回,最后恢复命中片段周围的局部对话结构。
更细粒度结果显示,InvMem 在“程序与工作流执行”细项中以 37.26 位列第一,并在“经验数据发现与模拟”细项中并列第一。这两项结果提示,长期记忆系统的价值不仅在于召回相似内容,还在于能否完整带回规则前提、执行步骤,以及可供当前任务参考的历史经验。
核心认识:长期记忆检索不能只回答“哪一句最像问题”,还要把规则、条件、步骤和经验上下文组织成能够支撑当前任务的一组证据。
InvMem 的方法定位
InvMem 把长期记忆问题定义为“证据检索与组织”,而不是在存储阶段生成新的知识。历史消息仍是事实来源,系统不预先调用大模型总结对话,也不把记忆改写成可能偏离原意的摘要。它所做的,是改变历史信息的表示粒度、组合互补的检索信号,并在结果阶段恢复局部对话结构。
因此,InvMem 的输入是历史对话与当前问题,输出是按相关性组织的 Top K 记忆证据。最终答案可以由下游模型基于这些证据生成,但 InvMem 的核心算法止于“把正确证据找出来并组织好”。这一边界使方法效果更容易归因,也使每个模块都可以独立分析和消融。
长对话检索为什么不能只靠一种相似度
长对话记忆中存在三类典型缺口。第一,用户提问往往会改写历史表述,字面不同但语义相同;第二,向量表示擅长理解整体语义,却可能弱化姓名、日期、数字和专有名词等精确线索;第三,检索器即使命中了正确句子,也可能漏掉它前后的主语、指代、原因或时间条件。
因此,InvMem 没有把希望押在单一检索器上,而是围绕这三类缺口设计互补机制:用细粒度分块减少信息稀释,用 Dense 与 BM25 双路检索覆盖语义和字面线索,用 Weighted RRF 稳定融合异构排名,再用同会话邻接扩展补回局部上下文。
如果把传统的向量检索流程概括为“切块—向量化—相似度排序—返回 Top K”,那么 InvMem 的变化主要发生在三个位置:切块时主动保护边界语义,排序时引入词法通道与排名级融合,返回前再利用会话局部结构补全证据。它并没有推翻 RAG 的基本范式,而是对长对话中最容易出错的环节进行了针对性修正。

图 1 InvMem 核心算法流程
第一步:
把长对话变成可检索的细粒度记忆
InvMem 以单条消息为基本边界处理对话。短消息直接形成一个记忆单元;长消息按照 320 个词法单元切分,相邻分块保留 40 个单元重叠,滑动步长为 280。随后,每个记忆单元由 BAAI/bge-small-en-v1.5 编码为归一化向量,并保留角色、时间和会话归属等必要上下文信息。
为什么要分块?一条长消息可能同时讨论多件事。如果只生成一个整体向量,局部事实容易被主题平均化;当问题只对应其中一句时,整体相似度未必足够高。细粒度分块让每个向量聚焦更窄的语义范围,检索器更容易定位具体事实。
为什么要重叠?机械切分可能恰好把条件与结论、主语与谓语拆到两侧。40 个单元的重叠使边界附近的信息同时出现在相邻记忆中,降低关键语义因切分位置而丢失的风险。
这一阶段解决的问题:让长消息中的局部事实不再被整体主题稀释,同时尽量保住分块边界处的完整语义。
归一化向量:让相似度只反映方向
BGE 编码后,InvMem 对文档向量和查询向量都进行 L2 归一化。未经归一化时,向量模长可能影响点积分数;归一化后,所有向量都落在单位超球面上,点积只反映方向接近程度,也就等价于余弦相似度。这样既避免了向量长度带来的额外偏差,也可以直接通过矩阵乘法批量计算当前用户记忆与查询之间的相似度。
正式版本只对当前记忆片段的原文进行编码,没有在向量输入中拼接前后消息。这样做保留了细粒度表示的独立性,也避免同一段上下文被反复复制到大量向量中。上下文信息不在编码阶段提前混入,而是在检索完成后通过受约束的邻接扩展恢复。
第二步:Dense 与 BM25 双路检索
问题到来后,InvMem 首先构造统一检索查询。普通问题直接进入检索;如果题目包含候选选项,则把问题和全部选项拼接为一个查询,使选项中的人名、地点、日期和候选事实也能参与召回。随后,同一查询分别进入 Dense 语义检索和 BM25 词法检索。
Dense:理解“换一种说法”
Dense 检索将查询编码为归一化向量,并与记忆向量计算点积。由于双方都经过 L2 归一化,这个点积等价于余弦相似度。它负责识别同义表达、语义改写和隐含关联。例如,历史中的“她开始在医院工作”与问题中的“她从事什么行业”虽然没有完全相同的关键词,语义向量仍可能把二者连接起来。
BM25:守住不能模糊的精确信息
只靠语义向量并不稳妥。姓名、日期、数字、缩写、地点和代码符号往往决定答案是否正确,却可能在整体语义表示中被弱化。InvMem 因此并行执行 BM25 检索,让稀有且有区分度的词获得更强信号,同时通过长度归一化避免长文本天然占优。正式版本采用经典参数 k₁=1.5、b=0.75。
公式中的词频 f(t,i) 衡量查询词在当前记忆中的出现强度,IDF(t) 衡量该词在整个记忆集合中的稀有程度,|i|/avgdl 则负责修正片段长度。一个只在少量记忆中出现的专有名称,通常比“去”“做”“今天”这样的常见词更有区分度;同样,一个很长的片段也不会仅因包含更多词而自动获得优势。
InvMem 的词法切分与消息分块使用相同的基础规则,并进行大小写归一化。只有 BM25 分数大于零的记忆才进入词法排名,这意味着完全没有词面交集的片段不会凭空获得词法融合增益。
双路互补:Dense 负责“意思是否相近”,BM25 负责“关键字面事实是否准确”。两者不是重复召回,而是在补彼此的盲区。
第三步:
用 Weighted RRF 融合两套排名
Dense 的余弦相似度与 BM25 的词法相关分数含义不同、数值尺度也不同。如果直接把原始分数相加,就必须人为设计归一化方式,而且分数分布还会随查询和记忆集合改变。InvMem 选择在排名层面融合,而不是在原始分数层面硬拼。
其中,60 是 RRF 的平滑参数;Dense 排名权重为 1.0,BM25 排名权重为 0.5。也就是说,正式版本以语义召回为主,以词法召回为辅。RRF 只关心一个记忆在两条路径中的名次,因此无需让两种原始分数具有相同尺度,对偶发异常高分也更稳健。
这一设计还带来一个直观效果:同时被两条路径排在前列的记忆会获得稳定增益;只在某一路表现突出的记忆仍有机会进入候选,从而兼顾共识证据与互补证据。
一个简化的融合例子
假设记忆 A 在 Dense 排名中位列第 2,在 BM25 中位列第 5;记忆 B 在 Dense 中位列第 1,却没有任何词面交集。按照当前权重,A 会同时获得语义与词法两部分贡献,而 B 只获得 Dense 贡献。B 仍可能因为语义排名足够高而领先,但 A 不会因两个分数体系尺度不同而被不合理压低。
这个例子体现了 RRF 的克制:它不会把词法匹配直接变成绝对裁决,也不会忽略精确命中。BM25 的 0.5 权重提供辅助增益,Dense 的 1.0 权重仍保持主导,符合长对话问题经常对历史表述进行改写的特点。平滑参数 60 则减小相邻名次之间的剧烈波动,使融合结果不会过度依赖某一路的一两个排名位置。
第四步:
从“命中片段”恢复“完整证据”
完成融合排序后,InvMem 不会直接截取前 Top K。它先选择融合排名前 20 个结果作为高置信种子,再为每个种子补充存储顺序中前后各一个记忆单元。邻居必须与种子属于同一会话,扩展结果完成去重后,如果数量仍不足,再按照原始融合排名补足 Top K。
这一步利用的是对话的局部连续性。检索器可能命中一句“是的,我下周就会过去”,但“去哪里”和“为什么去”可能在上一话轮;也可能命中一个结论,而它依赖的条件位于紧邻片段。通过补充同会话邻居,系统能够恢复问答配对、指代关系、因果条件、时间顺序和事件补充。
邻接扩展不是第三个检索器,也不会让任意相邻内容无条件进入结果。只有高置信种子才能触发扩展,并且扩展范围严格限制在同一会话、前后各一个记忆单元,从而在上下文完整性与噪声控制之间保持平衡。
关键变化 InvMem 的最终目标不是返回“最像问题的句子”,而是返回“能够共同支撑答案的一组记忆证据”。
为什么选择 Top-20 种子和 ±1 邻居
种子数量决定了多少高相关片段能够获得上下文补充。种子过少,部分有效召回无法恢复周边证据;种子过多,低相关候选也会携带邻居进入结果。正式版本选择前 20 个融合作为种子,是召回覆盖与噪声控制之间的折中。
邻接窗口同样需要克制。前后各一个记忆单元通常足以恢复紧邻的问答配对、主语和事件条件;窗口继续扩大,结果很容易被某一会话的大段局部文本占满。InvMem 因此采用小窗口扩展,并在去重后用原始融合排名补足剩余位置,避免上下文恢复取代相关性排序。
一个完整例子:四个模块如何协同
考虑一段虚构的长期对话。某次会话中,用户提到:“Mina 接受了柏林研讨会的邀请,准备介绍 Atlas 项目。”紧接着又说:“她把出发时间改到周五,因为周四需要完成医院的值班。”若之后的问题是“她去哪里介绍什么项目,为什么改期?”,答案同时涉及地点、项目名称和改期原因,证据分布在相邻话轮中。
首先,分块机制把这两条消息保存为独立而相邻的记忆单元,避免整段会话被压缩成一个宽泛向量。查询进入 Dense 通道后,“去哪里介绍什么项目”能够与“研讨会”“介绍 Atlas”形成语义联系;进入 BM25 通道后,“Atlas”“柏林”等精确实体提供强词面信号。Weighted RRF 会提高同时受到两条通道支持的片段排名。
如果高分种子首先命中“介绍 Atlas 项目”,邻接扩展会把关于“柏林研讨会”的同一条消息以及紧接着的改期原因共同带回。最终证据集合不再只有一个孤立答案片段,而是覆盖“柏林—Atlas—医院值班”三项信息,为下游回答提供完整依据。
示例所体现的分工:分块保护局部事实,Dense 连接改写语义,BM25 锁定精确实体,RRF 协调两路排名,邻接扩展补齐跨话轮证据。
关键技术路径:从历史对话到可用证据
InvMem 的实际技术链路由以下六个步骤组成。它们从记忆表示、检索召回、排名融合到上下文恢复逐层衔接,最终把历史对话组织为可供下游任务使用的 Top K 证据:
1. 细粒度表示:按消息处理历史,对长消息执行 320/40 重叠分块,并用 BGE 建立归一化语义向量。
2. 统一查询:将问题与候选选项组织为同一检索视图,使判别性线索共同参与召回。
3. 双路召回:Dense 建立语义排名,BM25 建立精确词法排名。
4. 排名融合:使用 Weighted RRF 汇总两套排名,以语义为主、词法为辅。
5. 结构恢复:从前 20 个高置信种子出发,在同一会话内补充前后各一个记忆单元。
6. 结果组织:去重并按原始融合排名补足,得到最终 Top K 记忆证据。
榜单结果如何与系统设计相互印证
AML 官方邀稿邮件确认,InvMem 位列首期学术/开源榜单第一;在“程序与工作流执行”细项中以 37.26 位列第一,并在“经验数据发现与模拟”细项中并列第一。这些结果只对应 AML 首期学术/开源榜单、InvMem 、相应评测套件和当期规则,不能外推为永久排名或对所有应用场景的普遍结论。
程序与工作流执行:
规则不仅要“找到”,还要“带全”
程序与工作流类任务通常同时依赖规则含义、精确条件、参数以及步骤顺序。InvMem 用 Dense 检索连接问题改写与历史规则的语义,用 BM25 强化数字、实体和限定词等精确信号,再由 Weighted RRF 稳定融合两路排名;当高分片段只覆盖某一步时,同会话邻接扩展会尝试补回紧邻的前提和后续操作。这样的设计与该细项所关注的能力方向相吻合,但现有榜单结果不能被解释为某个单独模块的确定贡献。
经验数据发现与模拟:
把历史经历恢复为可复用案例
经验数据往往以条件、行动与结果相互关联的形式分散在多轮对话中。Dense 检索负责发现措辞不同但情境相似的经历,BM25 帮助保留名称、地点、时间和参数等关键细节,邻接扩展则恢复同一会话中的局部过程。InvMem 本身负责检索和组织这些类比证据,并不直接执行后续模拟或答案生成;下游模型基于返回的证据完成相应任务。
团队如何理解这两项结果
我们更愿意把这两项结果理解为对“证据完整性”设计思路的支持:长期记忆的目标不只是把 Top 1 相似片段排在最前面,而是尽量让最终证据集合同时覆盖语义相关内容、精确事实以及必要的局部上下文。对于规则执行和经验复用,这种完整性往往比单句相似度更接近任务真正需要的信息形态。
哪些结论可以说,哪些不能说
从实现机制看,可以说 InvMem 的细粒度表示、双路检索、排名融合和邻接扩展与邮件所指出的两类能力表现具有合理对应关系。但在没有受控消融实验的情况下,不能断言某一模块贡献了多少分,也不能把当期评测结果推广到未测试的数据、任务或应用环境。
下一步计划:
从强基线走向可验证的研究系统
InvMem 是一个以检索为中心、边界清晰的正式版本。它通过重叠分块、Dense 与 BM25 双路召回、Weighted RRF 和同会话邻接扩展组织记忆证据;尚未自动执行记忆摘要、事实抽取、冲突消解、遗忘管理或显式的全局关系建模。这些边界既说明当前结果来自哪条实际链路,也限定了后续研究需要解决的问题。
第一步将围绕现有强基线开展成对、可复现的消融实验,并在 LoCoMo-Refined 等公开数据上分别考察分块大小与重叠比例、词法权重、RRF 参数、邻接种子数量和窗口范围。只有在控制其他条件后稳定复现的变化,才会被视为相应模块的有效增益。
在此基础上,后续可研究自适应记忆粒度、会话结构建模、时间信息建模、记忆更新与冲突处理、遗忘机制,以及面向更大记忆规模的索引方案。这些内容目前属于待验证方向,不属于 InvMem 正式全量测评版本的既有能力。SQLite 仍只承担持久化与元数据管理,是工程基础设施而非核心算法贡献。
研究原则:后续改进将以可复现的公开实验和严格消融为依据,区分“合理假设”与“已经验证的增益”,避免把未完成的方向写成现有能力。
结语:
让长期记忆从“存储能力”
变成“证据能力”
InvMem 的核心并不是简单叠加多个检索组件,而是针对长对话记忆中的三类实际缺陷建立一一对应的机制:通过重叠分块缓解信息稀释,通过 Dense 与 BM25 的互补召回缓解单一相似度偏差,通过 Weighted RRF 消除异构分数难以直接比较的问题,再通过同会话邻接扩展修复证据上下文的残缺。
这条链路最终实现的是从“找到相似内容”到“组织可用证据”的转变。对长期协作型 Agent 而言,记忆的价值不在于保存了多少历史,而在于需要它时,能否以准确、完整且可解释的方式把关键经验重新带回当前任务。InvMem 的探索,正是围绕这一目标展开。
团队介绍:忆构智能团队
团队成员:房文晓、武志妍、李星璇、刘昱浩
指导老师:郭婷、王达、马亿
忆构智能团队聚焦智能体长时记忆、检索增强生成与结构化知识组织研究,注重算法创新与工程实践相结合。团队研发的 InvMem 系统融合语义检索、词法检索、结果排序与上下文扩展等机制,为智能体提供统一、可靠的记忆写入与检索能力。团队将持续探索更准确、高效且可复现的智能体记忆技术,推动相关方法在实际场景中的应用。
内容说明:本文所涉及的系统架构、技术实现、数据分布、相关讨论等由 InvMem 团队提供,仅代表该团队对自身方案的介绍与理解,不代表 Agent Memory Leaderboard(AML)的官方技术立场或推荐意见。
AML 仅对文中引用的对应评测周期、赛道、组别、参评版本及正式榜单成绩进行核验。
本文不构成对该方案在所有场景下的效果保证、产品推荐或采购建议。
▉ Github仓库地址:
https://github.com/wenxiaof345-ctrl/vanilla-rag-memory
▉ 榜单地址:
https://huggingface.co/spaces/agent-memory-leaderboard/leaderboard
公开排名按赛道区分。使用排行榜内的选择器切换表格,避免混合不同的指标维度。
公开排名按赛道区分。使用排行榜内的选择器切换表格,避免混合不同的指标维度。
公开排名按赛道区分。使用排行榜内的选择器切换表格,避免混合不同的指标维度。
材料提交已截止。已提交 API 端点的任务将由后台陆续安排 Full。请登录查看任务进度、按原规则断点续跑及查看私有结果。正式评测截止为 2026 年 11 月 4 日 23:59(UTC+8),随后约两天视实际情况尽可能处理未完成任务及异常重试,请保持 API 可用。
Choose a bound version. Use Run label to distinguish repeated evaluations of the same version.
Confirm each item before starting a public-board candidate run. The button remains locked until every item is checked.
Live job status and progress.
Review completed Full runs from non-admin leaderboard keys. Approved results enter the public board; rejected results remain private.
Private scores stay scoped to the current leaderboard key. Admin runs remain separate from external review candidates.
Agent Memory Challenge 是 Agent Memory Leaderboard 的第二期公开评测活动,面向全球研究者、开源项目维护者和商业产品团队开放。参赛系统负责 Add 与 Search,平台统一完成 Answer、Eval、结果复核与公榜。
参赛免费,不设组队要求。参赛方承担自身 API、数据库、带宽和计算成本,平台承担统一 Answer、Eval 与评测编排成本。
2026 年 9 月 20 日 00:00
2026 年 10 月 31 日 23:59(UTC+8)
2026 年 11 月 4 日 23:59(UTC+8)
预计 2026 年 11 月 19 日
文本、代码与多模态记忆
评测类型决定系统接受什么任务;参赛组别决定结果展示在哪个榜单。两者是互相独立的两个维度。
| 评测类型 | 主要评测内容 | 可选参赛组别 | 第二期时间 |
|---|---|---|---|
| 文本记忆 | 长对话、跨会话历史、事实、多跳关系、时间事件、个性化、规则与记忆治理,并纳入 Streaming 持续记忆能力。 | 开源方法榜 / 商业产品榜 | 10 月 31 日 23:59 材料截止 |
| 代码记忆 | Agent 对同仓库历史工程经验的检索、筛选和复用能力,分别评测 relevant 与 noisy 条件。 | 开源方法榜 / 商业产品榜 | 10 月 31 日 23:59 材料截止 |
| 多模态记忆 | 图文记忆的写入、检索与证据使用能力,支持文本和 Base64 图片有序内容数组。 | 开源方法榜 / 商业产品榜 | 10 月 31 日 23:59 材料截止 |
第二期所有参赛组别都必须由参赛方自行部署 Add / Search API。Eval Key 是在线接口申请审核通过后获得的评测凭证。
提交固定版本、Add / Search 地址、鉴权方式和运行说明;公开仓库作为开放性与署名材料,不能替代在线接口。
提交固定产品版本、Add / Search 地址、鉴权和容量说明。无需公开内部实现,审核通过后获得 Eval Key,结果进入商业产品榜。
开源方法榜和商业产品榜都只通过参赛方自托管的 Add / Search API 接入。第二期不接受只提交 GitHub 仓库、Docker 镜像或启动说明并由 AML 代为部署。开源材料仍用于开放性、署名和复现审核。
请在提交申请前固定参评版本。正式 Full 评测受理后,不得因结果不理想更换版本或撤回。
系统名称与版本、联系人、机构或团队、拟参评类型、方法或产品说明、允许公开展示的信息,以及完整的提交说明。
已部署的 Add / Search API、鉴权与容量声明,以及公开仓库、固定 commit、原始工作引用和方法改动说明。
固定产品版本、Add / Search API、鉴权方式、评测专用密钥、容量限制、超时与限流说明。
选择评测类型和参赛组别,提交已部署的 Add / Search API、系统版本与完整材料。
平台审核在线接口和提交材料,通过后签发 Eval Key;AML 不代为部署参赛系统。
先验证 Add / Search、鉴权和端到端链路,再运行第二期正式 Full 评测。
平台复核版本、结果和合规状态,通过后发布到对应公开榜单。
两个 Key 的签发方和用途不同,请勿将它们放入公开仓库、URL、截图、邮件正文或群聊。
| 凭证 | 谁提供 | 用途 | 谁需要 |
|---|---|---|---|
| Eval Key / Leaderboard Key | Agent Memory Leaderboard | 验证参赛身份、运行评测并查看私有结果。 | 提交自托管 Add / Search API 并审核通过的开源方法榜及商业产品榜参赛者。 |
| Memory System Key | 参赛方 | 供平台访问参赛系统的 Add / Search API。 | 接口启用鉴权时需要;无鉴权接口无需提供。 |
第二届 Agent Memory Challenge 面向文本、代码与多模态三个赛道设置合计人民币 150,000 元奖金池。奖金仅面向符合赛事规则并通过审核的开源方法榜参赛团队,商业产品榜不参与奖金评选。
奖金人民币 20,000 元。文本、代码与多模态三个赛道分别评选。
二等奖 2 名,每名人民币 8,000 元;三等奖 3 名,每名人民币 3,000 元。
奖金人民币 5,000 元。每个赛道奖金合计 50,000 元,三个赛道合计 150,000 元。
参赛身份、系统版本和所需材料均完整、真实且可核验。
Add / Search、鉴权和端到端链路符合现行接入协议。
正式评测任务和所需评测项成功完成,没有缺失或重复结果。
正式评测使用的代码、镜像或 API 与申报版本保持一致。
版本、结果与合规状态通过主办方审核,方计为一次有效提交。
Search 不得直接生成最终答案,也不得把答案伪装为记忆记录。
不得跨 user_id、任务、样本或团队共享和检索评测记忆。
复用论文、仓库或代码时,必须注明原作者、技术报告和全部方法改动。
严禁硬编码、数据泄漏、提示词注入、人工实时答题、结果操纵和恶意刷榜。
提交申请前请先阅读 API 接入指南并准备完整材料。报名与评测问题可发送至 [email protected]。
Agent Memory Challenge is the second public evaluation cycle of Agent Memory Leaderboard. It is open to researchers, open-source maintainers, and commercial product teams worldwide. Participants provide Add and Search; the platform runs Answer, Eval, result review, and leaderboard publication.
Participation is free, with no team-size requirement. Participants cover the cost of their own APIs, databases, bandwidth, and compute; the platform covers unified Answer, Eval, and evaluation orchestration.
September 20, 2026 · 00:00 (UTC+8)
October 31, 2026 · 23:59 (UTC+8)
November 4, 2026 · 23:59 (UTC+8)
Expected November 19, 2026
Textual, Coding, and Multimodal Memory
The evaluation type determines the tasks your system receives; the participant division determines where the result is listed. These are two independent dimensions.
| Evaluation type | What it evaluates | Available divisions | Cycle 2 schedule |
|---|---|---|---|
| Textual Memory | Long conversations, cross-session history, facts, multi-hop relations, temporal events, personalization, rules, memory governance, and Streaming memory. | Open-source Methods / Commercial Products | Materials close October 31 at 23:59 |
| Coding Memory | Retrieving, filtering, and reusing engineering experience from the same repository under relevant and noisy conditions. | Open-source Methods / Commercial Products | Materials close October 31 at 23:59 |
| Multimodal Memory | Writing, retrieving, and using evidence from text-and-image memories through ordered text and Base64 image content arrays. | Open-source Methods / Commercial Products | Materials close October 31 at 23:59 |
In Cycle 2, every participant division must host stable Add / Search APIs. An Eval Key is issued after the submitted online endpoints and materials pass review.
Submit fixed Add / Search endpoints, authentication and operational details. A public repository supports openness and attribution review but cannot replace deployed endpoints.
Submit a fixed product version, Add / Search endpoints, authentication, and capacity details. Internal implementation may remain closed; an Eval Key is issued after approval and results enter the Commercial Products board.
Open-source and commercial entries integrate through participant-hosted Add/Search APIs. Cycle 2 does not accept repository-only or Docker-only submissions for AML deployment. Open-source materials remain part of openness and attribution review.
Freeze a clear evaluation version before applying. Once a formal Full evaluation is accepted, the version may not be replaced or withdrawn because of an unfavorable result.
System name and version, contact details, organization or team, intended evaluation type, method or product description, information approved for public display, and complete submission notes.
Deployed Add/Search endpoints, authentication and capacity declarations, plus a public repository, fixed commit, attribution of prior work, and method changes.
Fixed product version, Add / Search APIs, authentication, a dedicated evaluation credential, capacity, timeout, and rate-limit details.
Choose an evaluation type, participant division, and submission route, then provide a fixed system version and complete materials.
The platform reviews the live API and submitted materials, then issues an Eval Key. AML does not deploy participant systems.
Validate Add / Search, authentication, and the end-to-end path before the formal Cycle 2 Full evaluation.
The platform reviews the version, results, and compliance status before publishing the entry to its corresponding public board.
These credentials are issued by different parties and serve different purposes. Never place either credential in a public repository, URL, screenshot, email body, or group chat.
| Credential | Provided by | Purpose | Who needs it |
|---|---|---|---|
| Eval Key / Leaderboard Key | Agent Memory Leaderboard | Verifies participant access, starts evaluations, and unlocks private results. | Open-source and commercial participants whose self-hosted Add / Search APIs pass review. |
| Memory System Key | Participant | Allows the platform to call the participant's Add / Search APIs. | Required when the submitted API uses authentication; not required for an unauthenticated endpoint. |
The second Agent Memory Challenge provides a total prize pool of US$22,000 across the Textual, Coding, and Multimodal tracks. Prizes are available only to eligible Open-source Methods teams that pass review; Commercial Products entries are not eligible.
≈ USD 3,000. The Textual, Coding, and Multimodal tracks are judged separately.
Second Prize: 2 winners, ≈ USD 1,200 each. Third Prize: 3 winners, ≈ USD 450 each.
≈ USD 750. The total prize pool across all three tracks is US$22,000.
Participant identity, system version, and all required materials are complete, truthful, and verifiable.
Add / Search, authentication, and the end-to-end path follow the current integration contract.
The formal evaluation and required tasks complete successfully without missing or duplicated results.
The code, image, or API used for the formal evaluation matches the declared version.
The version, results, and compliance status pass organizer review before the submission is considered valid.
Search must not generate final answers or disguise answers as memory records.
Do not share or retrieve evaluation memories across user IDs, tasks, samples, or teams.
When reusing a paper, repository, or codebase, identify the original authors, technical report, and every method change.
Hard-coding, data leakage, prompt injection, live human answering, result manipulation, and leaderboard abuse are prohibited.
Read the API Guide and prepare all required materials before applying. For participation and evaluation questions, contact [email protected].
了解如何接入 Add / Search、运行统一评测、查看结果,并将符合条件的结果发布到公开榜单。
OVERVIEW
Agent Memory Leaderboard 使用统一的端到端流程评估不同记忆系统。数据库、索引和内部架构不作限制。开源方法榜(学术榜)的 Embedding 模型须使用 text-embedding-v4,LLM 相关组件须使用 gpt-4o-mini;Reranker 不作限制。商业产品榜(工业榜)不受上述模型限制。Add / Search 接口须符合现行规范,评测过程和检索结果须能够复核。
我们按样本和来源会话调用 Add 接口。
你的系统负责持久化、组织、索引和更新记忆。
我们针对每道题调用 Search 接口并接收排序结果。
我们使用固定流程生成答案、完成评分并汇总结果。
你只负责 Add / Search 环节。回答模型、提示词、评分器、数据集组合、Top K 和汇总规则由我们统一固定,使榜单分数尽可能反映记忆系统本身的能力。
WHO THIS IS FOR
你可以在 Textual、Multimodal 或 Coding Track 中查看 Overall、分项指标、系统版本和发布日期。不同 Track 使用的任务和指标不同,分数不宜跨 Track 直接比较。
实现 Add / Search → 提交准入申请 → 获取 API Key → 运行公开 smoke → 提交 full 正式评测 → 查看私有结果 → 进入公榜审核。
PARTICIPATION WORKFLOW
先提交 Evaluation Access Request,完成参测系统、版本、在线 Add / Search 接口和鉴权方式审核。第二期所有榜单均要求参赛方自行部署接口,AML 不接受仅提交仓库后代为部署。
选择申请新 Key,或输入已有 Key 为其增加版本;填写联系人、系统版本、Add / Search 接口、鉴权、容量和运行限制。开源方法另附仓库与来源披露。
审核通过后,新申请会签发 Leaderboard API Key;新增版本申请会直接绑定到原 Key,无需管理员再次手工录入接口信息。
平台直接校验参赛方提交的在线接口,并按照现行同步规范执行 Add → Search → Answer → Evaluate Smoke 流程,确认接口可用后再进入正式评测。
选择 full 前,必须逐项勾选提交清单:smoke 已通过、API 契约正确、运行说明完整,以及原创性披露和诚信承诺均已完成。
在 Evaluation 页面验证 API Key,选择已绑定的版本,填写唯一的 Run Label 后提交 full 评测。正式任务使用统一的数据集套件和 Top K。
任务依次执行写入、检索、回答、评分和结果汇总。页面会显示当前阶段、完成进度和错误摘要;我们同时保留复核所需的过程记录。
评测结果首先仅对绑定的 API Key 可见。成功完成的 full 任务会进入公榜资格校验和审核队列;审核通过后生成公榜提交记录。
允许复现已有论文或封装已有仓库,但必须披露原始作者、技术报告以及方法改动;未披露的重复代码可能被视为抄袭。发现重复代码时,平台会优先保护本人已披露并先提交的评测结果。重复提交相似或低质量代码、提示词注入、数据或结果操纵、恶意刷榜等行为,均可能取消参赛资格。
EVALUATION MODES
| 模式 | 用途 | 标准配额 | 结果范围 | 公榜资格 |
|---|---|---|---|---|
| smoke | 通过独立的兼容性测试接口检查同步 Add、Search 和评分链路。 | 每小时 1 次;本届每赛道最多 30 次 | 仅私有 | 不可发布 |
| full | 运行固定的完整评测套件,并进入正式排队、审计和发布流程。 | 本届每个 AML Key、每个赛道最多 2 次;第 2 次须在首次 Full 完成后 30 天发起 | 优先私有 | 审核通过后发布 |
首次接入或接口行为变更后,先使用独立的兼容性 smoke 检查接口规范;接口稳定且版本准备完成后,再提交唯一的正式评测模式 full。
ADD / SEARCH CONTRACT
参赛选手配置 Add 和 Search 的接口地址,请求和响应格式按照现行规范固定,不随 URL 路径变化。生产环境建议使用 HTTPS。URL 中不得包含用户名、密码等凭据,也不得指向私有、回环或链路本地地址。
记忆写入完成后,Add 接口返回 HTTP 200
返回数量不得超过 top_k,超量会判为契约错误
Add 和 Search 必须使用完全相同的 user_id
Add / Search 支持 Token、Bearer 和 X-Api-Key;none 仅用于公开 smoke。Health 接口通过无需鉴权的 GET 请求调用,返回任意 2xx 状态码即表示服务正常。
普通文本在达到 20 条消息或 2,000 个词中的任一边界时确定性分段,词数按冻结 Adapter 计数;Streaming 按增量会话/任务单元写入;代码保留仓库/会话轨迹,多模态按公开数据源单元与媒体限制处理。单次请求最长 30 分钟。
{
"request_id": "eval:run_abc123:locomo_refined:conv-0:chunk-0",
"messages": [{
"role": "user",
"timestamp": 1704067200000,
"content": "memory text"
}],
"user_id": "eval:run_abc123:locomo:conv-0",
"session_id": "eval:run_abc123:sample:0"
}
request_id必填。本次写入请求的唯一标识;成功响应必须原样返回该值。
messages必填。消息按原顺序排列,每条消息包含 role 和非空 content。文本与代码使用字符串;多模态可使用字符串或有序 text/image_url 内容数组。timestamp 可选,单位为 Unix 毫秒。
user_id必填。Search 接口唯一使用的检索范围标识;写入和检索时必须保持一致。
session_id必填。用于标识来源会话,可以用于组织记忆,但不作为 Search 的筛选条件。
未使用字段现行规范不发送 metadata、app_id、agent_id 或 async_mode;同步语义由 Add 完成写入后返回 HTTP 200 保证。
写入完成并且相关记忆能够立即检索后,才能返回成功响应。
HTTP 200
{
"success": true,
"request_id": "eval:run_abc123:locomo_refined:conv-0:chunk-0",
"user_id": "eval:run_abc123:locomo:conv-0",
"session_id": "eval:run_abc123:sample:0"
}
success必填,且必须是布尔值 true。
request_id / user_id / session_id全部必填,并且必须与请求中的值完全一致。
同步完成服务内部可以采用异步处理,但 Add 接口必须等待处理完成后再返回。
HTTP 202仅当提交版本已审核绑定包含 {task_id} 的 Add 状态查询地址时支持;响应须返回 task_id。未绑定时返回 202 属于契约错误。响应不需要 memory_ids。
平台按赛道流程发起 Search;Streaming 可在多个增量节点检索同一道题。查询使用基准原文;多模态可使用图片内容数组,选择题在顶层另行传入选项。单次请求最长 30 分钟。
{
"query": "Which answer best matches the memory?",
"options": ["A. First answer", "B. Second answer"],
"user_id": "eval:run_abc123:locomo:conv-0",
"top_k": 100
}
query必填。按照原文检索相关记忆;多模态可使用与 Add 相同的 text/image_url 内容数组。不得替换为最终答案或使用评测金标。
options可选。选择题(含 Streaming)在 Search 顶层传入选项文本数组;开放题不发送,不包含金标答案。
user_id必填。只能在该 user_id 对应的记忆范围内检索。
top_k必填。返回的记忆数量不得超过该值;正式外部评测固定为 100。
请求格式现行规范不发送 filters、rerank 或 keyword_search。
响应必须是一个 JSON 对象,其中 data 为按相关性排序的数组。没有检索结果时,返回空数组。
{
"data": [{
"id": "mem_1",
"content": "remembered fact text",
"score": 0.87,
"created_at": "2026-07-01T12:00:00Z"
}]
}
data必填,类型为数组。不要增加 items 包装层,也不要直接返回顶层数组。
id必填,非空字符串,用于稳定标识该条记忆。
content必填,非空字符串;多模态可返回 text/image_url 内容数组。平台保留原始候选并传入统一 Answer 流程。
score可选,数值类型。数值越大应表示相关性越高。
created_at可选,用于记录记忆的来源时间或持久化时间。
其他字段我们只读取上述字段;metadata 等未声明字段会被忽略。
ERROR HANDLING
参测接口应使用标准 HTTP 状态码,并返回便于排查问题且不含密钥的错误信息。平台业务错误通常采用 {"detail":{"reason":"..."}} 格式;字段校验失败时,HTTP 422 会返回结构化错误明细。
| HTTP | 错误类型 | 常见原因 | 处理方式 |
|---|---|---|---|
400 / 422 | 接口格式错误 | Add / Search 请求无法解析,或者成功响应缺少必填字段、字段类型不正确。 | 不自动重试。根据错误信息修正请求或响应格式,然后重新运行 smoke。 |
401 | 认证失败 | Memory System Key 无效,或者 Authorization / X-Api-Key 与申请时选择的方式不一致。 | 不自动重试。核对鉴权方式和绑定的密钥。 |
403 | 访问被拒绝 | 当前密钥无权调用接口,或者服务端拒绝访问指定的 user_id。 | 不自动重试。检查接口权限和检索范围配置。 |
404 | 资源不存在 | 接口路径错误,或者平台侧的 test、job、result ID 无效。 | 检查 URL 或资源 ID。现行同步规范不包含 Add Status 查询。 |
409 | 状态冲突 | 同一 Add 可能仍在处理,或者平台已有任务正在运行、Run Label 重复。 | Add 可保持同一 request_id 与请求体进行有界重试,但不能仅凭 409 视为成功;Search 的 409 不重试。平台任务冲突时,请等待现有任务结束或更换 Run Label。 |
408 / 425 | 暂时不可用 | 请求超时,或者服务尚未准备完成。 | Add / Search 请求都会按照平台策略进行有限次数的退避重试。 |
429 | 触发限流或配额 | 参测接口容量不足,或者平台评测配额尚未恢复。 | 接口调用会在限定次数内重试;如果是平台配额限制,请等待页面显示的下次可用时间。 |
500 / 502 / 503 / 504 | 临时服务异常 | 参测接口、网关或上游依赖暂时不可用。 | 我们会自动退避重试。若持续失败,请保留 Job/Test ID 和发生时间,便于进一步排查。 |
Add 遇到网络错误及 408、409、425、429、500、502、503、504、524 时会有界重试;409 不单独代表成功。Search 遇到网络错误及 408、425、429、500、502、503、504 时会有界重试;400、401、403、404、409、422 等永久性 4xx 不重试。重试和断点续跑保持同一 Add 的 request_id 与请求体。
即使 HTTP 状态码为 200,只要 Add 未返回 success=true、三个 ID 未正确返回,或者 Search 未返回 data 数组、某条记录缺少 id / content,当前阶段都会立即失败。
DATA, SECURITY & PRIVACY
你的接口只会收到当前任务所需的记忆片段、user/session 标识和检索问题。我们不会提供金标答案、评分依据或完整数据集下载。
user_id 是 Search 接口唯一使用的检索范围标识,存储和检索时必须完全一致。session_id 只用于组织来源会话。禁止跨 user_id 返回记忆。
Memory System Key 通过受控的申请流程提交并加密保存,任务信息中只保留不可读的引用。密钥不会出现在邮件、公榜或公开 API 响应中。
我们只连接通过网络校验的公开 HTTP(S) 接口,并拒绝 URL 中包含凭据,或者指向私有、回环、链路本地地址的目标。
我们会保留复核所需的请求结果、耗时、错误、候选记忆和接口格式校验记录,用于确认评测是否完整,以及结果是否符合公榜条件。
私有任务和结果仅对绑定的 Leaderboard API Key 可见。公榜只展示审核通过的系统、版本、分数和必要的评测信息。
评测数据及其派生副本只能用于完成当前任务,不得用于模型训练、微调、产品分析、数据集重建或对外传播。请仅向必要人员开放访问权限,避免记录不必要的请求正文,并在任务完成后 30 天内删除相关数据;如需延长保留时间,必须事先获得我们的书面同意。
EVALUATION & RESULTS
每个记忆分块都必须在返回 HTTP 200 前完成持久化,并且能够立即检索。
我们会检查 data 数组、必填字段和 Top K,并按照接口返回的顺序接收候选记忆。
通过校验的候选记忆会进入统一的回答模型和提示词流程。
我们按照题型使用固定的评分规则,并汇总各数据集和 Overall 结果。
任务完成后,你可以使用绑定的 API Key 查看运行状态、分项结果、错误摘要和任务信息。
full 结果通过资格校验和审核后,会生成公榜提交记录并展示在公开榜单中。
结果必须来自成功完成的 full 模式固定套件,且所有评测任务均执行成功。统一回答模型、评测规范、pipeline code hash、dataset bundle hash 和题量记录必须完整,并与现行发布基线一致。结果不得重复提交,同时还需通过平台审核。
BENCHMARK SUITE
按能力维度浏览基准数据集。每张卡片均链接到源仓库,并说明任务格式、指标与评测备注。
Learn how to integrate Add / Search, run consistent evaluations, review results, and publish eligible runs to the public leaderboard.
OVERVIEW
Agent Memory Leaderboard compares memory systems under a consistent end-to-end evaluation. Databases, indexes, and internal architectures are unrestricted. Open-source Methods (Academic) entries must use text-embedding-v4 for embeddings and gpt-4o-mini for LLM-related components; rerankers are unrestricted. Commercial Products (Industry) entries are not subject to these model restrictions. The external Add/Search API and retrieval evidence must be conformant and auditable.
The platform calls Add by sample and source session.
Your system persists, organizes, indexes, and updates memory.
The platform calls Search per question and receives ranked results.
A fixed platform workflow generates answers, scores them, and aggregates results.
Participant-controlled behavior is limited to Add / Search. The platform locks the answer model, prompts, evaluators, dataset suite, Top K, and aggregation rules so that score differences primarily reflect the memory system.
WHO THIS IS FOR
Review Overall scores, metric breakdowns, system versions, and publication dates within the Textual, Multimodal, or Coding track. Each track has a distinct task and metric contract; scores are not comparable across tracks.
Implement Add / Search → submit an access request → receive an API Key → run public smoke → submit the full evaluation → review private results → enter public review.
PARTICIPATION WORKFLOW
Open-source Methods and Commercial Products submissions both use participant-hosted Add/Search APIs and follow the same review, Key issuance, and public Smoke flow. AML does not deploy repository-only submissions.
All entries provide deployed Add/Search endpoints, authentication, capacity, and operational details. Open-source Methods entries additionally disclose the public repository, original authors, technical report, and method changes.
Approval either issues a new Leaderboard API Key or binds the submitted version to the verified existing key without administrator re-entry.
The platform checks the participant-operated endpoints and runs the synchronous Add → Search → Answer → Evaluate Smoke flow. AML does not build or deploy participant systems.
Before selecting full, confirm the interactive checklist: smoke passed, API contract followed, run instructions complete, original work disclosed, and no integrity violations.
Verify the API Key on the Evaluation page, select a bound version, assign a unique Run Label, and submit the full evaluation. Formal jobs use the fixed suite and platform Top K.
The job proceeds through ingestion, retrieval, answering, scoring, and aggregation. The interface reports stage, progress, and error summaries while the platform retains evidence required for review.
Results are initially visible only to the bound API Key. A successful full job enters the public-eligibility gate and review queue; approval creates a public submission.
Reproductions of papers or existing repositories are allowed only with full attribution to the original authors, technical report, and all method changes. Undisclosed reuse may be treated as plagiarism. When duplicate code is discovered, the platform prioritizes the participant's first disclosed submission. Repeated near-duplicate or low-quality code, prompt injection, benchmark or result manipulation, malicious behavior, and other leaderboard abuse may cancel eligibility.
EVALUATION MODES
| Mode | Purpose | Standard quota | Visibility | Public eligibility |
|---|---|---|---|---|
| smoke | Separate integration endpoint for synchronous Add, Search, and scoring compatibility. | 1 per hour; at most 30 per track this edition | Private | Not eligible |
| full | Fixed complete benchmark suite with formal queueing, audit, and release workflow. | At most 2 Full runs per AML Key and track; the second unlocks 30 days after the first Full run is completed | Private first | Eligible after approval |
Use the separate compatibility smoke after initial integration or an API behavior change. Submit full, the only formal participant mode, after the version is ready for publication.
ADD / SEARCH CONTRACT
Participants configure the Add and Search URLs; request and response schemas are fixed and do not vary by path. Production deployments should use HTTPS. URLs must not embed credentials or resolve to private, loopback, or link-local addresses.
Add succeeds only with HTTP 200 after persistence
The response must not exceed top_k; excess items are a contract error
Add and Search must use the identical isolation boundary
Add / Search support Token, Bearer, and X-Api-Key; none is limited to public smoke. Health is an unauthenticated GET where any 2xx means healthy.
Ordinary Textual splits deterministically at either 20 messages or 2,000 Adapter-counted words. Streaming writes frozen incremental session or task units. Coding preserves repository/session trajectories; Multimodal follows published source units and media limits. One request may run for up to 30 minutes.
{
"request_id": "eval:run_abc123:locomo_refined:conv-0:chunk-0",
"messages": [{
"role": "user",
"timestamp": 1704067200000,
"content": "memory text"
}],
"user_id": "eval:run_abc123:locomo:conv-0",
"session_id": "eval:run_abc123:sample:0"
}
request_idRequired. Unique identifier for this chunk request; the success response must echo it exactly.
messagesRequired ordered array. Each item includes role and non-empty content. Textual and Coding use strings; Multimodal may use strings or ordered text/image_url content parts. timestamp is optional Unix milliseconds.
user_idRequired. The sole retrieval-isolation field; Search must use the identical value.
session_idRequired. Identifies the source session and may be used for grouping, but is not a Search filter.
Fields not sentThe current contract omits metadata, app_id, agent_id, and async_mode. Synchronous behavior is guaranteed by returning HTTP 200 only after Add completes.
Return success only after the write is persisted and immediately searchable.
HTTP 200
{
"success": true,
"request_id": "eval:run_abc123:locomo_refined:conv-0:chunk-0",
"user_id": "eval:run_abc123:locomo:conv-0",
"session_id": "eval:run_abc123:sample:0"
}
successRequired and must be the boolean value true.
request_id / user_id / session_idAll are required and must match the request byte for byte.
Synchronous completionInternal work may be asynchronous, but the endpoint must wait for completion before responding.
HTTP 202Supported only when the submitted version has an approved Add-status URL containing {task_id}; the response must return task_id. Without that binding, 202 is a contract error. memory_ids are not required.
The platform issues Search calls according to each track's workflow; Streaming may search the same question at multiple incremental steps. Questions retain their original language. Multimodal may use image content parts; choice options appear separately at the top level. One request may run for up to 30 minutes.
{
"query": "Which answer best matches the memory?",
"options": ["A. First answer", "B. Second answer"],
"user_id": "eval:run_abc123:locomo:conv-0",
"top_k": 100
}
queryRequired original question. Multimodal may use the same text/image_url content parts as Add. Do not replace it with a final answer or use benchmark gold data.
optionsOptional. Choice text is sent as a top-level string array for multiple-choice questions, including Streaming; omitted for open questions and never contains the gold answer.
user_idRequired. Retrieve only from memory stored under this exact value.
top_kRequired. The response must not exceed this number; formal external evaluations use 100.
Fixed schemaThe current contract does not send filters, rerank, or keyword_search.
Return a JSON object whose data field is a relevance-ordered array. Return an empty array when nothing is found.
{
"data": [{
"id": "mem_1",
"content": "remembered fact text",
"score": 0.87,
"created_at": "2026-07-01T12:00:00Z"
}]
}
dataRequired array. Do not add an items wrapper or return a top-level array.
idRequired non-empty string that stably identifies the memory.
contentRequired non-empty string; Multimodal may return text/image_url content parts. The original candidate is retained and passed to Answer.
scoreOptional number. Higher values should indicate greater relevance.
created_atOptional source or persistence timestamp.
Other fieldsThe platform reads only the declared fields above; undeclared fields such as metadata are ignored.
ERROR HANDLING
Participant endpoints should use standard HTTP status codes and return actionable errors without secrets. Platform business errors normally use {"detail":{"reason":"..."}}; HTTP 422 provides structured field-validation details.
| HTTP | Class | Typical case | Platform behavior and action |
|---|---|---|---|
400 / 422 | Contract error | An Add / Search request cannot be parsed, or a success response has missing or invalid required fields. | Not retried. Correct the schema using the error details, then rerun smoke. |
401 | Authentication failure | The Memory System Key is invalid, or the Authorization / X-Api-Key scheme does not match. | Not retried. Verify the authentication scheme and secret bound to the request. |
403 | Access denied | The key cannot call the endpoint, or the service rejects the current user_id scope. | Not retried. Review endpoint authorization and retrieval isolation. |
404 | Resource not found | An endpoint path is wrong, or a platform test, job, or result ID is invalid. | Verify the URL or resource ID. The synchronous contract has no Add Status polling. |
409 | State conflict | Add is temporarily conflicted, or a platform job is active and the Run Label is duplicated. | Add is retried with bounds; Search 409 is not retried. Wait or choose a new Run Label for platform conflicts. |
408 / 425 | Transient unavailability | The request timed out or the service is not ready. | Add and Search are retried with bounded backoff. |
429 | Rate or quota limit | The participant endpoint is capacity-limited, or a platform evaluation quota has not reset. | Endpoint calls are retried with bounds; for platform quotas, wait until the displayed availability time. |
500 / 502 / 503 / 504 | Transient service failure | The participant endpoint, gateway, or upstream dependency is temporarily unavailable. | The platform retries with backoff. Preserve the Job/Test ID and timestamp if failures persist. |
Add retries 408, 409, 425, 429, 500, 502, 503, 504, and 524. Search retries 408, 425, 429, 500, 502, 503, and 504. Network timeouts and transport failures are also eligible.
Even with HTTP 200, the stage fails if Add omits success=true or mis-echoes an ID, or if Search omits the data array or an item lacks id / content.
DATA, SECURITY & PRIVACY
Participant endpoints receive only the memory chunks, user/session identifiers, and retrieval questions needed for the current job. Gold answers, scoring criteria, and bulk dataset downloads are not provided.
user_id is the sole Search-isolation field and must match exactly during storage and retrieval. session_id is only for source-session organization. Cross-user_id retrieval is prohibited.
The Memory System Key is submitted through a controlled request flow and stored encrypted; job metadata contains only an opaque reference. Secrets do not appear in email, public rankings, or public API responses.
The platform connects only to network-validated public HTTP(S) endpoints and rejects URLs with embedded credentials or targets resolving to private, loopback, or link-local addresses.
The platform retains request outcomes, latency, errors, returned memories, and contract-validation evidence required to verify evaluation integrity and public eligibility.
Private jobs and results are visible only to the bound Leaderboard API Key. The public board shows approved systems, versions, scores, and required evaluation metadata.
Evaluation data and derived copies may be used only to complete the current job. Do not use them for training, fine-tuning, product analytics, dataset reconstruction, or redistribution. Restrict access to authorized personnel, avoid unnecessary payload logging, and delete the data within 30 days after job completion unless the platform approves another retention period in writing.
EVALUATION & RESULTS
Each chunk must be persisted and searchable before its HTTP 200 response.
The platform validates the data array, required fields, and Top K, then accepts candidates in participant order.
Valid candidate memories enter the locked platform Answer model and prompt workflow.
The platform applies fixed scoring contracts by question type and aggregates dataset and Overall results.
After completion, the bound API Key can inspect run status, breakdowns, error summaries, and job metadata.
An eligible full result creates a public submission only after qualification checks and review.
The result must come from a successful full run on the fixed suite; every evaluation task must succeed; the Answer model, evaluation contract, pipeline code hash, dataset bundle hashes, and question counts must be complete and match the current release baseline; and the result must be unique and pass platform review.
BENCHMARK SUITE
Browse benchmark datasets by dimension. Each card links to its source repository with task format, metrics, and evaluation notes.
150 software-engineering tasks run under relevant and noisy memory conditions, for 300 scored attempts.
Not currently used as the scored AML Coding benchmark.
第二期文本、代码与多模态赛道统一通过参赛方自行部署的 Add / Search API 接入。请按本页接口格式完成实现,申请并绑定评测 Key,通过 Smoke 后即可提交 Full 正式评测。
请在下方选择赛道格式;多模态会把文本与图片按顺序直接放入 messages[].content。
{
"request_id": "eval:<run_id>:locomo_refined:conv-0:chunk-0",
"messages": [{
"role": "user",
"timestamp": 1704067200000,
"content": "raw memory text"
}],
"user_id": "eval:<run_id>:locomo:conv-0",
"session_id": "eval:<run_id>:sample:0"
}
{
"request_id": "eval:<run_id>:multimodal:conv-0:chunk-0",
"messages": [{
"role": "user",
"timestamp": 1704067200000,
"content": [
{"type": "text", "text": "caption or text evidence"},
{"type": "image_url", "image_url": {
"url": "data:image/jpeg;base64,..."
}}
]
}],
"user_id": "eval:<run_id>:multimodal:conv-0",
"session_id": "eval:<run_id>:sample:0"
}
文本、代码与多模态使用相同的响应格式。
{
"success": true,
"request_id": "eval:<run_id>:locomo_refined:conv-0:chunk-0",
"user_id": "eval:<run_id>:locomo:conv-0",
"session_id": "eval:<run_id>:sample:0"
}
请在下方选择赛道格式;多模态 query 使用相同的有序 ContentPart[] 结构。
{
"query": "Which answer best matches the memory?",
"options": ["A. First answer", "B. Second answer"],
"user_id": "eval:<run_id>:locomo:conv-0",
"top_k": 100
}
{
"query": [
{"type": "text", "text": "Which answer matches this image?"},
{"type": "image_url", "image_url": {
"url": "data:image/png;base64,..."
}}
],
"options": ["A. First answer", "B. Second answer"],
"user_id": "eval:<run_id>:multimodal:conv-0",
"top_k": 100
}
请按参赛赛道选择响应格式;多模态结果可在 data[].content 中返回有序文本与图片。
{
"data": [{
"id": "mem_123",
"content": "remembered fact text",
"score": 0.87,
"created_at": "2026-07-01T12:00:00Z"
}]
}
{
"data": [{
"id": "mem_123",
"content": [
{"type": "text", "text": "remembered fact text"},
{"type": "image_url", "image_url": {
"url": "data:image/webp;base64,..."
}}
],
"score": 0.87,
"created_at": "2026-07-01T12:00:00Z"
}]
}
每次评测运行期间,你的 API 会接收基准内容。
你的 API 会接收评测记忆与问题。
这些数据仅限用于本次评测,不得用于训练、额外分析或共享。
请保持数据私密,避免留存日志,并在运行结束后 30 天内删除。
通过简明的页面地图,帮助用户在接口准备完成后快速找到下一步入口。
查看平台概览与基准预览。
按赛道查看公开排名。
验证 Key、启动评测任务,并查看私有结果与归因。
查看用户流程、API 契约、安全要求与结果发布规则。
提交包含任务说明、数据来源、数据包与授权信息的基准提案。
Help extend the Agent Memory Leaderboard by proposing a well-documented benchmark. Include the dataset context, evaluation goal, and provenance so reviewers can assess fit, safety, and reproducibility.