@SergioPaniego:来自 @Microsoft 的 ThinkingBox 现已作为 OpenEnv 环境上线!> ThinkingBox 是一个用于在业务工作流上测试智能体的沙盒……
摘要
微软的 ThinkingBox 是一个沙盒环境,用于评估 AI 智能体在有状态业务工作流上的表现——它通过检查终端数据库状态而非智能体消息来进行评分。现已成为 Hugging Face OpenEnv 环境,并附带包含 507 个任务的 ThinkingBox-Bench 基准测试。
查看缓存全文
缓存时间: 2026/10/06 03:41
智能体说它做完了,但数据库不同意
来源:https://huggingface.co/blog/microsoft/thinkingbox 微软 ThinkingBox 根据 AI 智能体留下的记录、而不是它们生成的句子来打分,并且进一步追问:它能否连续二十次都做到?现已通过 Hugging Face 提供。
图 1(https://cdn-uploads.huggingface.co/production/uploads/64b8491203124195cd795cad/Dzuml_9K2lfRq4hZi17EY.png)
图 1:ThinkingBox 让智能体在相互隔离的 MCP 工具会话中运行,然后对其留下的最终后端状态和副作用进行评分。引自我们的 ThinkingBox 论文(https://arxiv.org/abs/2608.19741)。
https://huggingface.co/blog/microsoft/thinkingbox#this-is-a-joint-blog-by-microsoft-and-hugging-face-special-thanks-to-tommy-guy-founder-at-enderis-ai-previously-microsoft-sergio-paniego-from-hugging-face-and-our-former-interns-zhuochun-li-university-of-pittsburgh-ali-keramati-uc-irvine-youngmin-ko-northwestern-for-co-authoringreviewing-efforts本文是 Microsoft 与 Hugging Face 的联合博客,在此特别感谢 Tommy Guy(Enderis AI 创始人,此前任职于 Microsoft)、来自 Hugging Face 的 Sergio Paniego,以及我们的前实习生 Zhuochun Li(University of Pittsburgh)、Ali Keramati(UC Irvine)、Youngmin Ko(Northwestern)在共同撰写/审阅方面的工作。
一位客户来信。她价值 745 美元的厨房电器已经在 Nashville 配送中心的快递“异常“状态卡住了,比预计送达日期晚了十五天。
AI 智能体做得很仔细。九次工具调用:调取订单、查询物流、查看客户档案、两次检索退款政策、确认没有现有工单、创建新工单、记录事件时间线,并且正确读取了政策;她的账户分层确实不符合延迟送达补偿的条件。
然后它把工单标记为已解决,并回复:“您的问题已解决,请问还有什么可以帮您的?”
这里有两处问题。承运商的异常仍未关闭,因此要求的最终状态应为挂起,等待解决。而客户自始至终没有得到对她真正所问问题的实质性回答。
一个只检查工具调用的 AI 评分器会看到九次格式正确的调用。一个检查智能体是否写入了数据库的评分器同样也会看到这些。提出异议的是数据库。
ThinkingBox 测量的正是这个差距。在 507 个有状态的业务工作流中,每个任务针对不同的 LLM 模型运行 20 次,它根据最终后端状态和副作用为智能体打分。本文涵盖我们的发现、保证一致性所需的代价,以及如何通过 OpenEnv(https://github.com/huggingface/OpenEnv/tree/main/envs/thinkingbox_env)亲自运行这个基准测试。
**你可以自己运行这个例子:**上面的例子改编自基准任务 sandbox_external_retail_group1.py:test_case_ST003_006(https://github.com/microsoft/thinkingbox-data/blob/thinkingbox-bench-v1.0/dataset/test_case/sandbox_external_retail/sandbox_external_retail_group1.py#L984-L1223),导致失败的可执行检查只涉及一个字段:工单状态为 solved,而要求的最终状态是 hold。完整的执行轨迹见我们论文附录 D.4 中的 Case 3(https://arxiv.org/pdf/2608.19741)。
目录
- 工具调用不是结果(https://huggingface.co/blog/microsoft/thinkingbox#a-tool-call-is-not-an-outcome)
- 一次成功不代表可靠(https://huggingface.co/blog/microsoft/thinkingbox#one-success-is-not-reliability)
- 你能信赖你智能体背后的模型吗?(https://huggingface.co/blog/microsoft/thinkingbox#can-you-depend-on-the-model-behind-your-agent)
- 一致性需要付出什么代价(https://huggingface.co/blog/microsoft/thinkingbox#what-consistency-costs)
- 失败特征(https://huggingface.co/blog/microsoft/thinkingbox#failure-signatures)
- 工作原理(https://huggingface.co/blog/microsoft/thinkingbox#how-it-works)
- 亲自运行(https://huggingface.co/blog/microsoft/thinkingbox#run-it-yourself)
- 未来方向(https://huggingface.co/blog/microsoft/thinkingbox#where-this-goes-next)
想在阅读结果之前先试试?请直接跳到“亲自运行“部分(https://huggingface.co/blog/microsoft/thinkingbox#run-it-yourself)。
https://huggingface.co/blog/microsoft/thinkingbox#a-tool-call-is-not-an-outcome工具调用不是结果
最终回复和有效的工具调用只是间接指标。一个智能体可能听起来完全正确,但留下了错误的值、修改了错误的记录,或者制造了多余的副作用。只有它留下的记录才能回答这个问题。
这个差距相当大。在一个覆盖 12 个 LLM 模型、共 121,680 次有效试验的同集消融实验中,有 79,853 次尝试未通过可执行检查。在这些失败中,67.24% 仍然正常终止、调用了会改变状态的工具,并且没有报告任何最终工具错误。尽管如此,可执行检查在其中 77.61% 的情况中发现了错误的字段值,43.30% 发现了非预期的额外影响,25.36% 缺少了要求的影响。这些状态检查的发现存在重叠。
一条轨迹是一个声明。数据库状态是证据。重复执行是信任检验。
https://huggingface.co/blog/microsoft/thinkingbox#one-success-is-not-reliability一次成功不代表可靠
一个智能体正确处理一次退款、随后四次处理不当,这不是一个可用的退款智能体。因此每个任务都独立运行20 次,每次都从完全相同的干净后端开始,我们报告三个不同的指标:
表 1:我们报告的三个数字,以及每个数字回答的问题。
| 指标 | 它衡量什么 | 它回答什么 |
|---|---|---|
| pass@1 | 所有尝试中成功的比例 | 它通常表现如何? |
| pass@20 | 在 20 次尝试中至少成功一次的任务数 | 它曾经能做到吗?衡量广度。 |
| 实际 20/20 | 实际上在全部20 次记录的尝试中都通过的任务数 | 它永远都能正确吗? |
我们在本文中使用实际 20/20,即 507 个任务中有多少个在 20 次尝试中全部通过的字面计数。不使用估计量,不做平滑。
先从大家熟悉的视角开始。下面的表格报告了 pass@1,即单次尝试分数的估计值,并按领域拆分。这是大多数排行榜发布的数字,单看它就像一个普通的能力排名。
表 2:ThinkingBox-Bench 按领域划分的 pass@1(%)。每个模型在每个任务上评估 20 次重复试验。加粗为该领域的领先者;下划线为次优者。单次尝试分数估计的标准误差见我们 ThinkingBox 论文中的表 4(https://arxiv.org/abs/2608.19741)。
| 模型 | 零售(98) | 车险(100) | 旅行(104) | 数字银行(104) | 咨询(101) | 总体,按任务加权(507) |
|---|---|---|---|---|---|---|
| 闭源模型 | ||||||
| Claude Opus 5.5 | 80.97 | 68.40 | 54.28 | 71.25 | 61.58 | 67.16 |
| Claude Opus 5 | 80.71 | 65.80 | 49.95 | 70.62 | 66.19 | 66.50 |
| GPT-5.4 | 76.33 | 62.65 | 68.12 | 65.34 | 54.60 | 65.36 |
| GPT-5.6 Sol | 67.65 | 65.30 | 60.34 | 59.09 | 57.52 | 61.91 |
| Claude Sonnet 4.6 | 72.35 | 54.40 | 58.94 | 56.39 | 54.31 | 59.19 |
| GPT-6 Astra | 71.73 | 46.55 | 55.87 | 60.87 | 56.83 | 58.31 |
| GPT-5.2 | 70.20 | 22.40 | 53.70 | 51.15 | 34.06 | 46.28 |
| Claude Opus 4.6 | 68.62 | 8.30 | 21.11 | 35.67 | 27.82 | 32.09 |
| o3-pro | 37.70 | 2.95 | 17.31 | 24.28 | 14.60 | 19.31 |
| Grok-4.3 | 43.93 | 2.60 | 15.14 | 1.78 | 9.55 | 14.38 |
| 开源权重模型 | ||||||
| Kimi-K3 | 82.24 | 50.80 | 61.83 | 41.35 | 51.63 | 57.37 |
| Qwen3.8-27B | 64.03 | 47.85 | 53.41 | 47.88 | 45.69 | 51.70 |
| DeepSeek-V4-Pro | 68.21 | 29.65 | 43.13 | 44.86 | 31.04 | 43.26 |
| Kimi-K2.6 | 53.72 | 24.50 | 39.52 | 33.65 | 37.33 | 37.66 |
| GLM-5.1 | 58.67 | 25.70 | 35.43 | 13.27 | 34.06 | 33.19 |
| Qwen3.6-27B | 43.11 | 29.00 | 46.39 | 27.84 | 18.37 | 32.94 |
| Qwen3.5-9B | 19.90 | 0.70 | 4.71 | 1.15 | 2.33 | 5.65 |
| Mistral-Large-3 | 11.28 | 1.30 | 8.99 | 1.15 | 0.74 | 4.66 |
Claude Opus 5.5 以 67.16% 的总体成绩领先,比 Claude Opus 5 高出三分之二个百分点。Kimi-K3 是最强的开源权重模型,与 GPT-6-Astra 相差不到一个百分点。领域差异同样重要:Claude Opus 4.6 在零售领域得分 68.62%,但在车险领域只有 8.30%。
一次好的运行告诉你一个模型能完成这项工作。它不能告诉你这个模型是否会再次做到。所以把每个任务运行 20 次,看看那个分数还剩下多少。
图 2(https://cdn-uploads.huggingface.co/production/uploads/64b8491203124195cd795cad/DjaLNZKNeU–Xy2WFCvVX.png)
图 2:每个模型的单次尝试分数在 20 次重复后还剩多少。
只有三个模型保住了大部分 pass@1 分数:GPT-6 Astra 保留了其单次尝试比率的 78%,Claude Opus 5.5 和 Claude Opus 5 各保留了 71%。另一端,GLM-5.1、Kimi-K2.6 和 DeepSeek-V4-Pro 各保留约 8%。
一个模型能做一次与它每次都做之间的差距,就是整个故事。
https://huggingface.co/blog/microsoft/thinkingbox#can-you-depend-on-the-model-behind-your-agent你能信赖你智能体背后的模型吗?
图 3(https://cdn-uploads.huggingface.co/production/uploads/64b8491203124195cd795cad/NONd2WGm4vtGpsVgs-CIq.png)
图 3:广度与一致性出现分离。十八个模型中展示了十二个;六个 pass@1 低于 33% 的模型因可读性原因省略。
Kimi-K3 在我们测试的所有模型中覆盖范围最广。它至少能完成93.89% 的基准任务:507 个任务中的 476 个。只有 31 个任务它完全无法完成,是全场最少的。在零售工作流上,它以 82.24% 的 pass@1 遥遥领先,超过所有闭源模型。
**Kimi-K3 也是最不稳定的模型之一。**507 个任务中只有 68 个,即 13.41%,在全部 20 次尝试中都成功。
Claude Opus 5 则相反。它至少能完成的任务更少(79.09%;106 个任务完全失败),但能在每次尝试都成功的情况下完成基准任务的47.53%。
**更新的模型并不能解决这个问题。**Claude Opus 5.5 在每次尝试的平均分上高于 Claude Opus 5,67.16% 对 66.50%,并且至少能完成更多任务。但它在全部 20 次尝试中都通过的任务数完全相同:241 个。标题准确率多出的半个百分点,没有换来任何额外的可靠性。
- Kimi-K3 至少能完成的任务比 Opus 5 多 75 个。
- Opus 5 能稳定完成的任务比 Kimi-K3 多 173 个。
如果你在为涉及真实记录的工作选择模型,pass@20 不是该看的那一列。
https://huggingface.co/blog/microsoft/thinkingbox#what-consistency-costs一致性需要付出什么代价
能力对比通常止步于分数。对于任何要部署的人来说,相关的问题是:完成一份成功的工作单元需要多少成本。我们用每次成功任务尝试的成本来衡量。我们称之为“任务尝试“,因为基准中的每个任务都反复运行,成本按每次尝试产生,因此 pass@1 是匹配的质量分母。
我们从每个模型在完整的 507 × 20 次运行中记录的 token 用量出发,并按 OpenRouter(https://openrouter.ai/)上可用的未折扣标价计价,还原促销折扣,并排除声明使用量化的端点。输入、输出和缓存费率均来自每个模型的一个供应商端点。
然后我们用一次运行的成本除以成功的尝试次数:
每次成功任务尝试的成本 = 507 次尝试(每个任务一次)的估计成本 ÷(507 × pass@1)
这是一个比较效率指数,不是账单,也不是服务单次生产请求的价格。它衡量的是单次成功的成本,而不是一致性。接下来我们为一致性定价。
**示例:**GPT-5.4 的 507 次尝试(每个任务一次)花费 43.49 美元,pass@1 为 65.36%,因此 $43.49 ÷(507 × 0.6536)= 每次成功任务尝试 0.131 美元。
https://huggingface.co/blog/microsoft/thinkingbox#pareto-cost-frontier帕累托成本前沿
如果没有任何其他模型同时做到成本不高且准确率不低,那么该模型就处在前沿上。有三个模型符合条件;其余每个模型都在至少一个维度上被压制。
图 4(https://cdn-uploads.huggingface.co/production/uploads/64b8491203124195cd795cad/oGmXYrxoNPJfsQndxlcMD.png)
图 4:每次成功任务尝试的成本与 pass@1 的关系。带圆圈的点是帕累托成本前沿上的模型。
成本前沿有三个台阶。GPT-5.6 Sol 的每次成功成本最低,为 0.127 美元;GPT-5.4 以每次成功多 0.004 美元的成本将 pass@1 提高了 3.45 个百分点;Claude Opus 5.5 再提高 1.80 个百分点,每次成功成本为 0.276 美元。三者都保留在成本前沿线上,因为没有更便宜的模型能达到它们的 pass@1。
Claude Opus 5 是最清晰的例子:每次成功尝试成本 0.475 美元、pass@1 为 66.50%,相比 Claude Opus 5.5 的 0.276 美元和 67.16%,它既更贵又更不准确。
https://huggingface.co/blog/microsoft/thinkingbox#now-price-consistency现在给一致性定价
每次成功成本奖励的是“便宜且常常正确“的模型,不奖励“每次都正确“的模型。因此我们还计算了每次可靠任务的成本:20 轮完整运行的成本除以模型在全部 20 次尝试中都通过的任务数。
每次可靠任务的成本 = 20 轮共 507 次尝试的估计成本 ÷ 20/20 全部通过的任务数
**示例:**GPT-6-Astra 整个运行周期花费 20 × $86.03 = $1,720.60,并且在每次尝试中都通过了 231 个任务,因此 $1,720.60 ÷ 231 = 每个可靠任务 7.45 美元。
表 3:在至少有一个实际 20/20 任务的模型中,按每次可靠任务成本从低到高排列的最低九个。估计美元金额,并非实际云账单。
| 模型 | 20/20 通过的任务数 | 估计成本,20 轮 | 每次可靠任务的成本 |
|---|---|---|---|
| GPT-5.4 | 128(25.25%) | $869.80 | $6.80 |
| GPT-6 Astra | 231(45.56%) | $1,720.60 | $7.45 |
| Claude Opus 5.5 | 241(47.53%) | $1,880.77 | $7.80 |
| GPT-5.6 Sol | 82(16.17%) | $800.00 | $9.76 |
| Claude Opus 5 | 241(47.53%) | $3,206.00 | $13.30 |
| Claude Sonnet 4.6 | 102(20.12%) | $1,587.60 | $15.56 |
| GPT-5.2 | 44(8.68%) | $878.00 | $19.95 |
| Kimi-K3 | 68(13.41%) | $1,406.40 | $20.68 |
| Qwen3.8-27B | 38(7.50%) | $925.80 | $24.36 |
现在按一致性排名。GPT-5.4 最便宜,为 6.80 美元,但只有 128 个任务达到门槛。GPT-6 Astra 以 7.45 美元达到 231 个,Claude Opus 5.5 以 7.80 美元达到并列最高的 241 个。
三者之间不存在相互压制:每多一个可靠任务的成本都会更高。Claude Opus 5 同样通过了 241 个任务,但成本为 13.30 美元,因此 Opus 5.5 完全压制了它。GPT-5.6 Sol 的单次成功成本最低(0.127 美元),但每个可靠任务的成本为 9.76 美元。获得正确答案最便宜的方式,并不是获得可靠答案最便宜的方式。
https://huggingface.co/blog/microsoft/thinkingbox#failure-signatures失败特征
我们为每条失败轨迹分配一个确定性的诊断特征,核心发现具有可操作性:约五分之四的失败源于工具使用,而非推理。来自我们论文表 5(https://arxiv.org/pdf/2608.19741)的消融研究中:
| 失败特征 | 占失败的比例 |
|---|---|
| 工具使用 | 79.9% |
| 错误的状态更新 | 10.3% |
| 用户问题未完整解决 | 7.0% |
| 没有执行状态变更操作 | 2.9% |
这些是各模型占比和可观测标签的加权平均值,并非唯一的因果解释。
实际的模式很清晰:智能体通常能走到足以尝试工作流的阶段,然后无法从工具错误、前置条件失败或空查询中恢复。这首先是一个重试和错误恢复问题,其次才是模型问题。
难度也会因领域而异:在上表 2 所列的模型中,零售领域的平均 pass@1 为 59.52%,而车险领域仅为 33.83%。
**该怎么办。**把 20/20 通过率当作设计输入,而不是最终判决。基准评分所用的同一信号,后续可作为评估智能体系统实际可靠性的起点……
相似文章
智能体声称任务已完成,数据库却不同意。
Microsoft 与 Hugging Face 推出 ThinkingBox,这是一个以终端数据库状态和副作用来对 AI 智能体进行评分的基准,涵盖 507 个有状态业务工作流,每个运行 20 次,现已在 Hugging Face 和 OpenEnv 上线。
一次成功不等于可靠:Thinkingbox,面向状态化业务工作流的代理沙盒与基准测试
Thinkingbox 引入了一个沙盒和基准测试,用于评估状态化业务工作流中的AI代理,揭示了当前模型在偶尔成功与可靠完成任务之间的显著差距。
@SergioPaniego: OpenEnv 有了新家:http://github.com/huggingface/OpenEnv… 从今天起,由一个委员会协调,其中包括…
OpenEnv,一个用于创建和部署隔离执行环境以进行智能体强化学习训练的框架,已迁移到 Hugging Face,现在由一个包括 Meta-PyTorch、NVIDIA 等的委员会管理。
@francesca_lab:这是我第一次发现沙箱既可靠又易于配置。尽情使用 Environm… 进行并行处理吧
Factory AI 宣布 Environments 正式可用(GA),为云端 AI 智能体提供可靠且易于配置的沙箱运行环境,支持并行执行。
@HowToAI_: 中国刚刚向AI智能体社区免费提供了一个生产级沙箱。OpenSandbox是一个开源的沙箱运行时…
中国发布了OpenSandbox,这是一个面向AI智能体的开源沙箱运行时,支持多种SDK以及通过Docker/Kubernetes隔离的安全执行环境。