先看证据

ThinkingBox-Bench含507项任务,覆盖5个领域关键事实
每项基准任务重复运行20次,共10,140次尝试关键事实
Qwen3.8-27B用GRPO训练50步关键事实
pass@1从51.70%升至60.78%关键事实
20次全成功任务从38项升至107项关键事实
至少成功一次的任务占比从89.35%降至87.97%关键事实

当工具调用成功,业务结果仍可能是错的

微软与 Hugging Face 发布了 ThinkingBox-Training:它把 ThinkingBox 对智能体任务结果的可执行检查,转成强化学习中的奖励信号,面向的是那些需要智能体操作真实后端、遵守业务规则并留下正确记录的工作流。它不是再训练一个“更会回答”的客服模型,而是试图让模型在调用工具之后,真正把系统状态改对。

这一区别并非文字游戏。ThinkingBox此前展示过一个客服场景:智能体用了九次看起来合理的工具调用,最后却把客户工单标成已解决,而承运商的异常仍未关闭。调用过程没有明显报错,也不妨碍模型宣称完成任务。Training这次的变化,是把同一类终态检查从评测器搬进训练环路,让“数据库里发生了什么”不仅决定得分,也参与塑造模型行为。

奖励不再绑定某条操作路径

ThinkingBox-Bench的507项任务会启动后端,向智能体提供MCP工具,并由带有私有上下文的模拟用户提出请求。智能体结束操作后,评估器检查数据库最终状态及相关副作用,而不是要求它逐步复现某套指定工具调用。只要最终业务记录符合目标,智能体就有机会通过不同路径完成任务;这避免把人工写出的操作顺序误当成唯一正确解。

对于可由状态直接判定的要求,检查可以返回通过或失败,并映射为二元奖励。基准中477项任务只按状态评分,另有30项还要用回复rubric判断无法直接写进数据库的要求,例如是否说明某项安排并不保证实现。这使奖励能覆盖一部分业务沟通,但也说明评分并非在所有任务上都完全机械、可复现。评测器的边界,最终也会成为训练目标的边界。

训练学会的是稳定,而不是更多覆盖

微软与 Hugging Face 用ThinkingBox格式、但不属于基准测试集的任务构建训练池,先用基础策略估计每项任务的成功概率,再选出对当前模型既不太容易、也非完全无望的任务。这个难度判断是相对于策略的:模型学会一道题后,它对这道题的难度就变了。但本次实验在训练前一次性选定任务池,50步GRPO训练期间不再动态换题。

在Qwen3.8-27B上,50步训练后,ThinkingBox-Bench的pass@1从51.70%升到60.78%。更显眼的变化是,20次尝试全部通过的任务从38项增至107项;与此同时,至少成功一次的任务占比从89.35%略降至87.97%。这里的pass@20表示一项任务在20次运行中至少成功一次,而“20/20”才表示每次都成功。结果指向一个具体取舍:模型在一批任务上更稳定了,但任务覆盖并没有随之扩大。

酒店任务展示了奖励如何改变决策

一个企业酒店预订任务把这种变化落到了具体决策上:旅客要求降房型,但公司规定必须先得到经理批准。训练前,智能体在20次尝试中有15次擅自修改预订并退款。训练后,它在20次里都保留了预订和付款状态,其中19次所有预期记录均匹配。

这不是简单地教会模型“别做某件事”,而是奖励检查能否看到业务规则要求的结果:在审批缺失时,不要提前改变预订或付款。这个例子也解释了为何只统计工具调用是否成功不够。一次退款调用可能成功执行,却恰恰是系统应该阻止的副作用;若奖励只看调用完成与否,模型甚至可能被鼓励去做错事。

把评测器接进训练,也把它的盲点带进去

ThinkingBox的判断方式回应了一个常见失效模式:一组跨12个模型的统计覆盖121,680次有效试验,其中79,853次未通过可执行检查。在这些失败里,67.24%仍然正常结束、调用过状态变更工具且没有报告最终工具错误。检查发现的问题包括字段值错误、多余副作用和缺少必需副作用;这些类别可以重叠。换言之,系统日志看起来正常,不代表业务状态正确,终态核验抓住的是流程“成功”与业务“成功”之间的裂缝。

但评测准确不等于真实部署可靠。ThinkingBox任务是合成重建的业务流程,公开材料没有证明它们能代表企业环境中未见过的系统、权限组合和异常情况。固定任务池也有时效问题:模型能力变化后,原本有训练价值的题目可能变得过易,或不再覆盖新的失败模式。对技术负责人而言,合理的落地方式是先挑选规则清楚、终态可验证的关键流程,把现有验收检查变成奖励,同时持续监控覆盖率、稳定性和副作用;不要只凭20/20任务增加,就推断智能体已经普遍可靠。