Read this paper write-up in English
ToolBottleneckBench:受控压力与固定预算下的公共工具评测接口¶
本地为
evaluation_protocol_interface:有限任务编译器、真实状态沙箱、九义务 exact grader,以及一组官方历史行的 CPU 复算。adapter: null、diagnostic_only: true、promotion_eligible: false、evolve_integrated: false;没有评测新的 Agent。
论文信息¶
| 字段 | 内容 |
|---|---|
| 论文链接 | ToolBottleneckBench: Measuring Tool-Agent Performance under Controlled Pressures and Fixed Harness Budgets |
| 公司/机构 | 一作 Zichuan Xu:University of Osaka;合作者 Initial S、Nagoya University |
| 首次公开日期 | 2026-10-15,arXiv v1 01:59:58 UTC(北京时间 09:59:58) |
| 原文开源代码 | 已发布官方仓库,MIT;未执行上游脚本 |
| 本地 Adapter | 无(adapter: null);本地 key:tool-bottleneck-bench |
| 本地复现代码 | src/auto_research/agent_research/tool_bottleneck_bench.py;scripts/run_tool_bottleneck_bench.py |
原始论文总结¶
背景与主要改动¶
工具 Agent 的失败不只取决于模型:工具目录、可见菜单、工作流和返回记录编码会与 token/call/turn 上限交互。论文固定请求、事实和决策,分别操纵注册目录 R、可见菜单 V、认证工作流 W、返回状态 D。原协议有 36 个 family、12 个企业意图;routed menu 使用真值辅助缩窄,不能视为无需 oracle 的能力方案。
flowchart LR
A[固定任务语义] --> B[R V W D 单因素变体]
B --> C[固定 harness 预算]
C --> D[真实工具执行和状态轨迹]
D --> E[九义务 exact grader]
E --> F[首个未满足义务与终止原因]
原论文关键图¶
Figure 1,官方仓库发布的原文 overview。图片来自原论文,版权归原作者所有;仓库图文件固定至上表 revision。
核心公式¶
验证成功为 \(Y=A\land S\land P\land Q\land E\land X\land G\land B\land C\),依次检查工具可用、选择、依赖有效程序、JSON 答案、精确引用、精确允许状态变化、无未请求变化、预算和 completion 完整性。失败标签为首个未满足义务,不等于因果归因。终止原因另按 completion cap、token/call budget、turn limit、不可行早停、错误结论、其他合同违反排序。
目录压力使用 ITT:\(Y_R=A\cdot S\)。工具未检索到、缺失响应或基础设施失败不能被删出计划分母。主论文容量对比按 family 聚类,Discovery 按 18 个 required-tool cluster 聚类;本地只复算后一类单配置记录。
论文离线与线上效果¶
原文 21 个模型/harness 配置、26,576 条 scored conditions。routed/fixed menu 从 8→128 时 VTS 分别下降 12.3/17.5 个百分点;截断重的六配置将 cap 提高 16 倍后,菜单惩罚从 -43.7 收窄至 -2.7 个百分点。91.5% exact-graded 失败终止于 harness limit。以上是论文整体结果,不是本地运行;未报告生产线上 A/B。
本地复现¶
数据协议与来源¶
仅使用固定 revision 6f7fe7157c702c5c10937080f15bb3d48ce73d69 的一组 Gemini 3.6 Flash Discovery frozen plan 和对应官方 scored rows。小文件原样保存在 frozen plan 与 scored rows;MIT 许可见 LICENSE。
| 官方路径 | SHA256 |
|---|---|
results/prospective-plans/core-main/gemini-36-flash-primary-discovery.json |
486ae15a5591645df4c6fffa9d47733f5225f45a1e19a197ce381a5b18074ac7 |
results/prospective-execution/core/gemini-36-flash-primary-discovery.jsonl |
b5a57e002faed5f309d622cf82e5d32430599bce9c3e625776505b96c13eb6b0 |
导入时验证 condition 内容 hash、plan hash、每条件唯一性,以及 official success 与 A×S/status 的一致性。计划全部 216 条是分母;未知条件、重复条件或 hash 不匹配直接拒绝。缺行计失败,若整个 case 都缺失导致 required-tool cluster 无法确定,则保留 ITT 点估计而不编造聚类区间。
PYTHONPATH=src python scripts/run_tool_bottleneck_bench.py \
--plan docs/agent-research/2610.21098-tool-bottleneck-bench/validation/upstream/gemini-36-flash-primary-discovery.json \
--rows docs/agent-research/2610.21098-tool-bottleneck-bench/validation/upstream/gemini-36-flash-primary-discovery.jsonl \
--resamples 10000 --seed 42 --output runs/tool-bottleneck-bench/official-discovery-cpu.json
CPU 复算结果¶
| 子集 | 成功/计划 | ITT success | 95% required-tool cluster bootstrap |
|---|---|---|---|
| 全部六个目录/检索器单元 | 163/216 | 75.46% | 不将异质单元混成一个区间 |
| R=2048,flat | 7/36 | 19.44% | 5.56%–38.89% |
| R=2048,hierarchical | 28/36 | 77.78% | 58.33%–94.44% |
53 条 capability_unavailable 全保留,缺行 0。每单元 18 个 required-tool clusters、10,000 次重采样、统计种子 42。完整固定指标和真实执行命令见 CPU 复算产物。这是上游历史输出的重算,不是重新调用 Gemini,也不验证新模型能力;统计 seed 不是训练 seed。
代码映射、验证与边界¶
compile_task 独立实现 仅 escalation_assessment 子集,不是官方 36-family compiler:2/4/6 次读、可分支依赖、opaque IDs、R/V 等级和四种可逆编码。该子集只读,九义务中的 X/G 检查禁止任何状态变化;未实现论文有请求的可逆写操作。Sandbox 在实际 JSON 状态上执行 search/get 和空返回邻路工具,不执行任意 shell/网络。grade_episode 独立重放轨迹、核对 hash 链、允许任意合法分支顺序、逐项判定引用/答案/预算/completion。公开视图不包含 facts、decision、records 或隐藏程序。
单测中的无模型 public-handoff controller 只是 sandbox/合同诊断,不是论文 Agent。测试覆盖依赖逆序、伪造轨迹、未见引用、状态篡改、缺工具、completion 截断、预算失败、失踪/重复历史行和 lossless 编码。没有全量 retriever、所有企业意图、26,576 条原实验或 API 模型调用;没有 executable evolve operator。
成本决策:原实验公开估价约 USD 768.38,21 个托管配置及多组 repairs/cap sweeps 超出本轮零 API、零训练预算;成本过高,不复现(审查 DONE),full_experiment_status: not_reproduced_high_cost。已完成的是有限公共接口和选定历史数据复算,不是原论文完整复现。
