RL新范式:从经验到更高质量数据——我们不再训练模型,而是在制造数据

TL;DR

新一代 RL 范式,本质是在“制造更高质量的训练数据”,而不是单纯优化参数。

方法 提升的信息类型
ERL/OEL 局部修正(reflection),通过“反思 → 经验 → 蒸馏”,把一次尝试变成可复用知识
MR-Search 跨 episode 经验,把“反思”提升为跨 episode 的持续积累(接近元学习)
Reconstruction 隐式推理过程,不学结果反推“生成过程”(学习思维轨迹而非表面数据)
ACT 偏好信号(implicit reward),用对比学习逼出“真正的自我反思”,而不是模仿式反思
CRL 长期可复用经验,让“策略”和“经验系统”协同进化,形成闭环学习系统

以上方法其实都在做一件事:Trajectory → Information Gain → Policy Improvement。核心是把低信息密度的轨迹转换为高信息密度监督信号。


上篇《Training-Free RL:当“训练”不再更新参数,而是更新上下文 | 长琴[1]》我们介绍了一些不更新参数的“训练”范式,目前还在实验中,但目测应该是有效果的——我个人老早就想自动化 prompt 的调整了,这一步着实不应该成为门槛,更不应该投入过多精力去 try-and-error,实在是太不自动化、太不可控了。

不过本文不讨论 Training-Free,而是介绍一些基于 “反思和经验” 的学习范式,固然是需要训练的,但更多的难道不算是一种数据构造方式?从这个角度看也挺有意思。

反思

这个点是最容易想到的,绝大多数 paper 都是这个思路,很 naive 的想法——让 LLM 根据结果自己反思哪些地方有问题,可以改进,然后沉淀成经验,便于后续使用。

来自微软的 2602 Experiential Reinforcement Learning[2],经验强化学习(ERL),就是这样。

它将显式的体验–反思–巩固环嵌入强化学习过程:给定一项任务,模型生成初始尝试,接收环境反馈,并产生一个指导优化第二次尝试的(结构化)反思,该次尝试的成功会被强化并内化(自蒸馏)为基础策略,后续能够直接从原始输入重现改进后的行为而无需反思。

算法过程如下:

再比如来自 Allen 的 2603 Meta-Reinforcement Learning with Self-Reflection for Agentic Search[3](MR-Search),它通过在每个 episode 结束后生成显式的自我反思,并将这些反思作为额外上下文用于指导后续尝试,从而实现跨 episode 的探索。这就实现了多轮交互下的连续自我反思和跨轮次知识整合,一种逐步累积信息、不断改进的过程。也可以看成是一种元学习,元学习的目标是“如何生成有效的自我反思”。

噢噢,差点忘记说,微软紧跟着有一篇 2603 Online Experiential Learning for Language Models[4],简称 OEL,直接把 ERL 那一套搬到了线上(伪在线……),实现从现实环境交互中学习。

  • 首先,从用户端收集的交互轨迹中提取并积累可迁移的经验知识;
  • 其次,通过策略内上下文蒸馏将这些知识整合到模型参数,无需访问用户端环境。

其实还是 ERL+蒸馏,不过数据来自真实环境。算法过程如下:

其中,Equation(1)就是把提取到的经验和历史经验拼接,非常简单。感觉是不是也可以试一下?

逆向

这个做法也比较有意思,来自字节的 2603 Understanding by Reconstruction: Reversing the Software Development Process for LLM Pretraining[5],它主要是通过重构进行理解,一个基本假设是:对静态仓库背后潜在的智能体轨迹(即规划、推理和调试步骤)进行逆向工程(重建创建过程),能够提供比原始代码更丰富的监督信号。用更加通俗的话来说,就是不看表面数据(轨迹),而是尝试理解数据背后的思维和创建过程。

具体采用多智能体仿真:主智能体生成高层需求和实施方案,而子智能体则被委派处理各个独立文件。为防止偏离正确方向,过程中还注入了结构化的真实值信息(比如从代码中提取的文件层级结构和依赖图)。同时,引入基于搜索的最优化技术来优化思考过程。受树搜索算法的启发,将轨迹分解为多个步骤,迭代采样优化。仅当新生成的思维降低了目标真实代码的困惑度,才代替原始推理。

数据合成过程如下:

  • 主智能体做项目规划。包括项目需求生成和实施计划指定。
  • 子智能体实现具体实现。包括规划文件实现、信息收集(Read)和代码生成(Write)。
  • 以提取的信息为基准进行仿真。包括文件结构树、文件间依赖图、文件内结构等。而且读写的内容都是仓库真实数据。

其实要训练的目标就是「开发过程」的逻辑,而非具体的实现,模型仅预测 Think 和 Action 的 token,Observation 的 token 会被 mask。而且,考虑到合成数据的偏差和噪声,不选择 SFT 而是选择 CT。Action token 类似 CallSubAgent(task="Create 'operations.py'..."ReadTool(file="operations.py") 这样。

对比

这个 2603 Agentic Critical Training[6] 更有意思了,作者觉得前面的反思其实是一种模仿,并不是自发产生的。于是提出这个 ACT 框架:在序列决策过程的每个时间步中,将每个专家动作与模型生成的替代动作配对,形成偏好对(假设专家更好),RL 训练智能体识别哪个动作更好。由于没有监督信号,模型就必须自主进行思维链展开,做出正确选择,这就产生了真正的自我反思。

  • 阶段 1(数据构建):给定专家示范轨迹,提取状态-动作对,并在每个状态从初始策略 πθ0 中采样替代动作。将专家动作与模型生成的替代动作配对,以构建对比训练样本。
  • 阶段 2(Agentic Critical 训练):模型通过 GRPO 进行训练,以在随机顺序呈现的候选动作中识别出更优的动作,通过可验证的奖励内化对动作质量的理解。
  • 阶段 3(RL 动作训练):使用 RL 对增强后的 ACT 模型进行进一步训练,实现直接动作生成(利用改进的 Critical 推理基础)。

好家伙,这是让模型“显式” DPO 啊,我想,要不要试一下看看效果?看起来还 make sense,而且真的巨简单,两步的 reward 都一样:

R(s,y)=Racc(a,a+)+Radm(a,Aadmissible)+Rfmt(y),R(s, y)=R_{\mathrm{acc}}\left(a, a^{+}\right)+R_{\mathrm{adm}}\left(a, \mathcal{A}_{\mathrm{admissible}}\right)+R_{\mathrm{fmt}}(y),

  • a 是提取到的 action,和专家动作匹配 1 分,否则 0 分。
  • Aadm 是可接受(有效但非最优)奖励,a 属于 Aadm 给 0.1 分,否则 0 分。
  • 格式正确 0 分,不正确 -0.5 分。

互补

之前的经验要么是静态的,要么无法和 actor 协同进化,阿里在 2603 Complementary Reinforcement Learning[7] 提出互补强化学习(CRL),实现经验提取器与策略的无缝协同演化。具体来说,策略通过奖励驱动优化(我们已经很熟悉了),经验提取器则据其提炼的「经验是否显著促进策略的成功」来优化。

经验提取器使用 CISPO[8] 优化,策略则使用 GRPO 的一个变种。因为他们发现,当所有交互都依赖检索到的经验时,策略会过早收敛,并落后于经验引导(说明策略没能将经验内化为能力,反而对外部指导过度依赖)。因此将采样分为两个组:经验引导和无经验。但由于两个组的奖励尺度和方差存在差异,导致优势估计有偏差,所以需要在每个子组内计算优势。

算法不复杂,但工程实现可不容易,因为两个模型是互相依赖的,序列执行显然会浪费资源,所以 CRL 用了异步设计,将 replay 收集与经验蒸馏解耦。

主循环中,策略持续与环境交互以收集 replay,并使用 RLVR 优化;后台经验提取器处理已完成的轨迹,蒸馏经验,维护经验库。经验管理器 H 承担两个协调角色:

  • 经验整合:维护一个内部队列 Q 以接收并调度蒸馏请求,且在写入锁的保护下管理对 M 的所有写操作,以防止状态冲突。
  • 经验检索:将并发检索查询聚合为 batch 以最大化吞吐,并在读取锁的保护下将语义搜索分发至并行工作进程,以实现并发读取。

看起来和这里[9]介绍的 MemAPO[10] 有点关联,一看果然都是阿里的。

总的来说,两个优化在一套框架下但又解耦的比较干净。其实还有一些小细节,比如同一任务多实例运行可能导致 M 冗余,所以周期性地触发 Merge 操作——以块为粒度分析 item 决定去留,结果带着滑动到下一块。再比如只使用任务描述作为 query 可能会反复检索到相同的经验,于是引入 search_and_ask 工具,允许策略在环境交互过程中的任意决策步骤主动查询 M,查询时还会根据当前状态及所面临的问题总结生成一个上下文感知的 q′ 进行检索。再比如经验提取器的更新需要等待经验条目 m(唯一的 m 视为一个独立的训练样本)达到所需的训练批量大小时才触发。

小结

本节我们介绍了几种新的 RL 训练范式,其实简单来说就一句话——把一些「相关的反馈」纳入训练过程。这里的反馈主要是「反思经验」。从 ERL 到 OEL,经验和真实环境开始互动;从代码“逆向”设计,让「创建思维」再现提升模型;从模仿到真正自我反思,ACT 先让模型根据 pair 对对比学习好坏从而产生自我反思后再训策略;从静态存储到动态协同,CRL 把策略和经验提取纳入一套训练框架,异步解耦协同进化。RL 一直在进化。不过,我们其实也可以从数据角度看,这又何尝不是另一种“高质量数据”呢。

Reference

[1] Training-Free RL:当“训练”不再更新参数,而是更新上下文 | 长琴: https://yam.gift/2026/03/24/NLP/LLM-Context/2026-03-24-RL-New-Paradigm-Traning-Free/
[2] 2602 Experiential Reinforcement Learning: https://arxiv.org/abs/2602.13949
[3] 2603 Meta-Reinforcement Learning with Self-Reflection for Agentic Search: https://arxiv.org/abs/2603.11327
[4] 2603 Online Experiential Learning for Language Models: https://arxiv.org/abs/2603.16856
[5] 2603 Understanding by Reconstruction: Reversing the Software Development Process for LLM Pretraining: https://arxiv.org/abs/2603.11103
[6] 2603 Agentic Critical Training: https://arxiv.org/abs/2603.08706
[7] 2603 Complementary Reinforcement Learning: https://arxiv.org/abs/2603.17621
[8] CISPO: https://yam.gift/2025/06/19/NLP/LLM-Training/2025-06-19-CISPO-and-Entropy/
[9] 这里: https://yam.gift/2026/03/24/NLP/LLM-Context/2026-03-24-RL-New-Paradigm-Traning-Free/
[10] MemAPO: https://arxiv.org/abs/2603.21520