ACEBench — 中英双语 tool-use 评测 (EMNLP 2025 Findings)
速读卡片 (TL;DR)
一句话: ACEBench 是 USTC + 华为诺亚方舟实验室 在 2025-01 提出、2025-11 EMNLP 2025 Findings 正式发表的中英双语 tool-use 评测。原标题 "Who Wins the Match Point in Tool Learning?" 已在 v8 / EMNLP camera-ready 改为 "A Comprehensive Evaluation of LLM Tool Usage"。它的最大设计差异是把任务分成三大类: Normal(常规调用 — Atom / Single-Turn / Multi-Turn / Similar API / Preference 五子类)+ Special(异常输入 — Incomplete / Error / Irrelevant 三子类,模型必须拒答或纠错)+ Agent(多智能体 模拟 — Multi-Turn / Multi-Step 两子类),并且同一份数据有中、英两个语言版本。共 4,538 API · 8 大领域 · 68 子领域,数据集核心规模约 2,000 标注样本(双语)。
立场: ACEBench 和 #28 BFCL 是 tool-use 评测的互补关系,而不是替代关系: BFCL 是 Python-only schema-AST benchmark(社区数据 + Multi-Turn + Agentic Web/Memory,4,951 任务),ACEBench 主打 (1) 中英双语 (2) Special 异常输入显式建模 (3) Agent 子集明确分 Multi-Turn / Multi-Step 两类,且用 multi-agent 模拟代替真 user。所以在 #29 EnvTuning 里它就被当成OOD eval — 训练用 BFCL V3 400 条,泛化到 ACEBench Agent 看是否真学会(ToolACE-2 Multi-Step 6.67 → 20.00)。在 #22 TOUCAN 也提到 ACE 这条线。要做中文 function-call,这是当前唯一在 EMNLP 主流会议发表、有中英双语 ground truth、被 Kimi K2 / AgentScaler 技术报告引用的 benchmark。
§1 ACEBench 是什么 — 与 ToolACE / BFCL 的关系
1.1 paper 自我定位 (verbatim)
ACEBench v1 标题是 "Who Wins the Match Point in Tool Learning?",v8 / EMNLP camera-ready 改名为 "A Comprehensive Evaluation of LLM Tool Usage"。两个标题之间 8 个版本(2025-01-22 至 2025-11-20),paper 完成了从 "tool learning" 概念到 "tool usage" 评测的语义收敛。EMNLP Findings 版本是事实定稿,bibtex 如下:
@inproceedings{chen-etal-2025-acebench,
title = "{ACEB}ench: A Comprehensive Evaluation of {LLM} Tool Usage",
author = "Chen, Chen and Hao, Xinlong and Liu, Weiwen and Huang, Xu and
Zeng, Xingshan and Yu, Shuai and Li, Dexun and Huang, Yuefeng and
Liu, Xiangcheng and Xinzhi, Wang and Liu, Wu",
booktitle = "Findings of the Association for Computational Linguistics: EMNLP 2025",
month = nov, year = "2025",
address = "Suzhou, China",
publisher = "Association for Computational Linguistics",
pages = "12970--12998",
doi = "10.18653/v1/2025.findings-emnlp.697"
}
paper 给出的三个动机(对现有 benchmark 的不满,从 EMNLP 版抽取,有微删):
"existing benchmarks for evaluating LLMs' tool usage face several limitations:
(1) limited evaluation scenarios, often lacking assessments in real multi-turn dialogue contexts;
(2) narrow evaluation dimensions, with insufficient detailed assessments of how LLMs use tools;
(3) reliance on LLMs or real API executions for evaluation, which introduces significant overhead."
三点直击 BFCL V1 / V2(单轮 schema)和 ToolBench / API-Bank(LLM judge / 真 API)的弱点。所以 ACEBench 给出的解法是: (a) 双语 / 多轮场景 / Special 异常输入 / Agent 多 agent 模拟全覆盖, (b) AST + 规则 + 沙盒 simulator 三档,不用 LLM judge。
1.2 团队 + 学术血统
第一作者: Chen Chen(USTC 博士生,intern at Huawei Noah's Ark Lab)
资深作者: Weiwen Liu(华为诺亚)、Defu Lian(USTC,工业经济学+推荐系统)、Yasheng Wang(华为)、Wu Liu(USTC)
姐妹 paper: ToolACE(2024-09, 同一华为诺亚组,作者表大幅重合 — Weiwen Liu / Xingshan Zeng / Yasheng Wang 三人是双方共有)— 见 §1.3 二者关系
1.3 ACE-Bench vs ToolACE — 同源但完全不是一件事
这是写本笔记必须澄清的一点。读者会很容易把两个项目混在一起,因为名字像、组也像。实际上它们是 评测 vs 数据集 的关系:
| ToolACE(2024-09) | ACEBench(2025-01) | |
|---|---|---|
| arXiv | 2409.00920 | 2501.12851 |
| 会议 | ICLR 2025 | EMNLP 2025 Findings |
| 定位 | SFT 数据集 + 训练流程("automatic agentic pipeline to generate accurate, complex, and diverse tool-learning data" — verbatim abstract) | 评测 benchmark("comprehensive benchmark for assessing tool usage in LLMs" — verbatim) |
| 核心产物 | 26,507 APIs · ToolACE-8B(LLaMA3.1-8B SFT)模型 | 4,538 APIs · 2,000 标注 entry · 中英双语 |
| 是否互相引用 | 不引 ACEBench(ToolACE 早 4 个月) | 引 ToolACE 作为对比对象之一 |
| 团队重合 | Weiwen Liu, Xingshan Zeng, Yasheng Wang(都是华为诺亚 + USTC 系) | 同上三人 + 第一作者 Chen Chen 唯一仅在 ACEBench |
| 后续 | ToolACE-R(2025-04, arXiv:2504.01400, adaptive self-refinement) | v2-v8 持续修订, 11 月定稿入 EMNLP |
结论: ToolACE 是训练 fuel,ACEBench 是OOD 测尺。同一华为诺亚团队不是巧合 — ToolACE 用 LLM agent 合成数据训出 ToolACE-8B 后,他们意识到当时所有 benchmark(尤其 BFCL V1)都偏 schema 单轮且只有英文,无法刻画真正的中文工业落地场景,于是花一年时间另起 ACEBench。这是"自己造数据→发现没好尺→造尺"的典型反馈循环。
§2 任务设计 — Normal / Special / Agent 三大类八子类
下面是 ACEBench 的任务类别 SVG 图(全自绘,verbatim 来自 v8 paper 章节 3 + EMNLP camera-ready 重述):
2.1 Normal 五子类 — 常规调用
| 子类 | 测什么 | 示例(改写) |
|---|---|---|
| Atom | 不同参数类型: number / enum / list / bool / object | "设置闹钟时间为 [07:00, 12:00, 18:00] 三组" → 测 list 类型 |
| Single-Turn | 单轮 single function + parallel function | "查北京和上海今天的天气" → parallel get_weather 两次 |
| Multi-Turn | topic switching + refinement-based 多轮 | 第 1 轮"订机票",第 2 轮"改成下周三" |
| Similar API | function pool 里有语义相近的工具,模型必须选对 | send_email vs send_message vs send_sms 三选一 |
| Preference | user profile 个性化(用户偏好 / 历史) | "订餐厅" + user profile "素食者" → 调用时带 diet=vegetarian |
Multi-Turn 的 v8 verbatim 描述: 对话轮次范围 "The number of dialogue turns ranges from 1 to 8"。这比 BFCL V3 multi-turn 平均 2-3 轮要深,但不到 MCP-Universe / MCPMark 那种 10-50 轮。
2.2 Special 三子类 — 异常输入
这是 ACEBench 比 BFCL 更精细的地方 — 显式把"识别问题、拒答"列为独立任务类。
| 子类 | 测什么 | 正确行为 |
|---|---|---|
| Incomplete | 必填参数缺失(用户说话不完整) | 主动追问用户补全 |
| Error | 参数格式错 / 违反约束(比如年龄给负数) | 报错或拒答,不调函数 |
| Irrelevant | 请求超出现有 tool 能力(没合适工具) | 用自然语言回应,不编一个 function name |
评测: binary (1 = 正确识别异常, 0 = 错调函数)。这点与 BFCL V1 irrelevance + V3 multi_turn_miss_param + multi_turn_miss_func 性质相同,但ACEBench 把三类异常拆得更细且独立计分。
2.3 Agent 两子类 — 多智能体模拟
这是 ACEBench 与 BFCL multi-turn 真正的方法学分歧: Agent 任务用 multi-agent 模拟来产生 user 输入,而不是单一 user prompt。两个子类:
| 子类 | 定义(v8 verbatim 转述) | 评测指标 |
|---|---|---|
| Multi-Turn | user 在对话中反复参与,user agent 模拟人类多次发言 | EA(End-to-End Acc)+ PA(Process Acc) |
| Multi-Step | user 只发一次需求, 但需要模型多步 tool 调用才能完成(典型: "帮我规划下周一日游" → 调天气 + 调地图 + 调订餐) | 同上 |
PA(Process Accuracy): 形式为 n/m, 其中 m 是理想 function call 流程步数, n 是模型实际命中步数 — 这是 trajectory-level 部分匹配, 不要求严格顺序。
2.4 数据规模和分布
论文 v8 verbatim: "The final dataset comprises 2,000 annotated entries." 双语各 2,000(经 v8 "two linguistically parallel versions… ensuring equal distribution of data types")。但 paper 没有给出每个子类的精确样本数 — Figure 3 用饼图可视化但无数字标注。这是阅读 ACEBench paper 时最大的不便处之一 — 想精确知道 "Single-Turn 多少条? Similar API 多少条?" 必须自己去 data_all/possible_answer_zh/data_*.json 数 entry。
API pool 规模(verbatim): 4,538 APIs · 8 major domains · 68 sub-domains。 8 个 domain: technology / finance / entertainment / society / health / culture / environment(以及其他)。这与 BFCL Live 不一样 — BFCL Live 是用户贡献,domain 偏程序员日常;ACEBench 是人工精心设计的 domain ontology,因此 finance / health / culture 这种类别均衡覆盖,更适合做工业评估。
§3 评测方法 — AST + Binary + State-based 三段
三类任务对应三种评测方法(verbatim 自 v8 §4):
| 任务类 | 评测器 | 关键判定 |
|---|---|---|
| Normal | AST parsing | 函数名 → 参数类型 → 参数值, 三步严格匹配; 与 BFCL AST checker 思路一致 |
| Special | Binary rule-based | 1 = 正确识别异常 / 拒答 / 追问; 0 = 错误调函数 |
| Agent | Sandbox state diff (EA) + trajectory match (PA) | EA: 比 backend class 实例属性; PA = n/m 流程命中率 |
3.1 Normal 评测 — AST 三步
v8 verbatim: "The evaluation uses AST parsing, beginning with matching the function name to the target function name, then matching parameter types to verify consistency, and finally comparing parameter values to confirm accuracy."
这是纯 schema 级评测 — 不真去执行 API,因此没有 BFCL Executable 类的"weather API 今天挂了"那种不稳定问题。三步匹配的 dispatch 在 ACEBench repo eval_main.py 实现。
3.2 Special 评测 — Binary 1/0
异常类没有需要被调对的 ground-truth function call。它只问 "模型在面对 incomplete / error / irrelevant 时, 有没有避免错调"。这是 binary 二分类问题。
3.3 Agent 评测 — EA(End-to-End)+ PA(Process)
两个指标在 paper §4 Agent Evaluation 给出:
PA = n / m, where m = 理想 function-call 流程长度, n = 模型实际命中数
EA 借鉴 BFCL V3 state-based evaluation; PA 是 ACEBench 独有的过程评分 — 即使最终 state 不完全对, 走对了大半流程也部分得分。这一点比 BFCL V3 "all-or-nothing per turn" 更宽容,适合反映"模型其实差最后一步"的真实表现。
3.4 overall accuracy 加权公式
v8 paper 给的总分加权 — 这个公式比 BFCL V4 用硬编码 10/10/30/40/10 更"统计 fair":
where A = √nNormal / (√nNormal + √nSpecial + √nAgent), B & C 同理
√n 加权的好处: 抑制大类支配 — Normal 子类很多(5 子类),Agent 只有 2 子类。如果用线性 n 加权,Agent 的权重会被冲低到 ~10% 以下;用 √n 加权,Agent 大约还能拿 25-30% 权重。这是个比 BFCL V4 "硬编码 40% Agentic" 更自洽的选择。
§4 🔍 开源现状 — repo / dataset / license / 自托管
| 组件 | 位置 | 状态 |
|---|---|---|
| 代码仓库 | ACEBench/ACEBench | MIT License |
| 数据集 | 仓库内 data_all/ | 分 possible_answer_en/ + possible_answer_zh/; JSON; 随 repo 一起 MIT 发布 |
| HF dataset 镜像 | 未提供 | 截至 2026-05 没有官方 HuggingFace dataset(BFCL 有 — 这是 ACEBench 比 BFCL 弱的一点) |
| Live leaderboard | chenchen0103.github.io/ACEBench | last updated 2025-07-21 |
| 评测脚本 | generate.py + eval_main.py | 纯 python, 不依赖 SerpAPI / OAuth |
| 模型 handler | model_inference/inference_map.py | APIModelInference(OpenAI / Qwen / DeepSeek / Claude / Gemini)+ CommonInference("-local" 后缀的本地模型) |
| 第三方 BFCL/ACE-Bench 桥 | NVlabs/Tool-N1 | Tool-N1 eval pipeline 同时支持 BFCL + APIBank + ACEBench(#28 §11.2) |
4.1 三步自托管(README verbatim)
# 1. 装环境
git clone https://github.com/ACEBench/ACEBench
cd ACEBench
pip install -r requirements.txt
# 2. inference — 闭源 API(以 qwen-max 中文为例)
python generate.py --model qwen-max --category test_all --language zh
# 2b. inference — 本地模型(model name 加 "-local" 后缀)
python generate.py --model Qwen2.5-3B-Instruct-local \
--model-path /path/to/model \
--category test_all --language zh
# 3. evaluate
python eval_main.py --model Qwen2.5-3B-Instruct-local --category test_all --language zh
关键参数:
--category: 可选test_all或具体子类(data_normal/data_special/data_agent/ 等)--language:zh中文 /en英文 — 必须显式指定一种,无 "both" 选项--model-path: 本地模型 ckpt 目录(仅-local后缀 model 用)
4.2 模型 handler 注册流程
跟 BFCL 类似,加新模型需要 (1) 在 model_inference/inference_map.py 加 mapping, (2) 实现对应 APIModelInference 或 CommonInference 子类。但比 BFCL 简单 — ACEBench 只有 inference + eval 两个入口,没有 BFCL 那么大的 model_handler 模块。
§5 leaderboard — 原 paper Table 2 + Kimi K2 + EnvTuning OOD
5.1 paper 原始 leaderboard (v8 Table 2 — 双语 combined Overall)
来自 v8 paper Table 2(combined 中英文 overall acc, 由 √n 加权): 前 21 个 model,按 Overall 排序。verbatim 自 paper:
| Rank | Model | 类型 | Normal | Special | Agent | Overall |
|---|---|---|---|---|---|---|
| 1 | GPT-4o | proprietary | 93.4 | 84.5 | 77.0 | 85.4 |
| 2 | GPT-4-Turbo | proprietary | 93.2 | 84.8 | 77.5 | 84.5 |
| 3 | Qwen2.5-Coder-32B-Instruct | open ≤40B | 90.2 | 81.0 | 71.0 | 79.6 |
| 4 | Qwen-Max | proprietary | 91.2 | 80.5 | 68.0 | 78.4 |
| 5 | DeepSeek-V3 | open large | 91.5 | 84.0 | 77.0 | 74.8 |
| 6 | Qwen2.5-72B-Instruct | open large | 86.8 | 80.3 | 69.5 | 74.7 |
| 7 | GPT-4o-Mini | proprietary | 86.5 | 76.0 | 66.5 | 72.5 |
| 8 | Gemini-1.5-Pro | proprietary | 84.5 | 76.8 | 64.5 | 70.7 |
| 9 | Claude-3-5-Sonnet | proprietary | 76.9 | 72.5 | 62.5 | 68.9 |
| 10 | Llama-3.1-70B-Instruct | open large | 82.5 | 68.3 | 63.5 | 60.4 |
| 11 | Doubao-Pro-32k | proprietary(字节) | 79.8 | 55.5 | 58.0 | 59.4 |
| 12 | Qwen2.5-7B-Instruct | open ≤40B | 76.0 | 60.3 | 58.5 | 54.8 |
| 13 | DeepSeek-Coder-V2-Lite-Instruct | open ≤40B | 75.2 | 57.8 | 46.5 | 49.5 |
| 14 | Qwen2.5-Coder-7B-Instruct | open ≤40B | 76.0 | 63.8 | 57.5 | 48.9 |
| 15 | Watt-Tool-8B | open ≤40B specialized | 85.7 | 69.3 | 55.5 | 45.7 |
| 16 | Hammer2.1-7B | open ≤40B specialized | 73.7 | 57.5 | 40.0 | 42.9 |
| 17 | Llama-3.1-8B-Instruct | open ≤40B | 51.9 | 39.8 | 28.0 | 33.4 |
| 18 | Phi-3-Mini-128k-Instruct | open ≤40B | 57.2 | 39.3 | 23.0 | 32.0 |
| 19 | xLAM-7B-r | open ≤40B specialized | 43.5 | 22.0 | 19.0 | 21.6 |
| 20 | Llama-3.2-3B-Instruct | open ≤40B | 38.7 | 15.3 | 9.0 | 19.6 |
| 21 | Hammer2.1-3B | open ≤40B specialized | 22.4 | 11.5 | 3.5 | 11.3 |
SOTA 分组(paper 原报数, 2025-01 至 2025-11 周期):
| 分组 | Top 5(Overall verbatim) |
|---|---|
| Proprietary frontier | (1) GPT-4o 85.4 · (2) GPT-4-Turbo 84.5 · (4) Qwen-Max 78.4 · (7) GPT-4o-Mini 72.5 · (8) Gemini-1.5-Pro 70.7 |
| Open-weight ≤40B | (3) Qwen2.5-Coder-32B 79.6 · (12) Qwen2.5-7B 54.8 · (13) DeepSeek-Coder-V2-Lite 49.5 · (14) Qwen2.5-Coder-7B 48.9 · (15) Watt-Tool-8B 45.7 |
| Open-weight large | (5) DeepSeek-V3 74.8 · (6) Qwen2.5-72B 74.7 · (10) Llama-3.1-70B 60.4 |
5.2 Agent 子集详细 (paper Table 4 — Multi-Turn / Multi-Step 分开)
这是 ACEBench 最有诊断价值的子表 — 拆分 Multi-Turn 和 Multi-Step,每边给 EA/PA 双指标:
| Model | Multi-Turn EA | Multi-Turn PA | Multi-Step EA | Multi-Step PA |
|---|---|---|---|---|
| GPT-4-Turbo | 50.0 | 66.0 | 85.0 | 89.5 |
| DeepSeek-V3 | 31.5 | 54.5 | 37.5 | 53.0 |
| Claude-3-5-Sonnet | 21.5 | 41.5 | 57.5 | 76.5 |
| DouBao-Pro-32k | 20.0 | 45.5 | 30.0 | 47.5 |
| Qwen2.5-7B-Instruct | 15.0 | 28.0 | 12.5 | 15.5 |
| Hammer2.1-7B | 8.5 | 33.5 | 25.0 | 42.5 |
诊断信号:
- Multi-Step 普遍比 Multi-Turn 容易: GPT-4-Turbo Multi-Step 85.0 vs Multi-Turn 50.0(差 35 pp)。这反直觉 — "user 只说一次" 反而比 "user 多次发言" 容易,因为 user repeatedly 引入更多歧义。
- Claude-3-5-Sonnet Multi-Turn 21.5 反常低(比 GPT-4-Turbo 低近一半),但 Multi-Step 57.5 又抢回。这是 Anthropic 模型在 multi-turn schema 上的已知问题(与 #28 BFCL Claude V3 25.3 同源)。
- PA 都比 EA 高 5-15 pp: 这印证了 PA 是 "process-level partial credit", 让"差最后一步的模型"也能拿分。
5.3 Kimi K2 自报(K2 技术报告 Table 3)
Kimi K2 技术报告(Moonshot, 2025-07)Table 3 单独把 ACEBench (En) 列为主报告 metric 之一:
| Model | ACEBench (En) Overall |
|---|---|
| GPT-4.1 | 80.1 |
| Kimi-K2-Instruct | 76.5 |
| Claude Sonnet 4 | 76.2 |
| Claude Opus 4 | 75.6 |
| Gemini 2.5 Flash | 74.5 |
| DeepSeek-V3-0324 | 72.7 |
| Qwen3-235B-A22B | 70.5 |
Kimi K2 paper abstract verbatim: "Notably, K2 obtains 66.1 on Tau2-Bench, 76.5 on ACEBench (En), …"。 这是 frontier model 报告里少有的把 ACEBench 当 first-class metric 用的例子。
5.4 EnvTuning OOD(#29)— Agent 子集
EnvTuning(#29)把 ACEBench Agent 当 OOD eval 用 — 训练只用 BFCL V3 400 条,泛化效果由 ACEBench Agent 验证。Table 2 verbatim:
| Model | ACEBench Agent Avg | Multi-Turn | Multi-Step |
|---|---|---|---|
| xLAM-2-8b-fc-r | 1.65 | 0.00 | 3.33 |
| BitAgent-8B | 5.00 | 10.00 | 0.00 |
| Llama-3.1-8B-Instruct | 1.65 | 0.00 | 3.33 |
| + Environment Tuning | 4.17 | 5.00 | 3.33 |
| ToolACE-2-Llama-3.1-8B | 8.34 | 10.00 | 6.67 |
| + Environment Tuning | 15.00 | 10.00 | 20.00 |
| watt-tool-8B | 2.50 | 5.00 | 0.00 |
| + Environment Tuning | 7.50 | 0.00 | 15.00 |
5.5 Tool-N1 + AgentScaler 自报(社区收录)
除上述外, AgentScaler(基于 Qwen3 的 agentic 微调系列)/Tool-N1 (NVIDIA, #28 §11.2)的 paper 也把 ACEBench 列为对比目标之一。但因为 paper 自报数字 + 评测细节(中/英? combined?)各异,本文不再单列。 截至 2026-05,ACEBench 官方 leaderboard 自 2025-07-21 后没有再大批更新, 第三方汇总(llm-stats / airank.dev)收录非常少, 远没到 BFCL 109 model 那个量级。这是 ACEBench 在 "social adoption" 维度的明显短板。
§6 提交流程 — PR-based,无 web portal
ACEBench 仓库 README 没有显式 "How to Submit" 章节,但从 repo 结构可推出标准 PR 流程:
- fork
ACEBench/ACEBench - 在
model_inference/inference_map.py注册新 model + 实现对应*Inference子类 - 本地跑
python generate.py+python eval_main.py出两份 JSON(en+zh) - 更新
docs/下的 leaderboard 表(GitHub Pages 渲染) - 提 PR — 第一作者 Chen Chen(
chenchen0103即 GitHub Pages 域名)review
§7 与 BFCL / MCP bench 对比 — 何时用 ACEBench
| 维度 | ACEBench | BFCL V4 | MCP-Universe / Atlas / Toolathlon |
|---|---|---|---|
| 语言 | 中 + 英 双语 | 英文 (+ Java/JS subset 50-100 题) | 英文为主 |
| tool 接口 | Python class API + JSON schema | Python class API | 真 MCP protocol (JSON-RPC + OAuth) |
| 异常输入 | 3 子类显式建模(Incomplete / Error / Irrelevant) | 仅 irrelevance + multi_turn_miss_func / miss_param | 不显式建模 |
| multi-agent | 是(Agent 子集用模拟 user agent) | 否(real user prompts only) | 真 user prompts |
| multi-step | 显式独立子类 | 含在 multi_turn_base / composite | 常态化, 10-50 step |
| 评测器 | AST + binary + state diff(无 LLM judge) | AST + state diff(无 LLM judge) | Atlas: Gemini judge · Universe: 多层 · MCPMark: verify.py · Toolathlon: 真副作用 |
| 规模 | ~2,000 entries | ~4,951 entries | 231 (Universe) / 1,000 (Atlas) / … |
| 跑一次价格 | 低(~$10 API, 无 OAuth) | ~$50 API(SerpAPI 钱另算) | $500-2,000 + 真 cloud env |
| HF dataset | 无 | 49k 下载/月 | 各自不同, 都偏少 |
| license | MIT | Apache-2.0 | Apache-2.0 / MIT 混合 |
| frontier 引用 | Kimi K2 技术报告主报 76.5 | GPT-5.5 system card (训练源) | Claude Opus 4.7 system card (MCP-Atlas 77.3) |
7.1 何时用 ACEBench
- 需要中文 function-call eval: 这是当前唯一在主流会议(EMNLP 2025 Findings)上发表、有中英双语 ground truth、被工业界(Kimi K2, AgentScaler)引用的 benchmark。中文 LLM 厂商训 tool-use 模型,ACEBench 是必跑。
- 需要 fine-grained Special 类: 如果你想测"模型拒答 / 追问能力", ACEBench 把异常输入拆成 3 子类比 BFCL 更细。
- OOD eval(配合 BFCL 训练): 见 #29 EnvTuning 范例 — 用 BFCL V3 训,用 ACEBench Agent 测 OOD。
- 预算紧: 无 SerpAPI / 无 OAuth / 无真 cloud, 跑一次便宜得多。
7.2 何时不用 ACEBench
- 需要真生产 stack: 真要测 OAuth Notion / Stripe / GitHub MCP, 直接上 MCP-Universe / Atlas / MCPMark。
- 需要 109 model 大盘对比: BFCL 官方 CSV 持续更新,ACEBench leaderboard 自 2025-07 静默。
- 需要 V4 agentic 类(web search / memory): 这是 BFCL V4 独有, ACEBench 不评。
§8 frontier model 官方引用情况
| frontier model | 是否在官方 card / paper 引用 ACEBench | 具体引用方式 |
|---|---|---|
| Kimi K2 / K2-0905 (Moonshot, 2025-07) | 是 — Table 3 主报告 metric | abstract verbatim: "76.5 on ACEBench (En)"; Table 3 把 ACEBench 与 Tau2-Bench / GPQA / MATH 并列 first-class |
| AgentScaler (Qwen3 系列 agentic 微调) | 是 — claim SOTA | 3rd-party 总结: AgentScaler 4B/8B/30B-A3B 在 ACEBench 与 τ-bench / τ2-Bench 上 claim SOTA |
| GPT-4o / GPT-4-Turbo / GPT-4.1 (OpenAI) | 官方 system card 未引用 | 但 Kimi K2 report Table 3 替 OpenAI 报: GPT-4.1 = 80.1(ACEBench Top1)· GPT-4o 85.4(paper 原报) |
| Claude Sonnet 4 / Opus 4 (Anthropic) | 官方未引用 | Kimi K2 report 替报: Sonnet 4 = 76.2 · Opus 4 = 75.6 |
| Gemini 2.5 Flash (Google) | 官方未引用 | Kimi K2 report 替报: 74.5 |
| DeepSeek-V3 | 官方未引用 | paper 原报 74.8;K2 report 72.7(0324 variant) |
| Qwen3-235B (Alibaba) | 官方未直接 | K2 report 替报 70.5 |
| Tool-N1 / Nemotron-Research (NVIDIA) | 是 — eval pipeline 内嵌 | Tool-N1 repo eval 支持 BFCL + APIBank + ACEBench(#28 §11.2) |
| EnvTuning (蚂蚁 AWorld, ICLR 2026) | 是 — Table 2 主 OOD | 用 ACEBench Agent 当 OOD eval, ToolACE-2 8B 8.34→15.00 见 #29 |
结论: ACEBench 的引用模式与 BFCL 完全不同。BFCL 主要被 ≤40B 小模型 SFT recipe(xLAM / Hammer / TOUCAN / 等)和 GPT-5.5 system card 当训练 / 训练源用;ACEBench 主要被中国厂的 frontier 模型(Kimi K2 / AgentScaler / DeepSeek 第三方报)+ 学术 OOD eval(EnvTuning)用。两个 benchmark 的 social topology 不重合 — 这恰恰是 ACEBench 不可替代的原因: "我们要在中国 frontier model 中做对比" 这件事 BFCL 没法满足,只能用 ACEBench。
§9 局限 + 个人 take
9.1 ACEBench 本身局限
- 没有公开子类样本数: paper "2,000 annotated entries" 是总数,Figure 3 只画饼图无 label。 写 RL reward / curriculum 时不知道每个子类多少条非常不便,只能 clone repo 自己
jq数。 - 没有 HF dataset 镜像: 49,556 BFCL 月下载 vs 0 ACEBench HF 月下载。这意味着大多数研究者会"忘了"用 ACEBench。
- Leaderboard 静默: 2025-07-21 后官方网站没再更新, 第三方收录只有 2 条(llm-stats)。 想看"GPT-5 在 ACEBench 多少"找不到 — 只能去 Kimi K2 paper / EnvTuning paper 抠对比表。
- Agent 子集是 simulated user, 不是 real user: 比 BFCL multi_turn 多一层"另一个 LLM 演用户", 但仍然不是真用户 — 因此和 MCP-Universe / Atlas 的"真 user query"评测维度仍有差距。
- 语言不止双语,文化也是 Chinese-context: 中文版 8 domain 里 "society / culture / health" 子类很多是中文语境特有(比如健康咨询的中医词汇)。 这是优点也是局限 — 英语 user 直接跑英文版分数会有 bias。
- 没有版本演化机制: BFCL 有 V1→V4 演化(每代 changelog 公开), ACEBench v1-v8 全是同一 benchmark 的 paper 修订, 数据/任务集没显著扩张。一旦 GPT-5 把 Normal 类压到 95%+, 整个 benchmark 难以扩容。
9.2 我的 take
- ACEBench 是 "中文 + Special + Agent 三件套" 的事实标准。 BFCL 是英文 schema 标准,ACEBench 是中英双语 + 异常处理 + 多 agent 模拟标准。两者互补, 不可互替。 训中国厂模型必跑。
- Agent Multi-Step 子集是 ACEBench 最大的差异化贡献。 BFCL V3 multi_turn 也有"多步", 但没把 "user 只发一次, 模型连续 plan 多 tool" 这个 sub-type 单列。 这恰恰是 production agent 最常见的形态(用户说"帮我搞定")。 ACEBench Multi-Step 单独评 EA + PA 双指标对训练 plan-and-execute 模型有诊断价值。
- "Special 类显式建模" 是被低估的设计。 现在 frontier model card 都喜欢说 "we improved hallucination", 但很少有 benchmark 把 Incomplete / Error / Irrelevant 拆开看。 ACEBench 把这 3 类拆出 binary 评测, 比 BFCL irrelevance 一锅炖更可解读。
- "OOD eval" 角色定位最准确。 #29 EnvTuning 的用法是教科书 — 训用 BFCL V3, 测用 ACEBench Agent。 这避免了 BFCL 自我训测一致的 data leakage 风险, 也提供了跨语言泛化信号。 我推荐所有 ≤40B function-call 模型训练管线把 ACEBench Agent 当第二关 gate(第一关: BFCL V3 Overall ≥70%)。
- 但靠 ACEBench 单独训不可行。 2,000 样本太少, 子类不公开, 不该当训练目标。 应该当泛化测尺用。
- v8 → EMNLP camera-ready 改标题 = team 的成熟信号。 从 v1 "Who Wins the Match Point" 这种竞赛标题改为 v8 "A Comprehensive Evaluation" 平实标题, 反映团队的目标从"我要发个炸点 paper"变成"我要做一个能用十年的标准"。 这对一个评测项目来说是好信号。 但要真做到 BFCL 那种"十年标准", 必须解决 §9.1 列的 6 个局限 — 尤其 (2) HF 镜像 + (3) 持续 leaderboard 维护。
9.3 一句话推荐
训 ≤40B 中英双语 function-call 模型的标准流程: TOUCAN / xLAM 1.5M SFT 冷启 → BFCL V3 Overall ≥70% gate → ACEBench Agent ≥25% OOD gate(Multi-Step ≥30%) → EnvScaler / SETA / EnvTuning 合成 env RLVR → BFCL V4 Agentic ≥50% gate + ACEBench Multi-Step ≥40% → MCP-Atlas / MCPMark 真测。 ACEBench 是中英双语必经的 第二关 OOD。