ToolACE: Winning the Points of LLM Function Calling

Huawei Noah's Ark Lab + USTC + CUHK · Weiwen Liu, Xu Huang, Xingshan Zeng, Xinlong Hao, ..., Yasheng Wang, Ruiming Tang, Defu Lian, Qun Liu, Enhong Chen (27 作者) · 2024-09-02 (v1) → 2025-07-25 (v2) · ICLR 2025
arXiv:2409.00920 · HF Org Team-ACE · HF Dataset · HF Model (ToolACE-8B) · OpenReview
关键词: function calling SFT 数据 · 26,507 API · TSS/SDG/DLV 三件套 · BFCL V3 · ToolACE-8B (LLaMA-3.1-8B SFT) · Apache-2.0

速读卡片 (TL;DR)

一句话: ToolACE 是 华为诺亚方舟实验室 + USTC 在 2024-09 发表、2025 年入选 ICLR 2025function-calling 训练数据合成 pipeline。它做了三件事: (1) 用 TSS (Tool Self-Evolution Synthesis)speciation-adaptation-evolution 三步,从 LLM 预训练语料里"长"出 26,507 个合成 API(390+ 领域,远超 ToolBench 16K / xLAM 等同期工作);(2) 用 SDG (Self-Guided Dialog Generation) 多 agent (user/assistant/tool) 演 dialog,且 用待训 LLM 自己当 complexity evaluator 来动态调整难度;(3) DLV (Dual-Layer Validation) = 规则检查 + 多 expert agent 模型检查双层过滤。基于这条数据,他们 SFT LLaMA-3.1-8B-Instruct 出 ToolACE-8B,在 BFCL-v3 leaderboard (截图日 2024-09-20) Overall 59.22 · 排名第 3(仅次于 GPT-4-turbo 60.41 / GPT-4o 59.49),Single-turn AST/Exec 高达 89.27 / 90.07,Relevance/Irrelevance 85.37/83.81 双高。License 是 Apache-2.0(数据 + 全部 4 个 model variant 一致),不是 CC-BY-NC(下面 §5 会专门校订该传言)。

26,507 / 11,300
API 池 / 公开 dialog 数据条
TSS · SDG · DLV
三件套(注:不是 TAS/SAD/DLA)
4 ckpts · Apache-2.0
8B → 2-8B → 2.5-8B 三代 + dataset
BFCL-v3 #3
59.22 Overall · 媲美 GPT-4 系列

立场: ToolACE 是 2024 年下半年开源 function-calling 训练数据的事实标准之一。它在 BFCL-v3 leaderboard 上是第一个用 8B 规模追上 GPT-4 系列的工作,因此被几乎所有后续工作当对照(#22 TOUCAN 的 "5× larger than Nemotron / ToolACE" 说法 / #34 ToolMind 在 function pool 里直接复用 ToolACE 7,327 条 / #27 SmallModel landscape 把它列进 ≤40B 标杆)。它的"姐妹工作" #30 ACEBench(同一华为诺亚组,2025-01)反映的是"自己造数据 → 发现没好尺 → 造尺"的反馈循环。本次精读的最重要 finding: HF 上 Team-ACE/ToolACE dataset 与 Team-ACE/ToolACE-8B/2/2.5 三个 model 的 license 均为 Apache-2.0(见 §5 实地 curl 验证)— 因此 #31 §10.1.1 把 ToolACE 列进 CC-BY-NC 名单 / #34 把 ToolMind 标"含 ToolACE NC 派生" 的判断 需要更正


§1 Motivation — 2024-09 那个时间点为什么还需要造数据

ToolACE 提交 arXiv 时 (2024-09-02),function-calling 这条赛道的训练数据格局大致是:

数据集 / 模型团队API 数Domain问题
ToolBench / ToolLLM清华 OpenBMB16,464RapidAPI 49 个充满死链 + 数据 noisy,multi-step 但缺 parallel/nested
ToolAlpacaNUDT426~50规模小,只覆盖 single-turn
Glaive-FC-v2Glaive AIn/an/a规模小,仅 single turn,广为商用基线
xLAM (APIGen)Salesforce3,67321 个论文 2024-06 才出,数据 CC-BY-NC-4.0(这才是真 NC 的那一个)
ToolACE(本文)华为诺亚 + USTC26,507390+(论文 Table 1 自报)覆盖 nested / parallel / dependent / multi-type 全谱
"real function-calling data is challenging to collect and annotate, while synthetic data from existing pipelines often lack coverage and accuracy... ToolACE comprehensively incorporates the broadest range of APIs and domains, supports complex nested parameters, accommodates both parallel and dependent function calls, and addresses various types of tool-related data." — abstract + Table 1 caption

论文 §1 + Table 1 的论点很直白:

读法提示: 这个 motivation 看起来"做大做全做准",听起来像 incremental 工程,但 ToolACE 的 self-guided 这一点(SDG complexity evaluator = 待训 LLM 自己)是当时 contemporary 工作里少见的 data-model co-adaptive 设计,后来被 #34 ToolMind 的 turn-level binary judge 借鉴(虽然实现方式不同)。

§2 三件套 TSS / SDG / DLV — 论文的 headline contribution

命名校订: 用户在任务里用的是 "TAS / SAD / DLA" 三个缩写,但论文原文用的是 TSS / SDG / DLV(已 verbatim 验证): 后面正文统一用 TSS/SDG/DLV。如果你在别处看到 TAS/SAD/DLA, 那是误记。

2.1 TSS — Tool Self-Evolution Synthesis (§2.2)

TSS 是造 API schema 的流水线,三阶段 Speciation → Adaptation → Evolution 命名直接借了生物学演化论的术语。

Step 1 — Speciation (物种分化): 从 LLM 的 pretraining data(技术手册、API 文档、产品说明书、用户指南、教程)出发,prompt 一个 frontier LLM agent 提取每篇文档背后的 API domain + 所有可能的 functionality / use case,得到一棵层次化 API context tree。每个节点是一个可能的功能(get the weather forecast / get the stock price / send an email),孩子节点递归生成。论文 Appendix A Figure 9 给出 entertainment domain 的子树作为例子。
Step 2 — Adaptation (适应): 在 context tree 上采样一个子树,把这个子树对应的 functionality 集合作为一个 API 的功能集合。不同 API 可以采到不同子树深度: 复杂 API 覆盖多个节点(domain-specific 细致功能),简单 API 只覆盖单个叶节点(直接目的)。
Step 3 — Evolution (进化): 维护一个 API example buffer,迭代地 sample example → adapt to current subtree → generate next-gen API。论文用了一组 diversity indicators 来扰动: (a) 加新 functionality / 新参数; (b) 加 constraint; (c) mutate 参数 type; (d) update return result。最终得到 26,507 API,其中 nested 类型(参数是 list-of-list / list-of-dict)是论文反复强调的覆盖到而其它数据集多半没有的类型。
① Speciation pretraining 文档 → frontier LLM 提 → API context tree (domain × functionality 层次 tree) ② Adaptation 从 tree 采子树 → 每 API 一个 unique functionality 集 (子树深度 = API 复杂度) ③ Evolution example buffer + 4 类 diversity indicator 扰动 → 26,507 API (含 nested 参数) TSS pipeline = 用 LLM 的预训练语料里的 API 文档,跑一个生物演化式的 generate-loop
TSS 三阶段 — speciation 抽 domain tree, adaptation 切子树, evolution 迭代变异。最终产出的不是 dialog 而是 API schema 本身;dialog 在下一步 SDG 才生成。

2.2 SDG — Self-Guided Dialog Generation (§2.3)

SDG 把 API schema 变 dialog,核心两个子模块:

2.2.1 Complexity Evaluator(论文的 novelty 所在)

论文观察到三件事(基于 LLM loss 的 empirical):

所以 complexity evaluator = 待训 LLM 本身。它评估当前 dialog 的 loss,如果太低就告诉 generator "再难一点"(加更多候选 API / 让 user 提更模糊的 query),太高就反向。

2.2.2 Multi-Agent Dialog Generator

三个 agent 各扮一角(三个 LLM instance):

Agent职责注意
User发起 request / 提供额外信息在 self-guided complication 指导下动态调整 dialog 复杂度
Assistant调 API / 请求信息 / 总结 tool feedback / 不调工具直接回答每个动作生成多次,只保留 多次决策一致 的;有 specialized thinking prompt
Tool模拟 API 返回API 不真执行,response 由 LLM 编出 plausible JSON(这是 #22 TOUCAN 后来的核心批判)

四种 dialog 类型按比例混合: single function calls / parallel function calls / dependent function calls / non-tool-use dialogs — 后者(non-tool-use)是为了训 irrelevance detection 的关键。

关键设计: 注意 ToolACE 的 tool agent 不接真 server,所有 tool response 都是 LLM 模拟出来的字符串。这后来成为 #22 TOUCAN 整个 motivation 的对照面 —— TOUCAN 强调 "真接 MCP server",认为模拟 response 学不到 tool error / rate-limit / auth-fail。这是 ToolACE 数据的根本约束: 它能教 LLM 的是 "怎么决定调什么 API + 怎么填参数",但教不了 "真 server 返错怎么处理"。

2.3 DLV — Dual-Layer Validation (§2.4)

双层过滤,后一层比前一层贵。

Layer 1: Rule Verification (廉价)

规则 checker 检查 4 件事:

Layer 2: Model Verification (贵)

Rule 通过的 sample 进 LLM 检查。这一步 论文发现一个工程教训: 直接把整条 dialog 给 LLM 让它判断对错,效果不好。改进方式是 把任务分解 成几个子查询,每个子查询由一个独立的 expert agent 负责,主要覆盖三件事(论文 §2.4 列出但 abbreviated, exact list see paper):

Ablation 结果(§3.3.1 + Figure 3)

论文用 LLaMA-3.1-8B-Instruct + LoRA 在三种数据上各训一个模型并测 BFCL:

结论: 更多过滤 → 数据更少但模型更好。Rule checker 单独已经能拉一些 executable accuracy,model checker 在 AST + overall 上贡献最大。这是经典 "质 > 量" 的实证。


§3 数据 — 26,507 API / 11,300 公开 dialog / 类型分布

3.1 数字精确清点

API pool 总数 = 26,507(论文 abstract + Table 1 + HF dataset README 均一致)
Domain 数 = 论文 Table 1 自报覆盖 390+ domain(论文 HTML 表格未原文截到,沿用社区引用 — 未在公开来源 verbatim 确认)
公开 dialog 数 (HF) = 11,300 条(via curl https://huggingface.co/datasets/Team-ACE/ToolACE 抓到的 numRows: 11300,1 个 train split,7.87 GB 之外 ToolACE 的数据是 58.7 MB)
公开 vs 私有比例: 论文里有提及 "a subset of the data are publicly available" — 即 11,300 是 subset,完整训练集规模未公开。完整训练集规模 — 未在公开来源确认
语言: en + zh (HF tag 上标了两种 language)

3.2 4 种 dialog 类型(论文反复对比的 4 维)

类型含义BFCL 子项对应
Single function call一句话调一个工具,最常见Simple AST / Simple Exec
Parallel function calls一句话内同时调多个独立工具Parallel AST / Parallel Exec
Dependent function calls后一个调用的参数从前一个 return 取值Multi-turn / Multi-step
Non-tool-use dialog问题不需要调工具,assistant 应直接答 / 拒答Irrelevance / Relevance

消融 (§D 附录): 论文逐一去掉某一类后训 LLaMA-3.1-8B 重测 BFCL,关键发现:

读法: 这个消融揭露了 BFCL 的结构偏置 —— ToolACE 自己花大力气支持的 nested + dependent 在 BFCL 上几乎得不到回报。#30 ACEBench(同组下一篇)显然观察到了这一点,所以 ACEBench 故意在 Multi-Turn / Multi-Step 子集里专门放 nested + dependent — 这就是论文 §6 标题"自己造数据 → 发现没好尺 → 造尺"的实际意义。

3.3 难度分层 (ToolACE-easy/medium/hard, §3.3.2)

论文用 Eq.(1) 的复杂度公式给每条样本打分,然后 按 bottom / middle / top 60,000 分别取出 ToolACE_easy / ToolACE_medium / ToolACE_hard 三个 60K 子集(stratified equal-size sampling, 控制 sample size 单一变量看 complexity 影响)。

这里 60K × 3 = 180K 暗示完整训练集至少 180,000 条,但 paper 没明确说"完整训练集 N 条" — 这是上面 §3.1 "未在公开来源确认" 的依据。medium 子集表现最好(过简单 + 过难都 suboptimal),验证了 Self-Guided Complexity 的 thesis。

§4 训练 + BFCL/API-Bank 结果 — 8B 真的追上 GPT-4 了吗

4.1 训练细节

Base model: LLaMA-3.1-8B-Instruct (HF model card verbatim: base_model: meta-llama/Meta-Llama-3.1-8B-Instruct)
训练方式: 全参数 SFT(消融实验用 LoRA, 主模型是 full SFT)
训练数据: 完整 ToolACE 数据集(规模未公开,推测 180K+)— HF 上 release 的 11,300 是子集
训练 hyperparameter: 论文 Appendix C Table 6 列详细 — 这里不抄

4.2 BFCL-v3 主表(论文 Table 2, 截图 2024-09-20)

BFCL-v3 (即 V3 第一版) 当时分 Single-turn / Multi-turn / Hallucination 三大类,Overall 是 weighted average。论文 Table 2 列了 Top-20。关键数字:

RankModelOverallSingle (A)Single (E)Multi-turnRelIrrel
1GPT-4-turbo-2024-04-09 (FC)60+...............
2GPT-4o-2024-08-06 (FC)~59.5...............
3ToolACE-8B (FC)59.2289.2790.0714.3785.3783.81
4xLAM-8x22b-r (FC)~58...............
...xLAM-7b-fc-r (FC)~53~84~830.00~7673.13

数据来源: 论文 Table 2(从 HTML 提取). GPT-4 系列具体小数因 PDF 表格未完整截出, 未在 HTML 里 verbatim 确认; ToolACE-8B 这一行所有数字均 verbatim. ToolACE-8B 是当时第 3 名,前两名是 GPT-4-turbo 与 GPT-4o (都是 frontier closed model)。

论文自报的 4 个 highlight (§3.2):

  1. Single-turn 89.27/90.07 几乎打平 GPT-4 系列;
  2. Relevance 85.37 + Irrelevance 83.81 双高且平衡 — 论文称 "excellent balance",其它 model 多半 single 项很强但 irrel 很差(如 xLAM-7b-fc-r irrel 73.13 但 multi-turn 0%);
  3. 显著强于 xLAM-7b-fc-r(同尺寸 function-calling 专用 fine-tune)在所有 category;
  4. 对比 Functionary 等公开 fc 模型也全面领先。
"8B 追上 GPT-4" 这一说法的 caveat: ToolACE-8B 是 Rank 3, GPT-4-turbo 是 Rank 1, GPT-4o 是 Rank 2 — 准确说法是 "在 0.x pp 范围内击败 GPT-4o (Prompt mode),媲美 GPT-4-turbo (FC mode)"。但 ToolACE-8B 的 Multi-turn 只有 14.37 — BFCL-v3 当时刚加进来的 multi-turn 1000 条样本是全部 SFT-only 模型都很差的领域(xLAM-7b-fc-r 0.00 / ToolACE 14.37 / 闭源 GPT-4 系列也只有 30-40)。所以 "8B 追上 GPT-4" 真正成立的是 single-turn function calling(parallel/dependent/simple),不是 multi-turn agent。这是 #29 EnvTuning#34 ToolMind 后续真正想攻坚的方向。

4.3 API-Bank 结果(论文 Table 3)

API-Bank (Li et al. 2023) 是另一个 function-calling benchmark, 评测 metric 包括 call accuracy / response accuracy。ToolACE-8B 在 API-Bank 上:

4.4 Generalization tests — 不只是 BFCL 上调好

论文 §3.3.3 + Figure 8 在 MMLU / HumanEval / GSM8K / CommonSenseQA 四个一般能力 benchmark 上对比:

结论: ToolACE 数据的"non-disruptive" 性质是它和 xLAM 系列拉开的关键。这其实是 ICLR 2025 reviewer 最看重的 generalization 故事 — 不是"造个 specialist 模型",而是"训完后还是个 general LLM, 但 fc 能力极强"。

4.5 Backbone 通用性(§3.3.3)

论文还用 ToolACE 数据训了一系列其它 8B-scale model(Qwen1.5-7B-Chat / Mistral-7B / LLaMA-2-7B 等),BFCL 全部大涨。Scaling law 实验(Qwen1.5 0.5B/1.8B/4B/7B)显示 fc 能力大致线性 scale up。这意味着 ToolACE 数据本身是 backbone-agnostic 的,可以喂任何 base model。


§5 License + 开源清单 — Apache-2.0 校订 + 团队全部资产清点

本节是本次精读的最重要 finding。 在写本笔记前,系列里 #22 / #31 §10.1.1 / #34 都把 ToolACE 数据列作 CC-BY-NC-4.0(非商用),并以此推断 ToolMind 因含 7,327 条 ToolACE 派生样本而 license 不干净。实地 curl HF API 验证(见下)显示 ToolACE 数据集和全部 4 个 model variant 实际全是 Apache-2.0 —— 此前判断是错的,需要在 #22/#31/#34 三个文件里更正。

5.1 实地验证 — HF API 输出

$ curl -s https://huggingface.co/api/datasets/Team-ACE/ToolACE | jq '.cardData.license'
"apache-2.0"
$ curl -s https://huggingface.co/api/models/Team-ACE/ToolACE-8B | jq '.cardData.license'
"apache-2.0"
$ curl -s https://huggingface.co/api/models/Team-ACE/ToolACE-2-Llama-3.1-8B | jq '.cardData.license'
"apache-2.0"
$ curl -s https://huggingface.co/api/models/Team-ACE/ToolACE-2.5-Llama-3.1-8B | jq '.cardData.license'
"apache-2.0"

HF dataset README 头部 verbatim(2026-05-18 抓):

---
license: apache-2.0
task_categories:
- text-generation
language:
- en
- zh
tags:
- synthetic
- tools
size_categories:
- 10K<n<100K
---

HF model README 头部 verbatim:

---
license: apache-2.0
datasets:
- Team-ACE/ToolACE
language:
- en
metrics:
- accuracy
base_model: meta-llama/Meta-Llama-3.1-8B-Instruct
tags:
- code
new_version: Team-ACE/ToolACE-2-8B
---

结论 verdict: ToolACE 数据 + 三代 ToolACE/ToolACE-2/ToolACE-2.5 model 权重 全部 Apache-2.0, 可商用。 论文本身 (arXiv) 没专门声明 license,论文 acknowledgments 也没提 NC 字眼。所有可获得的 license signal 都指向 Apache-2.0。

5.2 那 "CC-BY-NC" 的传言哪来的

溯源后大概率是 把 xLAM 数据 (Salesforce 的 60K) 的 NC license 与 ToolACE 混淆 —— xLAM 数据集是 CC-BY-NC-4.0那个真 NC 资产,而 ToolACE 和它是同期、同主题但不同团队(华为 vs Salesforce)。一个可能的传链是: 早期 survey / blog 把"function-calling NC 数据"列成 xLAM, ToolACE, Hammer,后被引用者照抄,后来传到本系列 #31 §10.1.1。本笔记纠正:

真正 CC-BY-NC-4.0: xLAM-60K (Salesforce, APIGen 论文 2406.18518)、Hammer-data (字节)
实际 Apache-2.0: ToolACE (华为 Team-ACE)、TOUCAN (MIT-IBM)、APIGen-MT (Apache)
MIT: Functionary (MeetKai)、ToolBench code

5.3 Team-ACE 在 HF 上的完整资产清单 (2026-05-18)

资产licenseHF downloads / likes说明
Team-ACE/ToolACEapache-2.08,177 / 177公开 dialog 数据子集, 11,300 行, train split, 58.7 MB
Team-ACE/ToolACE-8Bapache-2.0未拉 — see HFLLaMA-3.1-8B-Instruct full SFT, 初代 paper 模型
Team-ACE/ToolACE-2-Llama-3.1-8Bapache-2.0806 / 542 代, 引入 self-refinement + task decomposition (即 ToolACE-R 论文)
Team-ACE/ToolACE-2.5-Llama-3.1-8Bapache-2.0未拉2.5 代, multi-turn 能力增强,链回 ToolACE-DEV / ToolACE-MT 两篇衍生 paper

5.4 GitHub 状况

实地确认: 华为团队没有公开 GitHub repo 发 ToolACE 代码或 pipeline。验证步骤:

这是 ToolACE 开源完整度上的一个重要短板: 数据 + 模型 weights 公开了,但 合成 pipeline 代码、prompt 模板、TSS 的 context tree 构造、SDG 的 multi-agent prompt、DLV 的 rule + model checker 实现 全部没开源。#22 TOUCAN / #23 EnvScaler 都开了 pipeline 代码,这是它们的 differentiator。


§6 与本系列其它工作的连接

6.1 #22 TOUCAN (MIT-IBM + UW, 2025-10) — 规模 5× 但哲学相反

TOUCAN 在它的 abstract / Table 1 反复强调 "5× larger than Nemotron / ToolACE",这里隐含的对比是:

ToolACE (2024-09)TOUCAN (2025-10)
规模26.5K API · 11.3K 公开 dialog2K+ tool · 1.5M trajectory
API 性质合成 schema (TSS 生成的 API 文档)真实 MCP server (495 个)
Tool responseLLM 模拟 (Tool agent)真 MCP server 真返回
error / rate-limit / auth-fail 分布不存在(全 plausible JSON)真实分布(25-40% 调用会出错)
LicenseApache-2.0 ✓Apache-2.0 ✓
pipeline 代码未开源MIT 开源

TOUCAN 把 ToolACE 当 "schema-only baseline" 来批判, 但 ToolACE 在它自己的时间点(2024-09,MCP 协议 11 月才发布)真 MCP server 还不存在 —— 所以 schema-only 不是设计缺陷而是历史约束。

6.2 #27 SmallModelMCP landscape — ≤40B 标杆

#27 把 ToolACE 列在学术线 5 篇之一(另 4 篇是 TOUCAN/EnvScaler/SETA/AWM/Agent-World)。它是这条线里最早 8B 触到 GPT-4 的工作,因此后来的 7B-8B 训练方案默认拿 ToolACE-8B 或 ToolACE-2-8B 当起点。#29 EnvTuning 把 ToolACE-2-8B 当 baseline,从 35.74 训到 54.34(BFCL-v3)。

6.3 #28 BFCL — 评测基础设施

ToolACE 是 BFCL 历史上的第一个 8B 学术贡献 —— V1/V2 时代 leaderboard 主要是闭源模型 + 商用 fine-tune (Functionary 等),V3 (2024-09-19) 上线后 ToolACE-8B 在 2024-09-20 截图里达到 Rank 3。但 V4 (2025-07-17) 重排公式后,Multi-Turn 和 Agentic 权重上升到 70% — 原始 ToolACE-8B 在 V4 上排名会大幅下滑(因为它的 multi-turn 只有 14%)。这就是为什么团队后来出 ToolACE-2 / ToolACE-2.5 — 主线就是补 multi-turn。

6.4 #29 EnvTuning — ToolACE-2-8B 是核心 baseline

EnvTuning (蚂蚁 AWorld, ICLR 2026) 拿 ToolACE-2-Llama-3.1-8B 当 baseline, 跑 4-stage curriculum + Actionable Augmentation + Progress Reward 这套 recipe, BFCL V3 上 35.74 → 54.34 (+18.60 pp), 超 GPT-4o 51.x / o3 49.25。同时在 #30 ACEBench OOD 上 8.34 → 15.00 (Multi-Turn) 和 6.67 → 20.00 (Multi-Step)。这说明 ToolACE-2-8B 的 SFT 起点 + EnvTuning 的 RL 课程 = 当前 8B function-calling 最强组合之一。

6.5 #30 ACEBench — 同组的"姐妹工作"

ACEBench 2025-01 上 arXiv, EMNLP 2025 Findings 录用, 团队是 USTC + Huawei Noah's Ark, 作者表与 ToolACE 大幅重合(Weiwen Liu / Xingshan Zeng / Yasheng Wang / Xu Huang / Xinlong Hao 等核心 5 人都在两篇都署名)。这是同一团队"训完 ToolACE-8B 后,意识到 BFCL V1 偏 schema 偏单轮偏英文,无法刻画真正中文工业落地,于是花一年时间另起 ACEBench"的反馈循环结果。

ToolACE (2024-09)ACEBench (2025-01)
定位训练 fuel(造数据 + 训模型)OOD 测尺(造 benchmark)
API 数26,507(合成训练 schema)4,538(标注 eval-only schema)
核心产物ToolACE-8B 模型 + 11K dialog 数据2,000 标注 entry × 中英双语
引用对方不引(早 4 个月)引 ToolACE 作为对比基准之一
核心机制self-evolution 数据合成√n 加权 + 3 大类 8 子类分层评测

6.6 #31 Prime Intellect Hub §10.1.1 — license 校订点

#31 §10.1.1 表格里把 ToolACE 列进 CC-BY-NC-4.0 风险条 — 这是错的(见 §5)。正确做法是从那条风险条里去掉 "ToolACE 部分",只保留 "xLAM-60K, Hammer-data" — 后者才是真 NC 资产。同时 #31 §10.5 的"训练 datalist 决策树"里 "避免 CC-BY-NC 数据 (xLAM-60K / Hammer-data / ToolACE)" 的 ToolACE 也应当移除。

6.7 #34 ToolMind — 真实"用了 ToolACE 7,327 条"但合规没问题

ToolMind 在 augmented open-source 部分包含 7,327 条 ToolACE 派生样本(精确数字 #34 §3.4 verbatim)。因为 ToolACE 实际是 Apache-2.0,所以 ToolMind 整库自标 Apache-2.0 是合规的,不存在"NC 染色"问题。这一点 #34 §6 + §10 整段关于"license 混染"的论证 需要全部撤回纠正后的版本: ToolMind 含的 7 个数据源里, 真有 NC 问题的只有 xLAM-60K (101K 条 augmented) — 这一点 #34 应当只标 xLAM 那一条 NC, 其它(Glaive/ToolACE/BUTTON/APIGen-MT/When2Call/τ-bench train)的 license 状态各自独立查证, 但 ToolACE 这条肯定是 clean 的。


§7 一年半回望 — 后继 ToolACE-R/DEV/MT · watt-tool · 局限

7.1 团队后续工作链 (ToolACE 衍生 paper)

从 ToolACE-2.5 model README 里能看到团队后续放出的三篇 follow-up paper, 全是同组接续:

PaperarXiv主题对应 model
ToolACE-R: Model-aware Iterative Training and Adaptive Refinement for Tool Learning2504.01400 (2025-04)adaptive self-refinement, model-aware iterativeToolACE-2-8B 应用
ToolACE-DEV: Self-Improving Tool Learning via Decomposition and EVolution2505.07512 (2025-05)把复杂 query 自动拆解成子问题 + evolution同上
ToolACE-MT: Non-Autoregressive Generation for Agentic Multi-Turn Interaction2508.12685 (2025-08)multi-turn 用非自回归生成,延迟显著降低ToolACE-2.5-8B

加上 ACEBench (2501.12851, 2025-01), 整个团队的产出轨迹是: 2024-09 ToolACE 造数据 → 2025-01 ACEBench 造尺 → 2025-04 ToolACE-R 自我改进 → 2025-05 ToolACE-DEV 任务分解 → 2025-08 ToolACE-MT 多轮加速。三个 model variants(8B/2-8B/2.5-8B)对应了"初代 SFT → R+DEV 联合 → MT 多轮特化"的三步演进。

7.2 community 衍生 — watt-tool-8B

watt-tool-8B (HF watt-ai/watt-tool-8B, Apache-2.0) 是 ToolACE 系列影响力最大的 community fork。它的 README verbatim 说:

"watt-tool-8B is a fine-tuned language model based on LLaMa-3.1-8B-Instruct, optimized for tool usage and multi-turn dialogue... The training process is inspired by the principles outlined in the paper: 'Direct Multi-Turn Preference Optimization for Language Agents'. We use SFT and DMPO to further enhance the model's performance in multi-turn agent tasks."

watt-tool-8B 的核心 differentiator 是 多加了 DMPO (Direct Multi-Turn Preference Optimization, arXiv:2406.14868) — 把 ToolACE 数据 + DMPO 算法,做 multi-turn 偏好优化。它在 #29 EnvTuning Table 中作为 baseline (BFCL V3 35.74 → 54.34 via EnvTuning recipe)。License 也是 Apache-2.0

watt-tool-8B 是否真在 ToolACE 数据上训 — 未在公开来源 verbatim 确认 — README 没明说底层数据来源,只说"specialized dataset for tool usage and multi-turn dialogue",但社区普遍认为它 fine-tune 自 ToolACE-8B 类似数据(论文 inspiration 也是 multi-turn preference)。

7.3 局限性 — ToolACE 的"三大根本约束"

(1) Tool response 全是 LLM 模拟,不是真 server

这是 §2.2.2 提到的,也是 #22 TOUCAN 整篇论文的对照面。后果: ToolACE-8B 在真 MCP server 上(如 MCP-Universe / MCPMark)表现可能脱节 —— 因为它训练时从没见过 rate-limit / auth-fail / timeout 等真实错误。#22 TOUCAN Section 3 实验显示, schema-only 数据训的模型遇到真 server error 会持续重试或编造结果。但这一点对 BFCL 评测无害, 因为 BFCL 本身也是 schema-based。

(2) Multi-turn 弱(初代 14.37)

BFCL-v3 加入 1000 条 multi-turn 后, ToolACE-8B Multi-turn 只有 14.37 — 远低于它 single-turn 89.27 的 spotlight。这是 SFT-only 模型的普遍弱点, 团队 ToolACE-2 + ToolACE-2.5 已经针对性补强。但 V4 (2025-07) Agentic 权重又上升, 又把这个问题放大了一次 — V4 leaderboard 上, ≤40B 模型领先的是 Qwen3-32B / GLM-4.5 那种 base 自带 agentic 能力的, ToolACE 系列优势不再显著。

(3) Pipeline 代码全闭源 — 无法复现合成过程

论文细描了 TSS / SDG / DLV 三件套, 但 没有任何公开 GitHub repo 包含实现。其它 contemporary 工作中:

这是 ToolACE 在"复现性"这个维度上的最大短板 — 你能用它的数据,但你想自己跑 ToolACE pipeline 造新数据 是不可能的。

7.4 ToolACE 是否被后继工作超越 — 一年半时间表

时间事件对 ToolACE 的影响
2024-09ToolACE v1 — BFCL-v3 Rank 3 (59.22)立标杆
2025-01ACEBench v1 — 同组造尺承认 BFCL 不够,自己补
2025-04ToolACE-R — adaptive refinement团队补 multi-turn
2025-05ToolACE-2-8B release仍是 8B BFCL 标杆
2025-07BFCL V4 公式重排 (Agentic 40%)ToolACE-8B 不再领先
2025-08ToolACE-MT — non-AR multi-turn速度补丁
2025-10TOUCAN 1.5M 真 MCP — 5× 规模 + Apache规模与真实度上完全 dominate ToolACE
2025-11ToolMind 360K(BOSS Zhipin)方法论补丁 (turn-level filter)
2026-01EnvScaler 程序化合成 env另一路线: env 而非 dialog
2026-01EnvTuning 用 ToolACE-2-8B + 400 sample 训出 SOTAToolACE-2-8B 仍是 RL 起点

结论: ToolACE 在 规模 上被 TOUCAN 超越,在 真实度 上被 TOUCAN/EnvScaler 超越,在 方法论 上被 ToolMind 的 turn-level filter 补丁,在 多轮 上被它自己的 2.5 代和后继 RL 工作覆盖。但作为 SFT 数据 starting point, ToolACE-2/2.5-8B 仍然是 ≤40B 函数调用社区的事实标准之一,在 2026-05 的当下,它和 watt-tool-8B 仍然被 #29 EnvTuning 当 baseline. 它的 历史地位 是: 第一个证明 8B SFT 在 BFCL 上能追上 GPT-4 系列的工作, 这点的 first-mover 价值不会因后继规模化而抹掉。

7.5 笔者个人 take


关键事实速查 (cheatsheet)

事实verbatim 来源
API 池 26,507论文 abstract + Table 1
公开 dialog 11,300HF dataset API numRows: 11300
Base model = Llama-3.1-8B-Instruct (不是 Llama-3-8B)ToolACE-8B README verbatim
BFCL-v3 Rank 3 / Overall 59.22 / Single AST 89.27 / Exec 90.07论文 Table 2(2024-09-20 截图)
Multi-turn 14.37 / Rel 85.37 / Irrel 83.81论文 §3.2 verbatim
License Apache-2.0(dataset + 全部 4 个 model variant)HF API & README header 实地 curl
论文录用 ICLR 2025OpenReview ?id=8EB8k6DdCU + ToolACE-8B model README "our paper on ICLR2025"
27 个共同作者 (Weiwen Liu first / Enhong Chen senior, USTC + 华为 Noah's Ark)arXiv citation_author meta tag
合成 pipeline 代码闭源,无 GitHub repogithub 全 404, search 仅社区 fork
团队 4 篇衍生 paper: ACEBench / ToolACE-R / ToolACE-DEV / ToolACE-MTToolACE-2.5 model README 列出

附录 A — TSS context tree 的实际样貌(论文 Appendix A Figure 9)

论文 Appendix A 给了 entertainment domain 的 context tree 子树示意。可以从那一图反推 TSS 的实际形态:

Entertainment Movies & TV Music Gaming get_movie_info search_actor get_song get_artist get_leaderboard get_player_stats title→ director, cast, year (list-of-string) ← nested 参数 论文 Appendix A Figure 9 (示意): API context tree 节点 = "可能的 functionality", 子树深 → API 复杂
Entertainment 子树示意。adaptation 阶段会采"movies + music 两个枝"作为某个 cross-domain API 的 functionality 集合,evolution 阶段在叶子上加 constraint / mutate param type。整棵 tree 在论文里没全部 release —— 只给了 entertainment 这一段示例。

附录 B — ToolACE-8B 推理用法(README 附 code snippet)

HF model card 给的 prompt 模板很重要,因为 ToolACE 系列的输出格式不是 OpenAI JSON, 而是 函数调用列表:

system_prompt = """You are an expert in composing functions. You are given a question
and a set of possible functions. Based on the question, you will need to make one or
more function/tool calls to achieve the purpose.
...
If you decide to invoke any of the function(s), you MUST put it in the format of
[func_name1(params_name1=params_value1, params_name2=params_value2...),
 func_name2(params)]
You SHOULD NOT include any other text in the response.
Here is a list of functions in JSON format that you can invoke.\n{functions}\n
"""

对比 OpenAI 标准 {"name":"...", "arguments":"..."},ToolACE 用的是 Python-call 字面量字符串 [func_name(arg=val)]。这是 BFCL AST 解析的原生格式 —— BFCL 评测时直接 parse 这种字符串成 AST 然后比对 —— 所以 ToolACE 训练时刻意走这个 schema,在 BFCL 上拿分自然容易。: 如果你想直接接 OpenAI Tool Calling API / MCP server 协议,你需要写一层 format adapter 把 ToolACE 输出转成 JSON。这是工程接入的实际 gotcha。

"未在公开来源确认"清单 (透明度)

  1. ToolACE 完整训练集 N 条 — paper 没给。HF 公开的 11,300 是 subset,完整规模根据 ToolACE-easy/medium/hard 各 60K 暗示 ≥180K, 但 paper 未明确数字。
  2. 390+ domain 这个具体数字 — paper Table 1 应该有但 HTML 抽取里没拿到 verbatim,沿用社区引用。
  3. BFCL-v3 Top-3 表里 GPT-4-turbo / GPT-4o 具体 Overall 数 — HTML 表格未完整截到,只给了"ToolACE-8B 89.27"等本行。社区印象 GPT-4-turbo ~60.4 / GPT-4o ~59.5。
  4. watt-tool-8B 是否真用 ToolACE 数据 — README 没 verbatim 说底层数据来源,只说"specialized dataset for tool usage and multi-turn dialogue" + DMPO。社区默认是 ToolACE 派生,但没 commit-level 证据。
  5. ToolACE pipeline 代码是否会开源 — 团队没承诺,4 篇衍生 paper 也没开。这是推测而非已知。