← 返回 2026-10-28

AdaPRA:面向数据科学智能体的自适应评分表过程奖励监督 AdaPRA: Process Reward Agents with Adaptive Rubrics for Data Science

Atharva Naik, Vivek Chari, Pol Llado, Daniel Fried, Carolyn Rosé, Benjamin Van Durme, Sam Thomson, Justin Svegliato 📅 2026-10-23 👍 3 2026-11-11 18:30
Kaggle基准 LLM智能体 Rubric奖励 数据科学Agent 过程奖励模型 过程监督

过程奖励智能体借助持久工作区与自适应rubric监督,大幅提升数据科学Agent的Kaggle百分位

前置知识

过程奖励模型(PRM)与过程奖励智能体(PRA)

PRM对推理或行动的中间步骤打分,而不是只看最终结果,源自数学证明验证的 step-by-step 监督思想。过程奖励智能体(PRA)更进一步:评判者本身是个智能体,会主动执行代码、检索文件、探索工作区来取证,然后再给步骤或轨迹打分,而不是凭一段文字盲判。

AdaPRA 的核心组件就是一个 PRA。只有理解它和结果奖励模型(只看最终分数)的区别,才能明白为什么它能抓住轨迹上不留痕迹的静默错误。

Kaggle 排行榜百分位与奖牌阈值

百分位表示提交成绩在全部参赛队中的相对位置(0-100,越高越好)。论文用四个任务级比率做指标:Pct.(私有排行榜百分位,无私有则用公开)、Valid(提交被 Kaggle 接受并计分的任务占比)、>Median(分数超过排行榜中位数的任务占比)、Medal(达到奖牌阈值的任务占比),且分母固定为全部任务数,无效提交计零分。

论文所有主表(Table 1/2)和消融都用这四个指标报告,不理解其定义就无法正确解读 +24.5、90.7% 这些数字。

交叉验证、OOF 预测与数据泄露

k 折交叉验证(CV)把训练数据分成 k 份轮换充当验证集;out-of-fold(OOF)预测指每条样本在其未参与训练的那一折上得到的预测,是估算泛化性能的基石。常见的过程错误是泄露:用全量数据做拟合预处理、用最终模型在自己训练数据上的预测冒充 OOF、随机 k 折用于时间序列等,都会让本地 CV 虚高而排行榜暴跌。

19 条种子 rubric 里最重要的就是验证类(Valid CV、CV Score Registry、Suspicious CV);Table 17 的易到难迁移案例大半是泄露类错误。

简单性偏差(simplicity bias)

指 agent 一旦找到第一条能跑通的流水线就停下来提交,不再探索更强的模型族、预处理方案或特征工程。这是数据科学 agent 与人类选手差距的最大来源之一,也是一种静默错误——提交合法、轨迹无异常,但分数平庸。

论文显示两条反简单性 rubric(模型多样性不足、重复相似实验不转向)在两个基准上都有 68-84% 的尝试失败,是支撑 rubric 可迁移性论点的关键证据。

智能体 harness、轨迹与工作区

harness 是驱动 LLM agent 的执行框架(终端、文件编辑器、上下文压缩、预算控制)。轨迹 $\tau=(a_1,o_1,\dots,a_T,o_T)$ 是动作-观察序列,记录 agent 说过什么、跑过什么命令;工作区 $W$ 是文件系统上的代码、模型、数据、中间预测与提交文件。有些错误只在轨迹可见(反复重试失败命令),有些只在工作区可见(引用不存在的文件路径)。

证据来源的二分法是全文方法设计的根基:AdaPRA 对每条 rubric 标注 artifact-grounded 或 trajectory-grounded,并据此决定如何取证。

Rubric(评分表)作为奖励规范

用自然语言判据(如"至少与一个更强模型族的基线比较")代替标量偏好标签作为奖励或监督规范。每条 rubric 可输出满足概率 $p_j$、重要性 $i_j$、理由 $e_j$ 与建议动作 $\hat{a}_j$,比单一分数更可解释、更可执行。

AdaPRA 的全部监督都以 rubric 为载体:种子 rubric 如何离线挖掘、运行时如何用代码检查、如何按任务增删,是理解本文的主线。

研究动机

数据科学 agent 已能端到端跑通机器学习工作流,但在 DSGym 这样的 Kaggle 竞赛基准上与人类排行榜差距仍然很大,差距主要来自过程错误(process errors)。第一类是简单性偏差:agent 停在第一条有效流水线上,不去探索更强的模型族、预处理和特征。第二类是验证不健全与目标错配:例如对时间序列用随机 k 折造成泄露、本地 CV 虚高、训练目标与比赛指标不一致。第三类最棘手——静默错误:流水线照常产出合法提交、轨迹上看不到任何异常,但结果全错。论文开篇的例子中,一个错误的文件路径让 158,538 条测试语音全部读成静音音频,所有预测都被判为 unknown 命令,而轨迹却显示一切正常。此外,agent 不会利用重复尝试:DSGym 这类 harness 在每次尝试之间重置工作区,导致每次都重复做 EDA、重建基线、重蹈已失败的策略,浪费固定预算。只读轨迹的 LLM 评审抓不住静默错误,而轨迹动辄数百回合、工作区里有代码、模型和数据,把所有证据塞进上下文窗口也不可行。

本文的目标是本文的目标是构建一个能在固定预算内持续监督长时程数据科学 agent 的系统 AdaPRA:让每次尝试都把预算花在新实验上,而不是重复之前的劳动;在尝试进行中(而非结束后)发现并纠正过程错误,包括轨迹上不留痕迹的静默错误。目标分解为四个子任务:其一,harness 跨尝试保留工作区,让 EDA 笔记、特征、训练好的模型、验证结果和提交都能被下一次尝试复用;其二,监督者(PRA)以固定节奏审计轨迹与工作区,并用代码执行来取证;其三,评分表 rubric 不靠专家手写——跨大量任务维护手写 rubric 不可行——而是从过往 agent 运行中自动挖掘;其四,rubric 能按任务自适应,覆盖通用规则无法预见的领域陷阱。全程的硬约束是:agent 与 PRA 永远看不到 Kaggle 分数、测试标签等任何外部反馈,分数只在评测时使用,因此不能靠结果奖励来监督。

与已有工作不同的是,已有工作各有缺口,AdaPRA 的切入角度是把四个此前从未组合的维度拼在一起。工程化 scaffold(AIDE、ML-Master)用树搜索挑候选解、每步给精挑的短上下文,但搜索由 scaffold 主导、工作区不跨尝试保留;DSGym 的 REPL 式 harness 每次尝试都重置。过程奖励智能体方面,数学(AgentV-RL)、软件工程(Agentic Rubrics)、GUI(GUI-PRA)、医疗(Process RM)、通用奖励(RewardAgent)都会执行代码验证,但全部依赖静态 rubric 集;RubricEM 与 Zhang et al. 的对比式 rubric 挖掘只从回复或轨迹总结经验,不挖掘工作区产物,且 RubricEM 服务于 meta-RL 训练循环而非测试时监督。DataPRM 这类生成式 PRM 逐步打三元分(1/0.5/0),无法覆盖"停在第一条有效流水线"这类横跨多步的策略性错误。Table 3 的系统对照清晰显示:此前没有工作同时具备"执行检查"与"自适应 rubric 库"两个维度,而这正是 AdaPRA 独特的位置。

核心方法

直觉上,AdaPRA 像一位带着终端权限的资深同事坐在 agent 旁边:不只读工作日志(轨迹),还亲自检查它留下的文件——代码、OOF 预测、提交文件——按清单逐项核对;问题在尝试进行中就被指出,而非结束后复盘;它还把前几次尝试踩过的坑记成新的检查项。技术路线由四个组件构成:其一,持久 harness——基于 OpenHands,每任务一个工作区跨全部 $N=5$ 次尝试保留,仅模型上下文重置,后一次尝试还会读到前几次的总结;其二,PRA——由 Claude Sonnet 4.6 驱动,每 $c$ 个回合(Easy 取 10、Hard 取 20)及尝试结束时各评审一次,对每条 rubric $\rho_j$ 输出 $S(x,W,\tau_{:t},\rho_j)=(p_j,i_j,e_j,\hat{a}_j)$:满足概率、重要性、理由与建议动作;其三,离线 rubric 挖掘——从过往运行对比强弱尝试,自动提炼 19 条种子 rubric;其四,按任务自适应——PRA 在每任务独立的 rubric 库中增改删条目。

核心创新有三点相互咬合的设计。第一,证据源分工:过程错误分两类——"反复重试同一条失败命令"只在轨迹可见,"引用不存在的文件路径使所有测试样本读成静音"只在工作区可见;因此每条 rubric 被标注证据来源(工件型/轨迹型),PRA 在自己的可写沙箱里写脚本验证 agent 的只读工作区(如从保存的 OOF 预测重算 CV 分数),使满足概率 $p_j$ 有执行结果背书而非文本推断。第二,反馈经济性:早期版本报告所有 rubric 结果,几乎全是通过的正反馈,淹没了失败建议,agent 行为不变;改为只注入 $i_j\ge0.5$ 且 $p_j<0.6$ 的失败项、按重要性排序并附建议动作后才有效。第三,rubric 的可迁移性假设:过程错误是 agent 的属性而非领域的属性——简单性偏差在表格、语音、地震时序、分子任务上都以 68-84% 的比例出现,因此在易任务上挖出的种子 rubric 能直接迁移到难任务,再由按任务自适应补上领域特定的坑(如 House Prices 上新增的"预测离散度被压向均值"rubric)。

方法步骤详情

流程分五步。(1) 问题设定:任务 $x$ 为文件加 prompt,agent 每次尝试产生轨迹并在工作区中工作,共 $N=5$ 次尝试。(2) 离线挖掘:在 DSPredict-Easy 的 38 个任务上跑 harness-only 运行;阶段一让 LLM 评审读每次尝试的轨迹与工作区(按前/后四分之一分组),提取带引用的行为共 906 条(564 问题/342 好行为);阶段二把 519 条行为聚成 MECE 集,加 2 条手工 rubric 共 19 条种子(11 工件型、8 轨迹型)。(3) 运行时监督:PRA 每隔 $c$ 回合及尝试结束时被调用,轨迹写成文件按需检索;打分后只把 $i_j\ge0.5$、$p_j<0.6$ 的失败项编译成报告注入 agent 消息流;需计算的 rubric 由 PRA 在沙箱写代码执行取证;结束评审不过再给一轮修正。(4) 自适应:PRA 用 add/update/retire 编辑每任务独立的 rubric 库,新 rubric 通常附检查脚本。(5) 评测:报告排行榜百分位与 Valid、>Median、Medal,用配对置换检验。

技术新颖性

与最近邻工作的本质区别可从 Table 3 的二维设计空间看清:监督者是否执行代码、rubric 库是否自适应。AgentV-RL、RewardAgent、Agentic Rubrics、GUI-PRA、Process RM 只做执行检查且 rubric 固定;RubricEM 只做自适应(服务于 meta-RL)不执行;AdaPRA 是唯一两者兼具并对每个组件独立消融的系统。与 DataPRM 的对比刻意保持 supervisor 之外一切一致,干净隔离"逐步打分的通用 PRM"与"跨步 rubric 审计":DataPRM 每次调用中位 126 秒验证约 10 步、43% 调用返回 FAIL,但逐步打分无法惩罚"整体策略过于保守"这类横跨数十步的行为。新颖性还体现在挖掘源扩展:此前 rubric 发现只用回复或轨迹,本文证明工作区工件不可或缺——342 条好行为中 235 条是工件型,只看轨迹会系统性漏掉好行为。"只报失败项"的设计也不是先验假设,而是从早期版本消融实证得出。

ADAPRA overview. The agent works in a workspace that persists across attempts. During each attempt, the PRA reads the trajectory and workspace, runs check scripts in its own workspace, injects feedback on failing rubrics into the agent's trajectory, and adds, updates, or retires rubrics in the per-task store.
Figure 2: ADAPRA overview. The agent works in a workspace that persists across attempts. During each attempt, the PRA reads the trajectory and workspace, runs check scripts in its own workspace, injects feedback on failing rubrics into the agent's trajectory, and adds, updates, or retires rubrics in the per-task store.

实验结果

实验在 DSGym 两个基准(Easy/Hard)上进行,基座 80B 的 Qwen3-Coder-Next,每条件 5 次尝试。Easy 平均百分位从 44.5 升至 69.0(+24.5,p<0.001),>Median 50.0%→86.8%;Hard 从 21.3 到 36.1(+14.8);每尝试均值 61.0 超 GPT-5.1 (high) 的 60.4,DataPRM 仅 54.6/23.1。消融:harness/监督分别贡献 Easy +16.3/+8.2、Hard +4.2/+10.6,难任务更要监督;冻结 rubric 掉 1.7/4.3 点,去掉代码执行降至 63.0/31.8。种子 rubric 冻结用于 Hard 仍 +6.3(p=0.007),失败率排序跨基准一致($\rho$=0.91)。自适应共 177 增/1 改/0 删;"预测合理性"类新增占 35%/19%,无执行仅 3%/7%。换 DeepSeek-V3.2 基座百分位 36.9→44.7,rubric 跨模型有效。成本每尝试约 7.5/8.2 美元,PRA 占 72-86%。

DSPredict-Easy: Our harness (Ours), with and without process supervision, compared with the DSGym harness.
Table 1: DSPredict-Easy: Our harness (Ours), with and without process supervision, compared with the DSGym harness.
DSPredict-Hard: As Table 1, on the 54 competitions of DSPredict-Hard.
Table 2: DSPredict-Hard: As Table 1, on the 54 competitions of DSPredict-Hard.
Design coverage of related systems.
Table 3: Design coverage of related systems.
Design choices of the supervisor.
Table 4: Design choices of the supervisor.
Run configuration on DSPredict-Easy and DSPredict-Hard.
Table 5: Run configuration on DSPredict-Easy and DSPredict-Hard.
Leaderboard percentile on DSPredict-Easy under four attempt-selection policies over the 5-attempt beam.
Table 6: Leaderboard percentile on DSPredict-Easy under four attempt-selection policies over the 5-attempt beam.
As Table 6, on DSPredict-Hard (54 tasks).
Table 7: As Table 6, on DSPredict-Hard (54 tasks).
Paired significance of each supervised condition against the harness alone on DSPredict-Easy (task-paired, n = 38).
Table 8: Paired significance of each supervised condition against the harness alone on DSPredict-Easy (task-paired, n = 38).
As Table 8, on DSPredict-Hard (task-paired, n = 54).
Table 9: As Table 8, on DSPredict-Hard (task-paired, n = 54).
Seed rubric metadata.
Table 10: Seed rubric metadata.
Seed rubric failures in the frozen-rubric runs.
Table 16: Seed rubric failures in the frozen-rubric runs.
Seed rubrics discovered on DSPredict-Easy catching the same process failures on non-tabular DSPredict-Hard tasks.
Table 17: Seed rubrics discovered on DSPredict-Easy catching the same process failures on non-tabular DSPredict-Hard tasks.
Rubrics added by the PRA, grouped by what they check, as counts per run.
Table 18: Rubrics added by the PRA, grouped by what they check, as counts per run.
Single-attempt results on DSPredict-Easy as a function of the PRA cadence c.
Table 19: Single-attempt results on DSPredict-Easy as a function of the PRA cadence c.
Single-attempt results on DSPredict-Easy with DeepSeek-V3.2 as the base agent.
Table 20: Single-attempt results on DSPredict-Easy with DeepSeek-V3.2 as the base agent.
Mean turns per attempt.
Table 21: Mean turns per attempt.
API cost per run.
Table 22: API cost per run.
Rubric store operations per attempt for each run, stacked by type. Panel titles give the number of tasks with an operation log.
Figure 5: Rubric store operations per attempt for each run, stacked by type. Panel titles give the number of tasks with an operation log.
Share of tasks by the number of rubrics the PRA adds to the task's store over its five attempts, over tasks with an operation log.
Figure 6: Share of tasks by the number of rubrics the PRA adds to the task's store over its five attempts, over tasks with an operation log.
查看结构化数据
任务指标本文基线提升
DSPredict-Easy(38 个 Kaggle 竞赛)排行榜百分位(最佳尝试) Leaderboard Pct. 69.0 44.5(Qwen3-Coder-Next + DSGym harness) +24.5(p<0.001)
DSPredict-Hard(54 个跨模态竞赛)排行榜百分位(最佳尝试) Leaderboard Pct. 36.1 21.3(Qwen3-Coder-Next + DSGym harness) +14.8(p<0.001)
DSPredict-Easy 超过排行榜中位数的任务占比 >Median 86.8% 50.0%(DSGym harness) +36.8 个百分点
DSPredict-Hard 超过排行榜中位数的任务占比 >Median 33.3% 11.1%(DSGym harness) +22.2 个百分点
DSPredict-Easy 对比过程奖励模型(同 harness 同预算) Leaderboard Pct.(最佳尝试) 69.0(AdaPRA) 54.6(DataPRM,4B 生成式 PRM) +14.4
DSPredict-Easy 单尝试、更换基座为 DeepSeek-V3.2 Leaderboard Pct. / >Median 44.7 / 47.4%(AdaPRA) 36.9 / 23.7%(harness only) +7.8 / +23.7 个百分点(25 胜 11 负,p=0.005)
DSPredict-Easy 单次尝试均值(外部参照) Leaderboard Pct. 61.0(每尝试均值) 60.4(GPT-5.1 high + DSGym,单尝试) 持平略超

局限与改进

作者承认的限制:Hard 上为控成本用 c=20 而非最优 c=10,可能低估收益;只在 DSGym 两个 Kaggle 型基准评测,未验证开放式分析任务;多尝试固定 N=5,未研究尝试数增多时收益变化;自适应几乎只增不删(177/1/0),无逐条功劳分配;主结果只用一个基座与一个闭源 PRA,DeepSeek-V3.2 仅在 Easy 单尝试验证。我的补充:其一,奖牌率在稠密排行榜上对微小分差极敏感,-PRA 在 Hard 上奖牌率反而最高(9.3% vs 5.6%)可能只是噪声;其二,无测试分数时如何选最佳提交仍未解决,Hard 上 last(30.2)与 oracle(36.1)差距明显;其三,$i_j\ge0.5$、$p_j<0.6$、$c$ 等阈值均为手工设定,敏感性只测了 3 个取值;其四,PRA 运行时暂停 agent 且不占其墙钟预算,真实部署会转嫁为用户等待时间。

独立分析的弱点

其一,监督成本与延迟高:PRA 用 Claude Sonnet 4.6、63,999 thinking budget、单次调用上限 1 小时,占监督运行成本 72-86%,Hard 尝试回合数膨胀 1.6 倍(123.0 vs 95.5);改进方向是蒸馏小型开源评论模型,或只在提交、全量重训练等高风险动作前后触发评审。其二,自适应缺信用分配:rubric 库只增不减,冲突或过时条目可能长期吸收回合(论文举了 Titanic 上多样性 rubric 被字面遵守却缺验证的例子);可为每条新增 rubric 记录其后局部 CV 变化,做 A/B 式留存或自动退役。其三,种子挖掘依赖昂贵的离线运行:需 38 任务 × 5 尝试的 harness-only 轨迹,换新领域要重跑;可少量任务冷启动、在线增量挖掘。其四,评测域窄:Kaggle 竞赛有唯一排行榜指标,对无标准答案的分析型任务适用性未知。其五,反馈只有失败项与建议动作、缺结构化计划修订,方向性策略错误修复率明显低(模型多样性 16%、hedging 22%、不转向 28%,对比流水线类 55-83%)。

未来方向

作者提出四个方向:其一,用 PRA 的稠密反馈训练基座 agent,把过程判据内化进权重,降低测试时对监督的依赖;其二,为单条 rubric 做功劳分配,让增改删更有依据(当前从不退役);其三,训练开源小模型替代闭源 PRA,把 Gandhi et al. 的非 agentic 评论模型扩展为 agentic PRA;其四,借鉴 Meta-Harness 对 harness 本身做进化优化。基于论文成果还可延伸:跨域迁移研究——验证"过程错误属于 agent 而非领域"这一核心假设在 SWE、深度研究等域是否同样成立,若成立可建立跨域共享的 rubric 库;自适应节奏——按轨迹的风险信号动态调整评审频率 $c$,替代固定的 10/20 回合;无测试分数下的最佳提交选择策略(当前 last attempt 与 oracle 仍有约 6 分差距);把 rubric 反馈作为 RL 奖励训练基座模型,与 RubricEM 的 meta-RL 闭环对接;以及作者点名的组合方向——在持久工作区之上运行 AIDE/ML-Master 式的候选解树搜索,两条互补路线合流。

复现评估

作者声明公开代码。数据上,两个基准由 DSGym 定义(Kaggle Playground 系列及经典竞赛),公开可得。算力上:Slurm 集群、AMD EPYC 7763 CPU,Hard 另配 NVIDIA A100 80GB;每次运行 12 核/100GB 内存,Hard 2 张 A100;DataPRM 用 vLLM 0.12.0 单卡 A100 服务。软件栈:OpenHands SDK、LiteLLM、Apptainer 容器,每任务独立、一次并行 4 个。模型上:基座 Qwen3-Coder-Next(80B 开源权重)与 PRA Claude Sonnet 4.6 均经 Amazon Bedrock API 访问——PRA 闭源是主要风险,作者承认复现依赖该模型持续可用且行为不变。成本参考:Easy 全量运行 API 费约 1,418 美元、Hard 约 2,187 美元,挖种子 rubric 还需一轮 harness-only 预运行。总体复现难度中等偏高:方法不复杂,但工程链路长(容器、调度、双 agent 编排、评测管线),API 成本与闭源依赖需提前预算。

相似论文推荐