Ricardo Notes
arXiv 2605.23067 · Paper Note

RL Memory Agent 训练数据效应

这篇论文的核心不是又做了一个 memory benchmark,而是用一个受控实验说明: 对外部记忆问答 Agent 来说,RL curriculum 的来源分布会改变模型学到的细分技能形状; 混合数据带来的提升很小,但 per-type profile 暴露了单一总分会遮住的能力偏置。

Source Map

我读了什么,怎么核验

本报告以 arXiv PDF/HTML 为主证据,并额外读取作者公开的 GitHub 仓库。注意:论文正文与当前 GitHub 仓库状态存在可复现材料口径差异,后文单独列为证据边界。

论文主体 arXiv:2605.23067v1,标题为 What Training Data Teaches RL Memory Agents: An Empirical Study of Curriculum Effects in Memory-Augmented QA,2026-05-21 提交,PDF 共 14 页。
本地抽取 下载 PDF 至 results/arxiv-2605.23067/refs/2605.23067.pdf,用 pdfinfo 核验页数和元数据,用 pdftotext -layout 抽取全文。
证据图 从 arXiv HTML 保存 Figure 1 与 Figure 2 到本地资源目录,报告中只引用这些和重建表格,不做纯装饰图。
代码仓库 克隆 EvaxHe/rl-memory-curriculum 当前 main,检查 README、config、reward/metric 实现和公开 results。远端当前未发现论文声称的 v1.0-arxiv tag。
论文 Figure 1:三种 curriculum 的实验设计图
论文 Figure 1。实验设计的关键控制变量是训练数据来源,模型、RL 算法和优化超参保持一致。
Problem

这篇论文到底问了什么

外部记忆 Agent 的难点不是“能不能把历史塞进上下文”,而是在噪声 memory bank 中选对事实、组合事实、处理时间顺序和知识更新。单一 benchmark 总分很容易把这些能力混在一起。

传统实验范式的问题

现有 RL-for-memory-agent 工作通常在一个 benchmark 上训练,然后报告一个 aggregate score。 但 memory-augmented QA 并不是一个单技能任务:single-hop、multi-hop、temporal reasoning、knowledge-update 需要的检索和推理模式不同。

如果只看整体 F1,研究者可能会得出“某个 recipe 稍微更好”的结论,却看不到模型实际上只是在某些问题类型上被训练数据推了一把,在另一些类型上没有提升甚至退步。

论文的受控问题

作者固定 Qwen-2.5-7B-Instruct + LoRA、固定 GRPO、固定优化超参,只改变训练 curriculum: A 是 LoCoMo only,B 是 LoCoMo + LongMemEval,C 是 LongMemEval only。

这让论文能把问题收窄为:训练数据来源到底是在提高统一的“memory QA 能力”,还是在塑造不同的 specialization profile?

这里的 curriculum 不是 easy-to-hard 排序,也不是按难度 reweight;它指 source-level composition: 训练样本来自哪个 benchmark,以及这些 benchmark 覆盖哪些 memory skill。

Mechanism

方法链路:从对话到 RL 训练信号

论文研究的是 Answer Agent,不是完整学习 Memory Manager。memory bank 由启发式抽取构建,Answer Agent 从 top-k 检索结果里选择证据、推理并输出 XML 结构答案。

y ~ πθ( · | q, Mret )
1

构建 memory bank

对每个多轮会话,抽取超过五个词的实质性 turn,丢弃 greeting。对 LongMemEval 这种 user-assistant chat, 额外过滤超过 40 个词的长 assistant response,因为它们往往是泛泛建议,约占 memory entries 的一半,却不提供用户事实。

2

检索与截断

每个 conversation 最多保留 200 条 memory。推理时用 all-MiniLM-L6-v2 做 embedding similarity,取 top 60 条 memory, prompt 超过约 3000 tokens 时截断,避免上下文溢出。

3

GRPO 训练 Answer Agent

基座是 Qwen-2.5-7B-Instruct,LoRA rank 16、alpha 32。单卡 NVIDIA L40S 48GB 下 group size 为 4。 输出格式包含 <selected_memories><reasoning><answer>

4

奖励函数

论文主实验使用 token-level F1 作为主要任务奖励,再加一个最多 0.2 的 XML format reward。 作者最初尝试 binary exact-match reward,但在 G=4 下没有任务学习信号,这成为论文最有实践价值的工程发现之一。

训练配置。三组唯一有意变化的是训练数据来源。
Config 训练数据 QA pairs 设计含义
A LoCoMo only 152 复刻单 benchmark baseline,偏 in-domain memory QA。
B LoCoMo + LongMemEval 212 测试混合来源是否带来更 general 的 memory skill。
C LongMemEval only 60 测试小 out-of-domain 数据能否诱导特定技能。
Evidence

结果:总分小提升,细分能力更有信息量

如果只看 overall F1,论文像是一个 modest-gain 结果;如果看 per-type F1,它更像是在告诉你“不同数据源教会模型不同 memory 行为”。

Overall F1。Config B 在两个评测集上都是最高 RL-trained configuration。
Model Training Data LoCoMo F1 LongMemEval F1
Baseline No RL 0.119 0.141
Config A LoCoMo (152) 0.123 0.147
Config B Mixed (212) 0.131 0.155
Config C LongMemEval (60) 0.120 0.151
论文 Figure 2:不同问题类型上的 F1 heatmap
论文 Figure 2。heatmap 说明 curriculum effect 集中在具体问题类型,而不是所有类型统一抬升。
LoCoMo per-type F1。Config A 的 in-domain 优势主要体现在 temporal 与 multi-hop。
Question Type n Baseline A B C Best Δ
multi-hop 279 0.080 0.093 0.083 0.080 +0.013
open-domain 705 0.139 0.145 0.132 0.139 +0.006
single-hop 238 0.129 0.132 0.128 0.129 +0.003
temporal 85 0.116 0.131 0.121 0.116 +0.015
LongMemEval per-type F1。Config B 更偏 knowledge-update / user fact retrieval,Config C 在 temporal-reasoning 最高。
Question Type n Baseline A B C Best Δ
knowledge-update 64 0.124 0.121 0.147 0.123 +0.023
multi-session 118 0.073 0.078 0.083 0.079 +0.010
single-session-assistant 39 0.106 0.163 0.159 0.149 +0.057
single-session-preference 20 0.190 0.169 0.169 0.177 none
single-session-user 55 0.196 0.229 0.231 0.221 +0.035
temporal-reasoning 119 0.194 0.182 0.192 0.202 +0.008

不要把 Config B 的优势理解成简单的“多 60 条数据所以更好”。论文的一个关键论证是:Config C 只用这 60 条 LongMemEval 数据时并没有带来广泛提升, 但它在 temporal-reasoning 上最高。这说明这 60 条数据更像在注入某类行为,而不是提供通用样本量红利。

Engineering Lessons

最有实践价值的部分:数据清洗和 reward 方差

论文的绝对分数提升不大,但两个工程观察很实用:跨 benchmark 混合前要清理 memory bank 噪声;单 GPU 小 group GRPO 不适合 binary exact-match reward。

1. 混合 benchmark 不是简单 concat

LongMemEval 的 assistant response 往往很长且泛泛,加入 memory bank 后占约一半 entries,却对回答用户事实没帮助。 作者比较 Config B 的两个版本:未过滤版本约 466 entries/example,其中约 50% 是 assistant filler;过滤版本约 231 user-focused entries/example。

Config B Training F1 mean Q1 到 Q4 reward trend
v1 unfiltered 0.159 0.324 -> 0.364
v2 filtered 0.194 (+22%) 0.348 -> 0.403

2. G=4 时 EM reward 会塌缩

GRPO 在同一组 sampled completions 内标准化 reward。binary exact-match 在 open-ended QA 中太稀疏; 当 G=4 时,一组里很可能所有候选都是 0,组内标准差为 0,于是没有任务相关 advantage。

Ai = ri - r̄σr

作者报告初始 EM reward 实验中,几百步 task reward component 都是 0,总 reward 只剩最多 0.2 的 format reward; 切换 token-level F1 后,step 5 已有 task reward 0.23、std=0.03,可以形成学习信号。

实践规则:如果只能在单卡上用小 group GRPO 训练开放式 QA,不要用纯 EM 作为主 reward; 使用 F1、substring/semantic overlap、LLM judge score 或 verifier score 等连续信号,并记录组内 reward std。

Boundaries

证据边界:这不是一个强 SOTA 论文

这篇论文的价值主要在实验设计和工程经验,不在绝对性能。读它时要主动压住三类外推:分数幅度、统计稳健性、复现仓库状态。

分数提升很小

Overall F1 从 0.119 到 0.131、从 0.141 到 0.155,属于 modest improvement。 这支持“curriculum 有影响”,但不足以证明该方法已经解决 memory QA。

per-type 统计不充分

某些类别很小,例如 single-session-preference 只有 20 个问题、single-session-assistant 只有 39 个问题。 论文自己也提醒不要把单个 per-type gain 当成强统计结论。

训练规模受限

实验是单卡 LoRA、G=4,不是 prior work 中更大 group 的 full fine-tuning。 这让 reward 稀疏问题更明显,也限制了绝对性能和结论外推。

复现仓库核验边界:论文 Reproducibility Statement 写有 v1.0-arxiv tag,但本次检查远端 tags 为空; 当前公开 results/ 明确标注为 Phase 1 的 Qwen-2.5-3B + LoRA + AA-only 参考结果,不是论文主表的 Qwen-2.5-7B 结果; 默认 YAML config 仍写 unsloth/Qwen3.5-4Breward: "em",与论文主实验文字存在口径差异。

这不等于论文结论无效,而是说明目前更适合把它当作一个可借鉴的 controlled study 和 failure-mode note; 如果要把结论用于生产或后续研究,需要重新跑完整 7B 实验、固定 commit/tag、公开 prediction files,并补 confidence interval 或 bootstrap。

Implications

如果你要训练自己的 memory agent

我会把这篇论文转化成一个研发 checklist,而不是直接复制它的具体分数。

数据策略

  • 先把 memory QA 拆成 skill taxonomy:事实检索、偏好检索、多跳组合、时间排序、知识更新、拒答边界。
  • 训练集不要只追求总量,要追求 skill coverage;每个来源数据集要标注它主要提供哪类行为。
  • 跨来源混合前先做 memory-bank hygiene:过滤格式噪声、assistant filler、模板化回复和不会被 gold answer 使用的冗余上下文。
  • 报告每类问题的 F1、EM、judge score 和样本数;总分只能作为摘要,不能替代诊断。

RL 策略

  • 单卡小 group GRPO 下,主 reward 用连续信号,至少要监控 reward std 和 zero-variance group 比例。
  • 如果业务必须用 EM/verifier binary reward,尽量提高 group size、增加 sampling diversity,或引入辅助 dense reward。
  • 不要只看训练 reward 上升;像 Config C 一样,小数据可以诱导目标行为,同时 aggregate generalization 不稳定。
  • 复现实验必须固定代码 tag、数据版本、模型 checkpoint、prediction files 和 eval script,否则 per-type 结论很难比较。
Insight

我对这篇论文的判断

这篇论文真正教的不是“混合训练一定更好”,而是一个更基础的事实: memory agent 的 RL 数据不是可互换的 fuel,而是会改变 policy 的行为偏置。 一个样本来自 LoCoMo 还是 LongMemEval,背后对应的是不同的记忆使用动作:从 rich dialogue 中做组合, 从 user-assistant haystack 中找用户事实,处理时间顺序,或处理知识更新。

因此,agent memory 的训练预算不应该按“有多少 QA pairs”来规划,而应该按“要买哪些 memory skill”来规划。 这也是为什么总分在这里反而不够重要:总分只告诉你平均水平,per-type profile 才告诉你模型被训练数据推向了哪里。

但这篇论文还没到可以作为强结论引用的程度。它的最好用途,是作为两个 warning 的集合: 第一,benchmark mixing 如果不做 memory hygiene,噪声会直接污染 RL signal; 第二,小 group GRPO + 稀疏 binary reward 是一个很容易“看起来在训练,实际上没任务梯度”的坑。