研究提案 已修订

奖励值域证书:合成 Agentic RL 环境语料的上锚可达性与地板坍缩审计

为机制合成的 agentic 强化学习环境签发分辨率证书(上锚可达比、地板质量、变异检出率),把奖励值域从隐式归一化分母变成可记账、可分层、可调权的语料字段

Agent 训练数据 强化学习环境 奖励设计 数据质量审计 变异分析 GRPO 数据工程 可验证奖励

背景与动机

环境合成已经能规模产出

两条路线在同一个月各自给出了可训练语料。VHD-Play(arXiv:2609.27321,8 位作者,2026-09-23)先采样并求解一个数学模型,再让 setter 把决策过程渲染成有状态工具,产出 3,300 个环境,每条成本约 $0.01–0.03;其 2,200 条训练分区跨三个机制族。CodeMidas(arXiv:2609.22068,19 位作者)从开源代码库已实现的功能反推可执行 RL 环境,产出 5,545 个任务,覆盖 23 种语言、15 个技术领域。两者都训出了外部基准增益:VHD-Play 在 BFCL V4 子集上 61.25→64.08、TravelBench 0.700→0.794,365 天电商场景期末余额 54,294→182,844;CodeMidas 在 DeepSWE 上 10.0%→21.7%、ProgramBench 4.5→21.5、Terminal-Bench v2.1 上 63.7%→72.2%。

⚠️ 原稿此处写作「53,794→182,844」。回源 arXiv:2609.27321 表 8 与表 14,Base 的 365 天门店平均期末余额为 54,294(EnvScaler 对照臂 52,661),全文检索「53,794」零命中,已订正。

准入检验是三条正对照

VHD-Play 的准入(附录 B)只有 C1 可执行、C2 默认结果落在族定义的可行区域、C3 参考驱动在族容忍度内复现预计算最优。留出的审计跑了 oracle、默认、空转三条路径,共 480 次执行,240 次重跑结果一致,没有一条 replay 超过 u∗(θ)u^{*}(\theta)。CodeMidas 的三道后处理朝同一个方向:对抗 rollout 查泄漏、评审 agent 判实现是否满足陈述、按 rollout 成功率选任务。

三条都在回答「参考解能不能通过」。没有一条回答「一个明显更差的解会不会被判为更差」。

奖励的上锚由全信息最优给定,玩家看不到全信息

VHD-Play 的奖励是

r(π;θ)=clip[0,1]((u(π;θ)−u0(θ))/(u∗(θ)−u0(θ)))r(\pi;\theta)=\mathrm{clip}_{[0,1]}\big((u(\pi;\theta)-u_{0}(\theta))/(u^{*}(\theta)-u_{0}(\theta))\big)

其中 u∗u^{*} 是采样器在动力学实现之前算出的全信息最优,u0u_{0} 是固定默认策略的值。两端都由闭式、枚举、动态规划或数值求解给出,没有语言模型参与打分。

分母把这个尺度钉在一个玩家策略类未必摸得到的点上。论文写明了这件事:在部分信息下 u∗(θ)u^{*}(\theta) 是上界参考,在线策略未必可达;局限节进一步点名 sequential stopping 与 sequential search 两族用 hindsight ceilings,表 10 的注脚把话说得更直接——这两族的分数「compare the two arms rather than measure distance to an attainable optimum」。

于是每条环境带一个从未入账的量,本文记作可达比

κ(θ)=(sup⁡π∈Πonlineu(π;θ)−u0(θ))/(u∗(θ)−u0(θ))≤1\kappa(\theta)=(\sup_{\pi\in\Pi_{\text{online}}}u(\pi;\theta)-u_{0}(\theta))/(u^{*}(\theta)-u_{0}(\theta))\le 1

组内奖励的支撑被压在 [0,κ][0,\kappa] 里。论文只在 hindsight 两族上承认 κ<1\kappa<1,把可达性当族级常数;在训练三族上没有给出任何估计。

地板把最该学的 rollout 变成最没信息的 rollout

半开区间里所有不超过 u0u_{0} 的结局都映射到 r=0r=0。审计明确包含 π∅\pi_{\varnothing}(什么都不提交),即论文承认存在低于默认值的结局,而这类结局与「恰好等于默认」逐位相同。论文最醒目的外部结果是电商场景「五次运行全部没有破产」——破产正落在这段被压平的区域里,奖励在这段上分辨不出「不作为」与「把账面做穿」。

组内若有 ϕ0\phi_{0} 比例的 rollout 落在地板,这些样本拿到同一个常数优势,彼此之间零分辨率,却照常消耗完整预算(episode 平均 59.7 个 assistant turn,P95 达 211)。

关闭 advantage 标准化后,前两条从度量问题变成权重问题

VHD-Play 的训练配置写明:优势等于回报减组均值,无标准差归一化、无 KL、无 value model。去掉标准差归一化是 Dr. GRPO(arXiv:2503.20783)的推荐,用于消除对低方差组的放大偏差。该推荐在数学题设定下推导与验证,那里奖励是逐题对错的二值量,值域对每条 prompt 相同,去掉归一化只留下纯粹的好处。

在机制合成的语料里这个前提不成立:rr 逐实例归一化到 [0,κ(θ)][0,\kappa(\theta)],κ\kappa 由采样器决定。去掉标准差归一化之后,组内优势的绝对量级上界就是该环境值域的宽度,即每条环境在梯度里的权重上界直接等于一个未记账的生成器侧常数。带上归一化时,这个宽度在分子分母里约掉,权重与它无关。

CodeMidas 那边是同一个问题的另一种形态。它按「全通或全败」筛掉零方差任务,并写下这些结局「may reflect task difficulty or remaining defect」——论文承认分不清,然后按难度处理,直接删。若零方差来自值域过窄,删掉的就是最难的一批机制族。

核心思路

提出 PRISM:给每条合成环境签发一张分辨率证书 (κ^,ϕ^0,kill)(\hat\kappa,\hat\phi_{0},\text{kill}),写进记录结构,用作分层键与采样权重,不当过滤阈值。

三个量的分工是:κ^\hat\kappa 量上锚可达性,ϕ^0\hat\phi_{0} 量地板质量,kill 量负对照判别力。前两个是值域的位置,第三个是值域上有没有牙齿。

与现有做法的关键区别有两处。

第一,现有流水线把分辨率当正确性或难度处理:VHD-Play 的 C3 不达标就重生成,CodeMidas 的全通全败不达标就删除。PRISM 把它当权重处理,理由是一张二维路由表:κ^\hat\kappa 低而 kill 高的环境属于「难而判得准」,应当保留甚至加权;κ^\hat\kappa 低且 kill 低的是「空白环境」,才是该删的。一维过滤分不开这两类,而在 hindsight 两族上,难的那批天然 κ^\hat\kappa 低。

第二,κ^\hat\kappa 的估计不动策略、不动生成器。VHD-Play 的准入已经在重放 π∗\pi^{*};把同一个驱动改到玩家视图下跑一遍(不喂 latent draw,只给接口返回值),得到的 u(π∗;player view)u(\pi^{*};\text{player view}) 直接给出上锚在玩家信息集下能摸到多少。这是零训练成本的一次重放。

技术路线

第一步,值域账本。 每条记录落 (u0,u∗,Δ,κ^,ϕ^0)(u_{0},u^{*},\Delta,\hat\kappa,\hat\phi_{0})。前三个已经存在——附录 C.1 写明所有下游组件都收到同一份参数字典与参考对,Δ=u∗−u0\Delta=u^{*}-u_{0} 可算,只是它一直被当归一化分母消费,从没当分层键出现。后两个需要新增。

第二步,κ^\hat\kappa 的零训练估计。 两条估计量取大者:κ^oracle\hat\kappa_{\text{oracle}} 来自玩家视图下重放的 π∗\pi^{*},κ^best\hat\kappa_{\text{best}} 来自组内 16 条已评分 rollout 的最好一条。可识别性判据:若 π∗\pi^{*} 在玩家视图下不可执行或产出非数值,报 NA,不得填 0。填 0 会让该环境被当成空白删掉,而它只是量不到。

第三步,地板分离。 把奖励下端从单点地板改成有限负值:r′=clip[−λ,1](ρ)r'=\mathrm{clip}_{[-\lambda,1]}(\rho),其中 ρ=(u−u0)/Δ\rho=(u-u_{0})/\Delta。λ\lambda 由已经在审计里的 π∅\pi_{\varnothing} 标定,取 λ≥(u0−u(π∅))/Δ\lambda\ge(u_{0}-u(\pi_{\varnothing}))/\Delta。λ=0\lambda=0 时严格退化回原式,这是结构性退化点:在 λ=0\lambda=0 子集上测到任何差异都属于实现错误。

第四步,变异负对照准入。 把 Measuring the Checker(arXiv:2609.22220)的 kill matrix 移植过来。该文用 124 条确定性规则向 188 个已验证实现注入 10,303 个可编译故障,其中 7,384 个带独立 kill witness,官方 checker 漏掉 16.9%,且漏检按族倾斜——算术族 8.7%,精度族 78.6%。VHD-Play 一侧的变异体是对 π∗\pi^{*} 轨迹做确定性扰动(替换第 kk 个决策、改变提交批次、改变探针预算的消耗方式),判据是 r(mutant)<r(reference)r(\text{mutant})<r(\text{reference});CodeMidas 一侧按同一套路造故障规则。沿用该文的 witnessed denominator:只统计带 kill witness 的变异体,避免把「本来就跑不通」算成检出。

⚠️ 需要区分「移植方法」与「复用资产」。Measuring the Checker 的 124 条规则是针对 CUDA kernel 设计的——它向 188 个 KernelBench 的已验证 CUDA 实现注入可编译故障,族别(算术 / 精度 / 同步)也是 kernel 语义下的划分。CodeMidas 的任务横跨 23 种语言、15 个技术领域,不存在可直接套用的 CUDA 故障算子集合。可移植的是它的度量协议(kill witness 准入 + 按族分层报漏检率),不是那 124 条规则本身;规则要按目标语言的故障模型重新设计。本文第四步按「移植协议」理解。

第五步,分辨率感知调度与四臂对照。 按 (κ^,kill)(\hat\kappa,\text{kill}) 分四层,采样权重 we∝κ^eαw_{e}\propto\hat\kappa_{e}^{\alpha},α=0\alpha=0 严格退化到原协议。四臂是:A 原协议;B 只加值域记账与地板分离(λ>0\lambda>0),不动采样;C 加 α\alpha 权重;D 在 C 之上再做负对照准入。预算与 VHD-Play 的报告口径对齐:34 步、64 prompts/步、16 rollouts/prompt、34,816 条 rollout。

两个口径细节会直接影响复现,须写进方案。一是 rollout 是过采样到 18 条、保留 16 条的,即每步实际生成 64×18=1,15264\times18=1{,}152 条、入组 1,024 条,34 步合计生成 39,168 条、保留 34,816 条。κ^best\hat\kappa_{\text{best}} 若用「组内 16 条」估计,用的是保留后的样本;若改用全部 18 条,估计量会偏乐观且与账面 rollout 数对不上,方案统一取保留后的 16 条。二是 34 步实际只消耗了 2,200 条训练分区中的 2,176 条,即每步 64 prompts 覆盖了 64 个不同环境、不重复采样;这意味着 κ^\hat\kappa 的估计在 34 步内每个环境只被见到一次,权重 wew_e 的调整只能通过跨步调度生效,不能在步内做二次加权——这是 α\alpha 臂能被检出增益的前提,也是它的天花板。

关键技术挑战有四条。

一是 κ^\hat\kappa 在 16 条样本下的偏差方向。best-of-16 是下界,玩家视图下重放的 π∗\pi^{*} 给出的也是下界,两者都不能当点估计用;方案是把证书写成区间 [κ^low,1][\hat\kappa_{\text{low}},1],权重取下界,避免高估分辨率。

二是变异算子要一并满足「可执行」与「仍是一次合法尝试」。注入的故障若让环境直接抛异常,检出率会被虚高。Measuring the Checker 的 witnessed denominator 正是为解决这个而设,照搬其判定即可。

三是难度与分辨率的混淆。κ^\hat\kappa 天然与难度负相关,直接降权会削弱最难的族。二维路由表是应对手段,且它的方向本身可检验:若 kill 高而 κ^\hat\kappa 低的那一层在外部基准上增益最大,路由方向正确;若 kill 低的层同样有增益,说明 kill 不是有效轴。

四是跨族量纲。11 个族的 uu 量纲不同,Δ\Delta 从路由的 154.21 到背包分配的 969.51,差 6.3 倍。所有分层与权重都在无量纲轴 ρ\rho 上做,不在原始效用上做。

这里有两处需要写清,否则读表会读错。154.21 与 969.51 出自论文附录表 4 的代表性记录(每条族一个实例:路由 −117.81→36.40-117.81\rightarrow36.40、背包 371.45→1,340.96371.45\rightarrow1{,}340.96),不是族级 Δ\Delta 的期望或范围;而同一张表里库存 DP 的 Δ\Delta 只有 22.27,把三条合在一起看,实际跨度是 43.5 倍而非 6.3 倍。Δ\Delta 上还有一层反向证据值得注意:路由的默认值 u0=−117.81u_{0}=-117.81 是负数,说明「固定默认策略」在某些族上是净亏损的,地板不总是 Δ\Delta 的下端点。

预期成果

测量侧,给出第一份分辨率证书的族级分布:11 个族 × (κ^,ϕ^0,kill)(\hat\kappa,\hat\phi_{0},\text{kill}) 三个量,含 hindsight 两族 κ^<1\hat\kappa<1 的首次估计。附带一个派生量 Neff=∑eκ^e/NN_{\text{eff}}=\sum_{e}\hat\kappa_{e}/N,即有效监督单元数与产物个数之比,直接回答「3,300 个环境值多少个环境」。

归因侧,把 agentic 与写开式的差拆开。表 2 的宏均值是写开 0.962→0.992、informed-agentic 0.231→0.875、agentic 0.204→0.815;线性规划一族训练后 agentic 只有 0.661,写开式是 1.000。这个差被论文读成「可学的缺口主要在状态交互里」。它里面还含着上锚不可达的成分,而分离这两个成分的开支只是把 π∗\pi^{*} 换到玩家视图重放一次。

优化侧,在 VHD-Play 自陈未做的事上给出第一份结果:局限节写明「does not separately attribute gains to the outcome rule and interface」,四臂设计正是这个归因。定量目标是 D 臂在相同 34 步预算下,外部三项基准相对 A 臂有可检出增益;若 A 与 D 无差异,则奖励值域不影响训练,本文核心假设被证伪。

四条可证伪预测:

P1:11 个族的 κ^\hat\kappa 不齐一,且 hindsight 两族显著低于 replay 支持族。若齐一,值域记账无意义。

P2:λ\lambda 臂单独有效。若 λ>0\lambda>0 与 λ=0\lambda=0 无差异,说明地板质量可忽略,下尾从未被压平。

P3:kill 高的层在外部基准上增益大于 kill 低的层。若相反,变异检出率不是奖励判别力的有效代理。

P4:α\alpha 扫描的最优值非零。

局限性与失效模式

一,κ^\hat\kappa 的估计量与真实 κ\kappa 差着一个策略类。 κ\kappa 的定义域是 sup⁡π∈Πonlineu(π;θ)\sup_{\pi\in\Pi_{\text{online}}}u(\pi;\theta),而两条估计量(玩家视图重放 π∗\pi^{*}、best-of-16)都来自特定策略而非上确界。best-of-16 随组大小单调上升,16 条时严重偏小;重放 π∗\pi^{*} 在部分可观测族上会因为拿不到 latent draw 而系统性低于任何会主动探测的策略。后果不是估计不准,而是偏差在族间不均匀:探针预算族(facility location、scheduling)的探测型最优策略恰恰是重放 π∗\pi^{*} 模拟不了的那一类,这些族的 κ^\hat\kappa 会被压得最低。若直接按 κ^\hat\kappa 降权,被削的正是探针族——而论文表 11 显示这几族的 agentic 提升幅度并不小(scheduling 0.522→0.607、facility location 0.390→0.646)。这条与关键技术挑战三(难度与分辨率混淆)是同一枚硬币的两面,二维路由表缓解它但不消除它。

二,地板分离改的是组内优势的方差,不是它的符号。 λ>0\lambda>0 让低于 u0u_0 的结局拿到负奖励,从而拉大组内优势的极差。但 VHD-Play 的 GRPO 配置没有标准差归一化,优势的绝对量级直接进入梯度。于是 λ\lambda 的增大在提升下尾分辨率的同时,也会放大这些环境在梯度里的权重——与本文要修的「权重被未记账常数支配」是同一个方向。B 臂必须同时报告组内优势的标准差随 λ\lambda 的变化,否则「下尾有分辨率了」与「下尾环境主导了更新」无法区分。

三,kill 轴在两族上不可定义。 变异负对照要求「同一个环境里存在一条更差的、可执行的轨迹」。sequential stopping 与 sequential search 两族的参考解本身就是 hindsight 上界,任何在线轨迹的 uu 都低于它,判据 r(mutant)<r(reference)r(\text{mutant})<r(\text{reference}) 恒真,kill 率会虚高到接近 1,与「判别力强」无关。这两族的 kill 必须换判据(例如注入「把已揭示的最优选项放过去」这类结构性错误后再比),否则 P3 在这两族上是恒成立的空命题。

四,外部基准的检测灵敏度可能低于效应量。 D 臂的定量目标是「外部三项基准相对 A 臂有可检出增益」,但论文自陈外部结果是单次训练、单次评测种子,且 VHD-Play 相对 Base 的增益在三个基准上本身量级悬殊(BFCL 十格 +2.83、TravelBench +0.094、门店余额 +128,550)。价格型指标的方差极大(Base 五次里有四次跑完、一次破产),A 与 D 的差异极可能被这次级噪声吞掉。建议把主判据下沉到生成族内部的 agentic 分数(表 2 的五族可分别测),外部三项降为辅助;否则 D 臂大概率得到「无差异」,而那只能说明基准不够灵敏,不能证明核心假设被证伪。

五,本文不声称的部分。 PRISM 不声称能提升外部基准的绝对分数——它的目标是让「3,300 个环境值多少个环境」这个问题可回答;不声称 κ^\hat\kappa 是无偏估计,只保证它是下界;不声称 kill 轴在所有族上可定义(见第三条);不声称分辨率是 VHD-Play 与 EnvScaler 表 8 差异的原因,只提供能测它的工具。

相关工作

  1. VHD-Play(arXiv:2609.27321)——机制优先的 agentic RL 环境合成,奖励由同一个已求解模型继承,是本文记账的对象。
  2. CodeMidas(arXiv:2609.22068)——从源码规模化构造编码 RL 环境,其全通全败过滤是零方差问题的现有处理。
  3. Measuring the Checker(arXiv:2609.22220)——把变异分析做成 oracle 充分性度量,提供 kill matrix 与 witnessed denominator。
  4. Dr. GRPO(arXiv:2503.20783)——指出 GRPO 标准差归一化带来优化偏差并建议移除;本文指出该建议在奖励值域逐记录可变的语料上会引入新的权重项。
  5. EnvScaler(arXiv:2601.05808)——环境优先分支的公开对照,其奖励是最终状态上由 LLM 生成的布尔 checklist 的满足比例,是另一个未测分辨率的尺度。

该奖励口径已回源核实:EnvScaler 先用 LLM 把任务分解成若干可验证条件(checklist),再为每个条件生成一个以轨迹末状态为输入、返回布尔值的验证函数,通过函数的比例即轨迹奖励。它是「LLM 生成判据 + 规则执行」的混合体,与 VHD-Play 的闭式最优不同,但同样没有报告分辨率。这条对照关系不是本文拼出来的——VHD-Play 自己就把 EnvScaler 当成了 matched control:它取 2,200 条已发布的 EnvScaler RL 场景(跨 51 个 program skeleton),保留其原生环境与 checklist 奖励,用同一个 Qwen3.6-35B-A3B 起点、同一套 GRPO 超参与 34 步预算再训一遍(表 8)。结果 EnvScaler 臂在三个外部聚合量上都不是全面提升:BFCL 十格均值 58.56(低于 Base 的 61.25),门店余额 52,661(低于 Base 的 54,294),只有 TravelBench 从 0.700 升到 0.753。这恰好是「环境数量相同、分辨率不同」的一次现成对照,四臂设计应当把它作为第五条外部参照,而不是只拿 VHD-Play 自己的 A 臂比。