Tuhin Kundu tuhink

这是 ThinkingBox 项目的后续进展。此前发现代理人声称任务完成但数据库状态不符的问题,现已通过 GitHub 提供基于 ThinkingBox 的训练方案。
ThinkingBox 的核心机制是通过对比最终数据库状态与预期结果来评估代理人的工作表现。团队将这一可执行信号转化为强化学习(RL)的奖励函数,应用于 ThinkingBox-Bench 基准测试之外的训练任务中。实验数据显示,经过 Qwen3.8-27B 模型微调后,平均成功率从 51.70% 提升至 60.78%;在所有 20 次尝试中均正确完成任务的比例从 38% 跃升至 107%(注:原文数据表述为比例提升,实际指绝对数量或特定指标变化,此处保留原意逻辑),该过程涉及 50 个 GRPO 步骤。
图 1:ThinkingBox 将终端数据库状态的可执行检查转化为 ThinkingBox-Bench 之外任务的训练奖励。
特别感谢 Microsoft 的 Mirco Milletari 和 Xiang Jiang、Hugging Face 的 Sergio Paniego 以及前实习生 Zhuochun Li(匹兹堡大学)共同撰写并审阅了本文。
建立 ThinkingBox 旨在识别那些声称已完成任务但实际未达标的代理人行为。
在 ThinkingBox-Bench 的 507 个任务中,每个任务都为代理人提供真实的后端环境和工具集,随后系统会检查数据库中实际发生的变化。在首篇博客文章中曾发现,某模型错误地关闭了客户票据,导致数据库记录出现偏差。
团队意识到,对于大多数任务,可执行检查可以直接根据最终数据库状态返回 1 或 0 的结果。这不仅仅是一个评分器,更可以作为一个奖励函数。
因此,团队构建了基于 ThinkingBox 格式的任务训练池,并利用其可执行结果作为奖励信号。挑战在于筛选适合代理人训练的任务:多数任务要么已被当前模型解决,要么对其而言难度过高。
难度与策略相关:只有当模型尚未掌握某项技能时,该任务对当前模型才构成困难。
团队引入了“离线策略相对难度”概念,即在训练前使用基础策略估计每项任务的成功概率,并在整个运行过程中保持选定的训练池不变。
训练后的效果
利用离线策略相对难度构建训练池后,团队对 Qwen3.8-27B 进行了 50 步的 GRPO 微调。评估方法包括:对 507 个基准任务进行 20 次重复测试,计算 pass@1(单次尝试成功率的平均值)、pass@20(至少一次成功的任务占比)以及 observed 20/20(每次尝试均成功的任务占比)。
表 1:在线选择训练池中,GRPO 50 步前后 Qwen3.8-27B 的结果对比。
| 指标 | 基础模型 | 微调后模型 | 变化 | |
|---|---|---|---|---|
| Observed 20/20 | 38 (7.50%) | → | 107 (21.10%) | +69 任务 |
| Pass@1 (成功尝试) | 5,242 (51.70%) | → | 6,163 (60.78%) | +9.08% |
| Pass@20 (至少解决一次) | 453 (89.35%) | → | 446 (87.97%) | -7 任务 |
训练显著提高了可重复的成功率,尽管“至少一次覆盖”略有下降。下文将解释如何选择练习任务及构建奖励循环。
具体改进案例:在一个酒店降级的企业任务中,公司政策要求经理批准。训练前,代理人在 20 次尝试中有 15 次未经批准直接修改预订并退款。经 RL 微调后,模型在全部 20 次尝试中均保留了预订和支付状态。
图 2:一个企业酒店预订任务,每个模型进行 20 次尝试。基础版 Qwen3.8-27B 在 15 次尝试中未经经理批准改变了预订。RL 微调模型在所有 20 次尝试中均保留了预订和支付状态;所有预期记录在 19 次匹配中一致。
内容概览
- 60 秒内发现的基准值
- 结果:可靠性指标的移动
- 收益分布领域
- 可靠性的成本代价
- 训练循环机制
- 离线策略相关难度
- 奖励定义标准
- 运行训练堆栈
- 未来展望
如需了解实现细节,请参阅“运行训练堆栈”部分。
60 秒内发现的基准值
ThinkingBox 基于代理人留下的数据库记录进行评估。每个 507 个任务启动一个真实后端,向代理人提供一套 MCP 工具和一个模拟 LLM 用户及私有环境,并在结束时对终端数据库状态进行可执行检查。检查针对的是需要正确的后端记录,而非特定的工具调用序列。这种机制激励模型探索新的解决方案路径,而不是仅仅复现人类支持的、可能并非最优的解决方案。
在第一篇文章中,团队对 18 个模型进行了 20 次基准测试。Kimi-K3 至少解决了 93.89% 的任务,但在所有 20 次记录的尝试中仅完成了 507 个任务中的 68 个(13.41%)。Claude Opus 5 扭转了这一趋势:覆盖率较窄,但一致性更高。
更大或更好的模型并未完全解决这个问题。Claude Opus 5.5 在 pass@1 上比 Claude Opus 5 高 0.66 个百分点,但在所有 20 次尝试中都通过的任务数量相同,均为 241 个。标题准确度的提升并未带来可靠性的增加。
若需选择用于生产数据库记录工作的模型,不应单独参考 pass@1。Observed 20/20 显示了哪些任务在每次尝试中都成功,更接近生产环境对可靠性的要求。
终极状态的判决也是训练的奖励来源。在深入训练循环之前,以下是封闭基准的变化情况。
结果:可靠性指标的移动
经过 Qwen3.8-27B 训练后,团队评估了选定的 50 步检查点。这 507 个任务代表了一个未分发的测试集:其领域、数据库和大多数 MCP 工具在 RL 训练中未曾遇到。
表 2 展示了第一篇博客文章表 2 中的选定模型,以及针对不同领域的微调模型在 ThinkingBox-Bench 上的 pass@1 (%) 和 Observed 20/20 数据。Bold 标记表示最佳位置,Underline 标记表示第二名。
| Model | Retail | Auto Insurance | Travel | Neobank | Consulting Services | Overall | Observed 20/20 |
|---|---|---|---|---|---|---|---|
| Claude Opus 5.5 | 80.97 | 68.40 | 54.28 | 71.25 | 61.58 | 67.16 | 241 (47.53%) |
| Claude Opus 5 | 80.71 | 65.80 | 49.95 | 70.62 | 66.19 | 66.50 | 241 (47.53%) |
| GPT-5.4 | 76.33 | 62.65 | 68.12 | 65.34 | 54.60 | 65.36 | 128 (25.25%) |
| GPT-5.6 Sol | 67.65 | 65.30 | 60.34 | 59.09 | 57.52 | 61.91 | 82 (16.17%) |
| Qwen3.8-27B RLFT Other | 67.91 | 56.45 | 62.69 | 62.40 | 54.51 | 60.78 | 107 (21.10%) |
| Claude Sonnet 4.6 | 72.35 | 54.40 | 58.94 | 56.39 | 54.31 | 59.19 | 102 (20.12%) |
| GPT-6 Astra | 71.73 | 46.55 | 55.87 | 60.87 | 56.83 | 58.31 | 231 (45.56%) |
| Kimi-K3 | 82.24 | 50.80 | 61.83 | 41.35 | 51.63 | 57.37 | 68 (13.41%) |
| Qwen3.8-27B | 64.03 | 47.85 | 53.41 | 47.88 | 45.69 | 51.70 | 38 (7.50%) |
表 1 中的 Observed 20/20 行是核心结果。 一个初始在每次尝试中仅完成 ThinkingBox-Bench 38 个任务(7.5%)的 27B 模型,现在能在每次尝试中完成 107 个任务(21.1%),几乎增加了三倍。作为对比,Kimi-K3 的 Observed 20/20 为 68,GPT-5.4 为 128,GPT-6 Astra 为 231,而 Claude Opus 5.5 以 241 领先。
平均成功率和可重复性产生了不同的排序。 在表 2 中,GPT-5.6 Sol 在 pass@1 上的得分略高于 RL 微调后的 Qwen3.8-27B(61.91% vs 60.78%),但在所有 20 次记录尝试中通过的任务较少:82 vs 107。Claude Sonnet 4.6 的 pass@1 得分较低,为 59.19%,但每次通过的任务数量几乎相同,为 102。单一指标无法捕捉全貌。
观察到的模式与“锐化”效应一致:可重复的成功率上升,而“至少一次”覆盖率略有下降。这与先前的研究相符。一种解释是,概率分布移向了能够反复成功的路径,同时一些低概率路径消失了。
总体而言,模型并没有变得更广泛,而是变得更可重复。接下来的问题是这些收益落在哪里。
收益落在哪里
图 3. 领域级基础分数、RLFT 分数及百分点变化。绿色单元格显示增长,红色单元格显示下降;蓝色阴影表示每个指标内的分数水平。
在所有五个领域中,Pass@1 和 Observed 20/20 均有所上升。Pass@20 的表现则参差不齐:在 neobank 和 consulting 领域有所增加,但在 retail、travel 和 auto insurance 领域有所下降。Auto insurance 经历了最大的广度损失(−7.0 个百分点),而 retail 获得了最大的 Observed 20/20 增长(+24.5 个百分点)。
可靠性需要付出的代价
第一篇文章使用简单数学计算了一致性的成本:将完整 20 次运行活动的估算成本除以模型每次都通过的任务数量。
每个可靠任务的成本 = 507 × 20 活动估算成本 ÷ 20/20 通过的任务数
将相同的成本计算方法应用于微调检查点的测量令牌使用情况:
表 3. 基础模型和 RL 微调 Qwen3.8-27B 的估算评估成本和可靠性。每个成功尝试的成本是将总估算活动成本(507 x 20)除以通过的尝试次数。
| Measure | Base | RL fine-tuned | Change | |
|---|---|---|---|---|
| Campaign cost, 20 runs | $925.80 | → | $855.58 | −7.6% |
| Cost per successful attempt | $0.177 | → | $0.139 | −21.4% |
| Tasks passing 20/20 | 38 | → | 107 | 2.8× as many |





