静态工作流部署后就停止学习;微调 LLM 又要付出算力、数据与灾难性遗忘的代价。
Memento 把「学习」从模型参数挪到外部案例库:成功与失败轨迹都写成 (state, action, reward),
规划时检索相似或高价值的案例,只在线训练一个轻量 Q 函数。代价是推理链路更长、案例库会饱和。
论文要回答的是:Agent 能不能在部署后继续变强,但不更新底层 LLM?它的答案是 M-MDP:
把案例库 M 作为状态的一部分,策略同时依赖当前状态 s 和记忆 M;
写操作追加 (s,a,r),读操作决定参考哪条旧经验。
两种读法对应两种记忆。非参数化 CBR 按 SimCSE 语义相似度做 TopK;
参数化 CBR 用 Q(s,c;θ) 预测「这条案例对当前任务有多有用」,再做 TopK。
Q 是两层 MLP,用二分类交叉熵在线更新,LLM 始终冻结。
在 DeepResearcher 的七个 QA 数据集上,Memento 平均 F1 66.6 / PM 80.4, CoT+RAG 是 37.7 / 43.2:F1 绝对高 28.9 个百分点(66.6 − 37.7), 相对提升 76.7%(28.9 / 37.7)。但 §5.5.3 说案例库约 3k 数据就饱和, Table 4 的后续迭代收益递减;推理侧 token 成本也随任务难度上升。
先分清两种「不会学」:工作流不会更新,微调更新的是模型而不是经验。
很多 Agent 的能力来自固定的提示、工具编排和反射流程。它们在窄任务上可用,但部署后是静态的: 既不会把新环境的信息写回系统,也不会从失败轨迹里改进行为。论文把这类方法归为 「fixed workflows and hard-coded reasoning」(§1)。
另一条路是更新 LLM 本身:SFT 或 RL。它更灵活,但需要大量算力、数据和长程 rollout; 论文还点名灾难性遗忘的风险(§2.1)。对需要持续上线的 Agent 来说,每次环境变化都重训一遍并不现实。
RAG 也不是答案。RAG 检索的是静态文档语料,缺少「从自己的成功/失败中持续适应」的机制(§2.1)。
Memento 要检索的是 Agent 自己的经历:一条案例是 (s,a,r),s 是任务/状态,
a 是计划,r 是成功或失败。
“How can we build LLM agents that learn continuously from a changing environment without the prohibitive cost of fine-tuning the underlying LLMs?”(§1)
论文的回答不是「更好的 prompt」,而是把记忆做成决策过程的一部分。
一个具体的场景是 deep research:任务需要多步搜索、爬取、读文件和写代码,单步答案对不对很难提前判断。 如果每次失败都只留在上下文里,下一次还要重新踩坑;案例库把失败也存下来,下一次规划可以直接避开。
论文的定位不是「又一个 Agent 框架」,而是换掉学习发生的位置。
ReAct、Reflexion 一类方法靠预定义启发式改进行为;它们能在单次任务内反思,但没有真正的持续学习。
论文的措辞是 “pre-defined heuristics and do not achieve true lifelong learning”(§2.3)。
SFT、RL、GRPO 一类方法更新 LLM 参数;任务保真度高,但计算、数据、灾难性遗忘的代价高(§2.1)。
长程任务还要大量 rollout 和人工标注问题。
RAG 从静态文档里取事实;CBR 从动态经验库里取「过程」。
论文把两者在 §2.1 明确区分:RAG “query static document corpora and lack mechanisms for continual adaptation”。
Memento 走的是另一条路(不是 RAG):LLM 冻结,学习发生在外部记忆的写入与读取上。 它借的是 Case-Based Reasoning:从旧案例检索、复用、修正、保留,再把这次的结果写回库(§3)。
M-MDP 定义问题,两种 Read 定义方法;真正的区别是「相似」还是「有用」。
M-MDP 在标准 MDP 上加了一个记忆空间 M = (S × A × R)*。时刻 t 的案例库是
Mt = {ci},每条 ci = (si, ai, ri)。
执行一步后,新案例被追加:Mt+1 = Mt ∪ {(st, at, rt)}(Eq.12)。
检索策略 μ 是唯一要学的东西。论文用最大熵 RL 推出最优检索策略是 Q 值的 softmax(Eq.7):
但直接学 Q 很难,因为状态和案例都是自然语言。论文给了两条实现路径:
Read 直接用冻结编码器的余弦相似度做 TopK(Eq.13)。它假设「相似的问题有相似的解」,不学任何检索参数。
ReadNP(st, Mt) = TopKci∈Mt sim(enc(st), enc(si))
编码器用 SimCSE,相似度是余弦(§5.3)。
Read 用 Q(s,c;θ) 做 TopK(Eq.16)。Q 预测「在当前状态下参考案例 c,最终成功的概率」,因此可以选出表面不像、但结构上有用的案例。
ReadP(st, Mt) = TopKci∈Mt Q(st, ci; θ)
Q 是两层 MLP,用 SimCSE 初始化句子表示(§5.3)。
在 deep research 实现里,CBR 只用于规划,所以整个 M-MDP 被简化成单步:TD 目标坍缩为即时奖励, Q 直接用二分类交叉熵训练(Eq.15)。这是论文明确说的简化,不是页面替它补的(§4.2)。
注意:Eq.7 的 softmax 是理论上的最优检索分布;实际 Read 用 TopK 取 Q 最高的 K 条,以减少随机性(§4.2)。
下面只保留排序:5 条案例,分别给出「相似度排名」和「Q 排名」。切换读法、拖动 K,看两种 CBR 选中的案例何时重合。 排序是页面构造的示意,不是论文实验数据;机制对应 Eq.13 与 Eq.16。
排序(页面示意):相似度 A > B > C > D > E;Q 值 D > E > C > B > A。
第 1 组,K=2:非参数化取相似度前二 = {A, B};参数化取 Q 前二 = {D, E}。两组交集为空。
第 2 组,K=4:非参数化取 {A, B, C, D};参数化取 {D, E, C, B}。交集为 {B, C, D},两组已经大部分重合。
这个模拟覆盖了什么:只覆盖 Eq.13 / Eq.16 的 TopK 排序与选择。未覆盖 Eq.7 的 softmax 采样、Eq.15 的 Q 训练、真实 SimCSE 编码器,以及案例库的写入与增长;它是机制示意,不是论文实验复现。
LLM 冻结;要学的只有 Q(s,c;θ),而且每条轨迹只写最后一步。
实现细节在 §5.3:非参数化 CBR 用 SimCSE 编码句子、余弦相似度排序;参数化 CBR 也用 SimCSE 初始化句子表示, Q 函数是一个两层 MLP。整个训练过程不更新 GPT-4.1 / o3 / o4-mini 的参数。
案例写入不是把整条轨迹塞进库。论文只保留每条轨迹最后一步的 (s,a,r),
避免状态里继承的前文造成冗余(§5.3)。这让案例库保持紧凑,但也意味着中间步骤的过程信息不会单独成为案例推断(依据:§5.3 只写 final step 的 (s,a,r) 入库)。
参数化 CBR 的 Write 同时做两件事:追加案例,和用 Eq.15 更新 Q。因为 deep research 的奖励是二元的
r∈{0,1},论文把 MSE 换成交叉熵,理由是 MSE 在 0/1 附近梯度会消失(§4.2)。
Algorithm 1 给的是完整 M-MDP 版本:TD 目标、目标网络、kernel-based episodic control。 实际 deep research 实现走的是单步简化版:CBR 只在规划时用,TD 目标坍缩为即时奖励,kernel 估计被去掉(§4.2);单步设定下目标网络也不需要推断(依据:没有 bootstrap,TD 目标不含下一状态 Q)。
页面按 §4.2 的单步实现讲;Algorithm 1 的多步分支未被这个实现覆盖。
成本账要分开看。训练侧只更新两层 MLP 和写案例库,没有 LLM 梯度;推理侧每个规划步都要检索, planner-executor 交替调用工具,token 消耗随难度上升(Figure 6)。论文报告的是 token 成本,不是 wall-clock 时延。
Figure 3 的主循环:规划阶段查 Case Memory,执行阶段查 Tool Memory,完成后写回案例。
Memento 是 planner-executor 架构。Planner(GPT-4.1)负责把任务拆成子任务; Executor(GAIA 用 o3,其他数据集用 o4-mini)通过 MCP 协议调用搜索、爬取、代码、文件处理等工具。 两者交替,直到 planner 判断任务完成。
三类记忆分工不同:Case Memory 存向量化的 (s,a,r),供规划检索;
Subtask Memory 存当前子任务与执行结果;Tool Memory 存每个子任务的工具调用日志。
只有 Case Memory 是跨任务持续增长的。
覆盖:§4.1 的 planner / executor 交替、Case Memory 的 Read / Write、Subtask Memory 与 Tool Memory 的层级, 以及 §4.3 的 MCP 工具入口。
未覆盖:§4.3 的多模态处理细节(VLM 图像描述、ASR 音频转写、PDF fallback 等), Figure 3 中每个 MCP server 的具体连接,以及案例库内部的向量索引实现。图是简化重绘,不是原图逐像素复制。
一个容易忽略的点:planner 的「规划」不是一次性输出完整计划,而是每轮根据 Subtask Memory 里的执行结果重新评估; 任务完成后才写案例(§4.1)。所以案例库记录的是完整任务的最终状态-计划-奖励,而不是每个子任务的中间步骤。
先看 DeepResearcher 和 GAIA 的主表,再看消融、K 与五轮迭代。
Table 1 的七个开放域 QA 数据集(NQ、TQ、HotpotQA、2Wiki、Musique、Bamboogle、PopQA)上, Memento 用 GPT-4.1 planner + o4-mini executor,平均 F1 66.6、PM 80.4。 CoT+RAG 是 37.7 / 43.2;训练式的 DeepResearcher 是 51.8 / 60.5。
Table 1(节选) · DeepResearcher 七个数据集的平均;表注称最后两列为 weighted average(Bamboogle 125 条,其余各 512 条)。基线 CoT / CoT+RAG / Search-r1 / DeepResearcher 均为 Qwen 2.5 (7B) backbone,Memento 用 GPT-4.1 planner + o4-mini executor,属跨 backbone 比较
| 方法 | Avg F1 | Avg PM |
|---|---|---|
| CoT | 23.6 | 26.1 |
| CoT + RAG | 37.7 | 43.2 |
| Search-r1-base | 48.3 | 53.8 |
| DeepResearcher | 51.8 | 60.5 |
| Memento(GPT-4.1 + o4-mini) | 66.6 | 80.4 |
相对 CoT+RAG,按表内数字直接相减,F1 绝对高 28.9 个百分点(66.6 − 37.7),相对提升 76.7%(28.9 / 37.7); PM 绝对高 37.2 个百分点(80.4 − 43.2)。论文用 “nearly doubling” 描述这个差距; 按原表算是 1.77 倍(66.6 / 37.7),严格说不是 2 倍。
但这组比较有一个口径问题:Table 1 表注称最后两列是 weighted average,而 Memento 的 66.6 / 80.4 是七个数据集的简单平均(F1 七项之和 466.2 ÷ 7 = 66.6;PM 562.8 ÷ 7 = 80.4),按 Bamboogle 125 条、其余 512 条加权复算应为 64.23 / 78.90;CoT+RAG 的 37.7 / 43.2 则是加权值(37.72 / 43.15)。按统一加权口径,F1 差 26.51 个百分点、相对提升 70.3%,PM 差 35.75 个百分点,F1 比值 1.70。两种口径并列,本页不替原文选择;引用时应说明用的是哪一种。
Table 2 是 2025-06-26 的 GAIA leaderboard。Validation 上 Memento 87.88%,Alita 87.27%, 差 0.61 个百分点(87.88 − 87.27);test 上 Memento 79.40%。 注意两件事:其一,Pass@3 只标在 validation 的 Memento 行,Alita 与 test 各行都没有这个标注,所以 0.61 的差值不是严格同口径;其二,test 的案例库不是从 test 学出来的——论文说 test 只用 validation 期间积累的案例库(§5.4)。
Table 2(节选) · GAIA validation / test;仅 validation 的 Memento 行标 Pass@3,其余行未标
| Split | Agent | Avg (%) | Level 1 (%) | Level 2 (%) | Level 3 (%) |
|---|---|---|---|---|---|
| Validation | Memento(Pass@3) | 87.88 | 96.23 | 90.70 | 61.54 |
| Validation | Alita | 87.27 | 88.68 | 89.53 | 76.92 |
| Test | Su Zero Ultra | 80.40 | 93.55 | 77.36 | 65.31 |
| Test | h2oGPTe Agent v1.6.33 | 79.73 | 89.25 | 79.87 | 61.22 |
| Test | Memento | 79.40 | 90.32 | 75.47 | 71.43 |
§5.4 写 Memento 在 test set 是 “4th place”;Table 2 表注写 “Top-1 performance on the validation set and the test set in open-source agent frameworks”。Table 2 可见行里,Su Zero Ultra 80.40、h2oGPTe v1.6.33 79.73 都高于 Memento 79.40。
这两句可能同时成立:第 4 名是总榜名次,top-1 限定在 open-source agent frameworks。但本页看不到完整榜单,无法确认 79.40 之上是否还有闭源系统,也无法确认 Su Zero Ultra / h2oGPTe 是否算 open-source。两处并列呈现,本页不替原文合并口径。
Validation 的 Level 3 是另一个边界:Memento 61.54,Alita 76.92。总体第一不等于每一层都第一。
Table 5 把系统拆成四层:Offline Executor(只有 LLM)→ Online Executor(接工具,无 planner/记忆)→ Memento w/o CBR(加 planner,无案例记忆)→ Memento(完整)。
Table 5(Average 行) · 每格 F1 / PM;planner GPT-4.1,executor o4-mini
| 设置 | HLE | SimpleQA | DeepResearcher |
|---|---|---|---|
| Offline Executor | 6.4 / 8.7 | 19.7 / 21.5 | 48.8 / 62.8 |
| Online Executor | 11.2 / 15.8 | 48.5 / 84.8 | 30.8 / 60.7 |
| Memento w/o CBR | 22.2 / 17.4 | 81.0 / 89.7 | 59.9 / 72.2 |
| Memento | 26.7 / 24.4 | 84.7 / 95.0 | 66.6 / 80.4 |
两个反直觉点。第一,接上实时工具不一定更好:DeepResearcher 从 Offline 到 Online,F1 从 48.8 掉到 30.8 (下降 18.0 个百分点,48.8 − 30.8),PM 从 62.8 掉到 60.7(下降 2.1 个百分点,62.8 − 60.7)。 论文把它归因于数据污染(§5.5.2),并说外部知识有时会负面影响模型。
第二,案例记忆的增益是叠加的:在 w/o CBR 之上,HLE 高 4.5 F1 / 7.0 PM (26.7 − 22.2 / 24.4 − 17.4),SimpleQA 高 3.7 / 5.3 (84.7 − 81.0 / 95.0 − 89.7),DeepResearcher 高 6.7 / 8.2 (66.6 − 59.9 / 80.4 − 72.2)。
Table 4 是 DeepResearcher 上五轮迭代的曲线。三条线都在上升:w/o CBR 78.65→84.47(+5.82), 非参数化 79.84→84.85(+5.01),参数化 80.46→85.44(+4.98)。但三条线同时上升不能直接归因于案例库:w/o CBR 按 §5.3 是禁用 episodic memory 的设置,它的 +5.82 甚至高于参数化 CBR 的 +4.98,与「案例记忆带来持续学习」的叙事存在张力。参数化 CBR 的差别是每轮水平更高,但它相对 w/o CBR 的领先并不单调收窄:Iter 1 是 1.81(80.46 − 78.65),Iter 2 升到 1.91(82.84 − 80.93),之后才降到 Iter 5 的 0.97(85.44 − 84.47)。端点确实从 1.81 缩到 0.97,但中间有回升。
Table 4 · DeepResearcher 五轮迭代;表注未标注指标定义,正文称其为 accuracy(§5.5.3)。表中三行全量转录
| 方法 | Iter 1 | Iter 2 | Iter 3 | Iter 4 | Iter 5 |
|---|---|---|---|---|---|
| Memento w/o CBR | 78.65 | 80.93 | 82.62 | 83.53 | 84.47 |
| Memento w/ Non-Parametric CBR | 79.84 | 81.87 | 83.09 | 84.03 | 84.85 |
| Memento w/ Parametric CBR | 80.46 | 82.84 | 84.10 | 84.85 | 85.44 |
论文也承认饱和:约 3k 训练数据后 Case Bank 很快饱和, 后面每轮的新案例越来越少,增益递减(§5.5.3)。
Table 3 扫 K=0,1,2,4,8,16,32。Average F1 在 K=4 最高(64.5),PM 也在 K=4 最高(78.5); K=0 是 59.9 / 72.2,K=32 是 63.9 / 78.1。也就是说,从 K=0 到 K=4, F1 绝对高 4.6 个百分点(64.5 − 59.9)、PM 高 6.3 个百分点(78.5 − 72.2); 再往上加,F1 反而低 0.6 个百分点(64.5 − 63.9)、PM 低 0.4 个百分点(78.5 − 78.1)。
“CBR benefits from a small, high-quality memory, unlike few-shot prompting, where more examples often help.”(§5.5.1)
论文接着说,仔细的案例选择与记忆管理因此很关键。
Table 3(Average 行,转置) · K 与平均 F1 / PM;7 个数据集的分项未转录
| K | 0 | 1 | 2 | 4 | 8 | 16 | 32 |
|---|---|---|---|---|---|---|---|
| Avg F1 | 59.9 | 63.6 | 63.7 | 64.5 | 64.1 | 63.9 | 63.9 |
| Avg PM | 72.2 | 77.9 | 78.1 | 78.5 | 78.2 | 78.1 | 78.1 |
第 1 组,K=0 → K=4:F1 59.9 → 64.5,差 64.5 − 59.9 = 4.6 个百分点;PM 72.2 → 78.5,差 78.5 − 72.2 = 6.3 个百分点。
第 2 组,K=32 → K=4:F1 63.9 → 64.5,差 64.5 − 63.9 = 0.6 个百分点;PM 78.1 → 78.5,差 78.5 − 78.1 = 0.4 个百分点。
这个交互覆盖了什么:只复现 Table 3 Average 行的数值切换与高亮;未实现真实检索、SimCSE 编码、Q 训练或案例库写入,是简化示意。
SimpleQA 上 Memento 95.0% accuracy(Figure 4);HLE 上 24.4% PM,比 GPT-5 的 25.32% 低 0.92 个百分点(25.32 − 24.40),排第二(§5.4)。 这两个数字的条件是 GPT-4.1 planner + o4-mini executor;不要和 GAIA 的 o3 executor / Pass@3 直接比。
Table 6 的 GAIA validation pass@1:GPT-4.1 planner + o3 executor 70.91,o3 planner + o3 executor 63.03, 差 7.88 个百分点(70.91 − 63.03)。这里只转录这两行;原表还有 Qwen3-32B 等配置(如 53.94 / 40.61),未转录。
论文的解释是 o3 planner 有时直接答题、跳过规划,或生成过长的计划,反而误导 executor(§6.3)。 在模块化系统里,简洁、结构化的规划比「想得更久」更重要。
案例库会饱和、工具会引入噪声、不同基准的条件不能混着比。
第一,记忆规模。论文自己说 Case Bank 在约 3k 训练数据后很快饱和(§5.5.3); Table 4 的五轮曲线也在 Iter 3 后趋缓(§5.5.3 称 rapid convergence)。论文的实验规模停留在约 3k 训练数据,百万级案例下的检索效率不在本文实验范围内。
第二,推理成本。Figure 6 的 token 统计:GAIA Level 1 平均 26k 输入 / 4.7k 输出,Level 2 48k / 6.9k, Level 3 121k / 9.8k。论文的结论是主要负担来自整合多步工具输出,而不是生成长回答(§6.2)。 但论文报告的是 token 成本,不是端到端时延;检索、planner-executor 交替和工具调用的 wall-clock 开销不在 Figure 6 的范围内。
第三,奖励假设。实现里 reward 是二元的 r∈{0,1},CBR 只用于规划,所以 M-MDP 被简化成单步(§4.2)。
论文的实验都建立在二元奖励上;概率化 reward 与 memory update 被列为 future work(§3)。
第四,工具不是越多越好。DeepResearcher 的 Offline→Online 反而掉了 18.0 F1 个百分点(Table 5c), 论文归因于数据污染。这条对「多接工具总没坏处」的直觉是一个反例。
第五,条件不能混。GAIA 的 87.88 是 validation 的 Memento 行、标了 Pass@3,同表其余行未标 Pass@3; Table 6 的 fast/slow 对比是 pass@1;DeepResearcher / SimpleQA / HLE 用 o4-mini;Table 4 的表注未标注指标定义。 把 87.88、70.91、66.6 放在一起比较会混淆口径。
最后,GAIA Level 3 仍是短板:validation 上 Memento 61.54,Alita 76.92;test 上 Memento 71.43。 总体排名靠前,不代表长程任务已经解决。
推断(依据:论文只验证了二元奖励、deep research 场景与约 3k 案例的规模;以上是工程判断,不是论文结论。)