微软 ThinkingBox:把数据库终态检查直接当作 RL 奖励训练 Agent
微软与 Hugging Face 10 月 22 日发文介绍 ThinkingBox-Training:ThinkingBox 基准原本用可执行检查比对 Agent 留下的数据库终态来打分,团队把这些检查直接当作二元奖励,用 GRPO 对 Qwen3.8-27B 做了 50 步全参数训练。训练只用基准之外的 187 个任务,训练前用基座策略反复试做每个任务,按 Jeffreys 后验估计难度,去掉几乎做不出和几乎总能做对的任务。
Qwen3.8-27B 基座RL 微调后
pass@1+9.08
20 次全对的任务+13.6
pass@20−1.38
数据来自 ThinkingBox 训练博客,507 个任务×20 次尝试
要点
- 在全部 507 个基准任务、每题 20 次尝试上,pass@1 从 51.7% 升到 60.78%,20 次全对的任务占比从 7.5% 升到 21.1%
- pass@20 从 89.35% 略降到 87.97%,作者认为模型变得「更稳定而不是更广」
- 例:一个需要经理审批的酒店改订任务,基座模型 20 次中有 15 次未经审批就改了订单,训练后 20 次都保持了订单和支付状态
- 训练代码、框架和基准数据已开源(代码 MIT,数据 CDLA-Permissive-2.0),187 个训练任务未公开
为什么值得关注
很多业务 Agent 的「做对了没有」可以落到数据库状态上检查,这套做法说明评测检查本身就能变成训练信号;训练前按难度筛题,可以少浪费没有学习信号的 rollout。
配套实验
已验证
检查 4/4 通过
GitHub Actions 实际运行 · Python 3.12.15 · 耗时 不到 0.1s
先探测、再筛题:用 Jeffreys 后验给 RL 训练任务估难度
受 ThinkingBox 训练博客启发,用模拟数据演示:训练前探测每个任务的成功率、用 Jeffreys 后验分桶并去掉过难和过易的任务,能显著减少 GRPO 中奖励全相同、没有学习信号的组。
结论模拟中按 Jeffreys 后验筛题后,零方差组从 48.9% 降到 19.1%,保留 49.8% 的任务
分桶结果: {'drop-hard': 172, 'hard': 124, 'medium': 37, 'easy': 138, 'drop-easy': 129}
METRIC: 保留任务比例 = 49.8 %
METRIC: 筛选前零方差组比例 = 48.9 %
METRIC: 筛选后零方差组比例 = 19.1 %
METRIC: 被丢任务中真实落在两端的比例 = 88.4 %
METRIC: 最大似然估计为 0 或 1 的任务比例 = 50.2 %
[PASS] 筛选后零方差(无学习信号)组的比例低于筛选前
[PASS] Jeffreys 后验均值不会给出 0 或 1 这样的极端估计
[PASS] 筛选只去掉两端,保留了相当一部分任务
[PASS] 被丢掉的任务多数确实是过难或过易的
RESULT: 模拟中按 Jeffreys 后验筛题后,零方差组从 48.9% 降到 19.1%,保留 49.8% 的任务
python main.py
查看代码与内网复现步骤 →
来源
### [微软 ThinkingBox:把数据库终态检查直接当作 RL 奖励训练 Agent]({{URL}})
微软与 Hugging Face 10 月 22 日发文介绍 ThinkingBox-Training:ThinkingBox 基准原本用可执行检查比对 Agent 留下的数据库终态来打分,团队把这些检查直接当作二元奖励,用 GRPO 对 Qwen3.8-27B 做了 50 步全参数训练。训练只用基准之外的 187 个任务,训练前用基座策略反复试做每个任务,按 Jeffreys 后验估计难度,去掉几乎做不出和几乎总能做对的任务。
- 在全部 507 个基准任务、每题 20 次尝试上,pass@1 从 51.7% 升到 60.78%,20 次全对的任务占比从 7.5% 升到 21.1%
- pass@20 从 89.35% 略降到 87.97%,作者认为模型变得「更稳定而不是更广」
- 例:一个需要经理审批的酒店改订任务,基座模型 20 次中有 15 次未经审批就改了订单,训练后 20 次都保持了订单和支付状态
- 训练代码、框架和基准数据已开源(代码 MIT,数据 CDLA-Permissive-2.0),187 个训练任务未公开
**为什么值得关注**:很多业务 Agent 的「做对了没有」可以落到数据库状态上检查,这套做法说明评测检查本身就能变成训练信号;训练前按难度筛题,可以少浪费没有学习信号的 rollout。
来源:[Turning Database Grading into RL Rewards: Post-Training Agents with ThinkingBox](https://huggingface.co/blog/microsoft/thinkingbox-training)