TOUCAN: Synthesizing 1.5M Tool-Agentic Data from Real-World MCP Environments

MIT-IBM Watson AI Lab + University of Washington · Zhangchen Xu, Adriana Meza Soria, Shawn Tan, Anurag Roy, Ashish Sunil Agrawal, Radha Poovendran, Rameswar Panda · 2025-10-01 (v1)
arXiv:2510.01179 · GitHub: TheAgentArk/Toucan · HF Dataset · HF Models (Agent-Ark org) · IBM Research Blog
关键词: tool-agentic SFT · MCP · 1.5M trajectory · multi-teacher synthesis · real-tool-execution · BFCL V3 · τ²-Bench · MCP-Universe

速读卡片 (TL;DR)

一句话: TOUCAN 是 MIT-IBM Watson AI Lab + UW 联合产出的目前公开规模最大的 tool-agentic SFT 数据集 —— 1,527,259 条 trajectory,来源是 495 个真实可联通的 MCP server / 2,000+ tools(从 Smithery + GitHub 上的 ~2,800 个 server 过滤而来)。整条 pipeline 用 5 个 LLM 做 task 合成 → Kimi-K2 做 6 维 Likert 质量评分 → 3 个 teacher model × 2 个 agent framework 做真实工具执行 trajectory → rule + GPT-OSS-120B 双重 post-filter。SFT 完毕的 Qwen-2.5-32B 在 BFCL V3 上 70.45%,险胜 GPT-4.5-Preview 70.32%。最关键的是: 数据 + 训好的 7B/14B/32B 模型 + 合成 pipeline 全部开源(Apache-2.0 dataset, MIT code)。

1,527,259
trajectory 总数 — 比 Nemotron (310K) 大 5×
495 / 2,000+
真实 MCP server / 工具数
规则+LLM
两层验证: tool-call 顺序规则 + GPT-OSS-120B Likert
+8.72 pp
32B 在 BFCL V3 上的绝对涨幅 (61.73 → 70.45)

立场: TOUCAN 把"tool-agentic SFT 数据"这件事推到了规模化工业流水线层面 — 不是发明新算法,而是把"真 MCP server + 多 teacher + 多 framework + 多层过滤"做成一条可复现的合成流水线,并且把所有中间产物 (1.5M raw trajectories + 119K SFT subset + 27 个 fine-tune 后的 checkpoint)全开源。和最近读的 #18 AWM(全合成 env)、#03 Agent-World(真 MCP env mining)、#20 SETA(400 task RLVR)正好补完了"合成 env / 真 env / 终端 env / 真 MCP 大规模 SFT" 四象限的最后一块拼图。


1 · 背景:1.5M scale 在 tool-agentic 数据上意味着什么

1.1 已有方案的三角困局

过去一年内,围绕"怎么造出能教 LLM 调工具的数据"这件事,三条主流路线各自被卡在一个角落:

路线代表规模真实度验证可靠痛点
真实 env mining #03 Agent-World 1,978 env 弱(无 trajectory 验证器) paper-only release,数据不公开
全合成 code-driven env #18 AWM (Snowflake) 1,000 env / 35K tool 假(代码模拟) 强(SQLite 状态可查) 分布脱离真实 MCP 用法
终端 Docker 任务 #20 SETA 400 task 真(Docker 即跑) 强(RLVR 出题人) 规模小,只覆盖 terminal 域
tool-call SFT 旧大头 Nemotron / ToolACE / xLAM ~300K 混合 "tools 是 schema 不是真接口",function-name 拟合,没有 real tool response
TOUCAN 本文 1.5M traj / 495 MCP / 2K tool 真(remote HTTP MCP server) 双层(rule + LLM) 无 RL signal,纯 SFT

TOUCAN 在这张三角上的占位是: "用真实 MCP server 把规模一次堆到 1.5M,但放弃 RL,只做高质量 SFT distillation"。换句话说,它和 AWM/Agent-World 不是替代关系,而是把"现成多 teacher model + 真 MCP 联通"这一最廉价的合成形式做到极致

1.2 为什么"真" MCP 比合成 schema 重要

论文反复强调一点(§1, §3): 过去的 tool-call SFT 数据集(ToolACE 等)用的是 schema 字符串而不是真的 server —— 也就是 LLM 看到 {"name":"get_weather", "params":...},然后 LLM 自己编一个 fake response。这意味着:

TOUCAN 的核心 commitment 就是 每条 trajectory 中的 tool response 都是 real MCP server 的真实回包(因此他们要在 onboarding 阶段筛掉所有需要第三方 credentials 的 server,把 ~2,800 减到 495)。这是和 #18 AWM 的最大哲学分歧:AWM 选择"用 SQLite + Python 当受控 backend"(可重置 / 可校验状态),TOUCAN 选择"就接到真 server 上,失败 trajectory 当噪声扔掉"。


1.5 · Motivation — 论文自报的"为什么旧数据集不够用"

这一节把论文 §1 / §2 / Table 1 里散落的 motivation 集中起来,用原文语言重述 — 这样后面读到结果时,可以反推每条数字到底回答了哪个 motivation。

1.5.1 论文自述的核心痛点 (摘自 abstract + §1)

"progress in the open-source community is constrained by the lack of high quality permissively licensed tool-agentic training data. Existing datasets are often limited in diversity, realism, and complexity, particularly regarding multi-tool and multi-turn interactions." — arXiv abstract
"While previous efforts have introduced datasets covering various tool-calling scenarios, they suffer from several limitations: restricted tool diversity, lack of authentic tool responses, focus on single-turn conversations between users and models, or insufficient scale, all of which constrain effective training of agentic capabilities." — §1 引言

1.5.2 论文 Table 1 对 4 个 baseline 数据集的逐条点名

论文 Table 1 直接把对手摆出来,用同一组属性逐列对比 — 这是 TOUCAN 的"立项依据"。下表把 Table 1 的关键发现重排,加入 TOUCAN 的对应解法:

对手数据集规模Tool spec 来源Tool responseTOUCAN 的"自报"差异化
APIGent-MT-5K5,000从 τ-Bench 借真执行 规模差 300×;tool 来源被锁死在 τ-Bench 的 retail/airline 单一域
ToolACE11,300合成 schema (509 个 fake fn)simulated 论文原话 "function-name fitting" — LLM 学到的是对 schema 字符串拟合,而不是真 server 行为
Hermes Function-Calling V111,570合成 schema (1,890 fn)部分执行 规模仍小一个数量级;multi-turn 比例低
Nemotron (Tools, NVIDIA)310,051199,610 fn (来源未公开)未明示 论文原话 "domain coverage 太窄";Nemotron 仍是合成 fn 不是真 MCP server;且 license 不允许商用
TOUCAN1,527,259495 真 MCP / 2,000+ tools真 server 真执行 "S P MS IR 全 4 种 tool-call 场景 + 567,262 条 multi-turn" — 几乎是其它 4 家之和的 50×

1.5.3 三条具象痛点 — 为什么"schema 而非真 server"是问题

  1. Tool error 不在 schema 数据的分布里: ToolACE / Nemotron 的 tool response 是 LLM 自己编的 plausible-looking JSON, 永远没有 rate-limit / auth-fail / malformed-args / timeout。但真 MCP server 在 25-40% 的调用里会返回这些 — Toucan trajectory 里这部分是"真的从 remote server 拿到错误,然后由 teacher LLM 学会优雅处理" → SFT 出来的模型才会有 error-handling 能力。
  2. Tool chain 的语义依赖被压平: get_user(id)真实输出决定 get_orders(user.email) 的参数 — 在 schema 数据里 LLM 看到的 user 是自己编的,所以下一步参数也是编的,整个 chain 是 plausible-looking 但 disconnected。Toucan 因为真接 server,这个依赖链是真的。
  3. Multi-turn 状态一致性丢失: 同一 server 多次 call 之间的 stateful behavior(create_docedit_doc(doc_id)list_docs 必须能看到刚才那条)在 simulated response 里无法演出 — 因为没有真 backend 维持状态。Toucan 的 35.2K Ext.3 multi-turn 数据里这种链条都是真的。
个人观察: 这三条 motivation 中 (1) error distribution 是论文最具说服力的差异化 — 因为它是合成 schema 数据原理上做不到的。(2)(3) 在合成方式很精巧的 dataset 里(比如 #18 AWM 用 SQLite 当状态机)也能部分覆盖。但只有 TOUCAN 是把这三条同时拉到 1.5M 规模的 — 这是它"规模 × 真实度"双坐标系的占位优势。

1.6 · Contributions — 论文显式列出的 3 件套

论文 §1 末尾的 "In summary, the contributions of our work are" 段落只列了 3 项 contribution(不是有些读者以为的 4-5 项 — 那是把 motivation/related-work 混进来的误判)。原文逐项:

  1. TOUCAN Dataset — "The largest open-source tool-agent training dataset, covering parallel and multi-step tool calls, multi-turn dialogues, and edge-case tool use." 论文特别点名 Kimi-K2 / GLM-4.5 的 frontier 报告强调"large-scale trajectories with broad domain coverage"的价值 — TOUCAN 把这条做成开源对应物。
    • 1,527,259 trajectory · 495 真 MCP · 2,000+ tools · 567,262 multi-turn · 4 种 tool-call 场景 (S/P/MS/IR) 全覆盖
  2. TOUCAN Pipeline — "A pipeline that leverages any MCP specifications to generate diverse tool-agent trajectories, supports tool execution through MCP servers, and can be seamlessly extended to new tools via the MCP standard."
    • 5 阶段(Onboarding → Synth → Filter → Trajectory → Post-filter) + 3 扩展(Irrelevance / Persona / Multi-Turn)
    • 关键设计: MCP standard 让 pipeline 对新 server "seamlessly extensible" — 不需要为每个新 tool 写 adapter
  3. TOUCAN Checkpoints — "models fine-tuned on TOUCAN mixtures surpass closed-source counterparts on the BFCL V3 and MCP-Universe benchmarks."
    • 具象数字: Qwen2.5-32B + TOUCAN 在 BFCL V3 上 70.45% 险胜 GPT-4.5-Preview 70.32%
    • MCP-Universe 上 push Pareto frontier(具体落点见 §4.5)
注意: 论文 contribution 没有把 "3 个 Extension 设计" 单独列为 contribution(虽然这是方法论上最有意思的部分),而是把它们包在 "Dataset" 这一项里。也没有把"双层 rule + LLM 过滤"列为单独 contribution — 这是 pipeline 内嵌的工程优化。论文的 contribution 框架就是 "数据 + 流水线 + 模型权重 全开源" 三件套,非常工程务实,没有 over-claim 任何方法论创新。

2 · 数据合成 pipeline 全景

2.1 一图看完整条流水线

Stage 1 · MCP Onboarding Smithery + GitHub 抓 ~2,800 server → HTTP 可连 / 无 credential → 495 server / 2,000+ tools Stage 2 · Task Synthesis 5 个 LLM × 3 策略 Mistral-S / DevStral-S / GPT-OSS Kimi-K2 / Qwen3-32B Single / Multi / Featured Stage 3 · Task Filter Kimi-K2 打 6 维 Likert difficulty · uniqueness · quality realism · verifiable · stability 阈值过滤 → 干净 query pool Stage 4 · Trajectory Generation (核心) 3 teacher 模型 × 2 agent framework = 6 组合 teacher: GPT-OSS-120B · Kimi-K2 · Qwen3-32B framework: Qwen-agent · OpenAI-agent → 每次 call 真接到 remote MCP server,拿真 response Stage 5 · Post-Filter (双层验证) Rule 层:无 tool call / init 失败 / 本地路径 / 工具顺序错 → 丢 LLM 层: GPT-OSS-120B 打 completeness · conciseness Likert 综合阈值: 质量≥5 / 真实≥5 / 完整≥4 / 简洁≥4 / 工具用对=1.0 Ext.1 · Irrelevance shuffle server metadata → 无解 query 教模型"拒绝" (40K) Ext.2 · Persona Diverse 保留 target tool 换 context + 角色 语境多样化 (15.8K) Ext.3 · Multi-Turn 复杂任务切子问 + 续问 follow-up 567K 多轮 (35.2K SFT) 最终入库 1,527,259 traj (raw) 119,300 SFT subset Apache-2.0 Student SFT Qwen2.5-7B / 14B / 32B · 27 个公开 ckpt
图 1 · TOUCAN 五阶段合成 pipeline + 三个扩展机制 + 最终入库分布。蓝色为主线 stage,绿色为扩展模块,红色为质检 / 最终产物。注意 Stage 4 是真接到 remote MCP server,而不是 LLM 模拟工具响应。

2.2 各阶段输入 → 输出

Stage输入输出关键 model / 操作
S1 OnboardingSmithery + GitHub 上的 ~2,800 MCP server495 个可联通 serverHTTP 可达性测试 / credential 过滤 / 25 个手动选 "featured"
S2 Task Synth495 server 的 tool schema原始 task query 池5 个 LLM 各跑 3 策略 (Single/Multi/Featured)
S3 Task Filter原始 query合格 queryKimi-K2 6 维 Likert 评分 → 阈值过滤
S4 Trajectory合格 query + 真 MCP server原始 trajectory(含真 tool response)3 teacher × 2 framework = 6 组合并行跑
S5 Post-Filter原始 trajectory1.5M 干净 trajectory + 119K SFT subsetRule (5 条硬规则) + GPT-OSS-120B Likert
Ext.1-3合格 trajectory+40K 无解 / +15.8K 多 persona / +35.2K 多轮shuffle metadata · persona inject · self-simulation 切子问

2.3 和 AWM / Agent-World 的并排对照

维度TOUCAN#18 AWM#03 Agent-World
核心阶段数5 (Onboard / Synth / Filter / Traj / Post-filter) + 3 ext5 (scenario / DB schema / tool / verifier / task)双轨: env mining + arena evolve
Env 来源真 MCP server(Smithery + GitHub)纯代码合成(LLM 写 Python+SQLite)真 web 上 mining
Tool response真实 MCP 回包SQLite 状态机回包真实 server 回包
验证器规则 + LLM-judge Likertverifier code(LLM 写的 unit test 风格)无 trajectory 级 verifier
RL 还是 SFT纯 SFT distillationGRPO (RL)self-evolve arena
规模1.5M trajectory10K task / 1K env1,978 env
开源度全开(data + 27 ckpt + pipeline)全开(data + pipeline + ckpt)paper-only,无 release

3 · 关键设计选择

3.1 Real-World MCP 来源 — 为什么是 495 而不是 2,800

onboarding 阶段的过滤非常严格(§3.1):

个人观察: 这 495 个 "real" MCP server 其实是 "public, no-auth, HTTP-only, stable" 的子集 — 也就是多数 demo-grade / mock-data 性质的 server(类似 公共 weather API, public dataset query, simple data utility)。真正在生产中带状态的 MCP server(Notion 数据库 / Gmail / Linear)因为 auth 要求被排除在外。这是 TOUCAN 的 "真实度上限",也是它和 SETA 在 Docker 里自建 backend 的本质区别。

3.2 Task 多样性的三层保证

  1. 5 个不同 LLM 出题(Mistral-Small, DevStral-Small, GPT-OSS, Kimi-K2, Qwen3-32B): 不同模型有不同的 prompt-following bias,多 model 出题降低了"全 dataset 都是 Kimi-K2 风"的风险;
  2. 3 种采样策略并行(Single-Server / Multi-Server / Featured-Server): Single 训"用对工具", Multi 训"跨 server 组合", Featured 在 25 个精选 server 上深挖;
  3. 6 维 Likert 评分(difficulty / uniqueness / quality / realism / verifiable / stability)— uniqueness 这一维专门为反 mode-collapse 设计,把"和池子里已有 task 太像"的 query 主动剔出。

3.3 验证器: 两层硬过滤

Rule 层 (Stage 5a) — 命中任一条即丢弃:
LLM 层 (Stage 5b) — GPT-OSS-120B 打 Likert:

3.4 失败 trajectory 是否回流?

不回流。 不同于 AWM 在 GRPO 里把 V=0 的失败 trajectory 当负样本利用,TOUCAN 是纯 SFT distillation,失败 trajectory 直接扔掉(rule 层就过滤了)。这也是为什么它需要 1.5M raw → 119K SFT 这么夸张的"上 12.5× 数据冗余,只取 8% 入训"的设计 — 因为没有 RL 的负样本机制,质量只能靠多倒少进的过筛保证。

3.5 三个 Extension 机制 — 教 SFT 模型 "更难的事"

Ext做什么SFT 想教的能力规模
Ext.1 Irrelevanceshuffle MCP server 的 metadata,让 query 和 server 工具集错位"拒绝无解 query"(防止幻觉调用)40K
Ext.2 Persona-Diverse保留 target tool,但用 LLM 重写 query — 加 persona / context / 复杂度约束语境鲁棒性 / 抗 prompt 风格变化15.8K
Ext.3 Multi-Turn把复杂 multi-tool task 切成顺序子问;或在已成 trajectory 后续问 follow-up多轮对话 / context-carry35.2K (从 567K 多轮池里筛)

注意 Ext.1 的设计很巧妙:不需要再生成新 trajectory,只要把已有 trajectory 的 server metadata 和 query 错配,就自动得到"query 想做的事 server 做不到"的训练样本 — 教 SFT 模型该说 "我做不到" 而不是硬调一个无关工具。这条对修 BFCL V3 里"relevance / irrelevance" 子项尤其有用。


3.5 · 训练数据详细解构 — 119K SFT subset 的内部组成

这一节是本笔记最关心的一节。前面 §2 / §3 讲的是 1.5M raw trajectory 的来源,但真正训进 Qwen2.5 的是从 1.5M 里筛出的 119,287 条 SFT subset(精确数字来自 HF dataset card)。下面拆开这 119K 是怎么来的、按哪些维度切分。

3.5.1 HF dataset 上的 4 个公开 subset

打开 datasets.load_dataset("Agent-Ark/Toucan-1.5M") 你会看到 4 个 config — 这是 trajectory 在 teacher model 维度上的原始切分:

Config样本数 (精确)解压后大小下载大小含义
Kimi-K2 518,516 18.2 GB 6.0 GB Kimi-K2 作 teacher 跑出来的 raw trajectory(经过 Stage 5 post-filter)
OSS 457,130 21.7 GB 7.6 GB GPT-OSS-120B 作 teacher 的同上(单条更长,所以 byte 反而更大)
Qwen3 551,613 20.3 GB 6.4 GB Qwen3-32B 作 teacher 的同上
SFT 119,287 1.25 GB 0.40 GB 论文实际用来 SFT 的子集 — 从前 3 个 subset 里按"质量分≥5, 完整≥4, 简洁≥4, desired tool use=1.0"硬阈值筛 + rebalance
合计 (前3) 1,527,259 60.2 GB 20.0 GB 这就是论文宣称的"1.5M trajectory"总和
重要澄清: 3 个 teacher subset (Kimi-K2 / OSS / Qwen3) 相加 ≠ 119K,因为这 3 个是原料池(已通过 rule + LLM 过滤,但没经过最终 rebalance),而 SFT 119K 是论文做实验真用的那一份。如果你只想训自己模型,直接拉 SFT config 一份就够了(0.40 GB 下载);研究 teacher 多样性时才需要拉前 3 个 (20 GB 下载)。

3.5.2 119K SFT subset 在 pipeline 维度上的拆分

论文 §4.1 末尾给出 119.3K = 28.3K + 40K + 15.8K + 35.2K 的明确拆分:

来源数量占比主要训什么能力
原始 pipeline (Stage 1-5) 28,300 23.7% standard tool-call(选对 tool / 写对 args / 把多个 tool 串起来)
Ext.1 — Irrelevance 40,000 33.5% "拒答"无解 query — 占比最高,因为这是 BFCL V3 Irrelevance 子项的直接对应
Ext.2 — Persona-Diversify 15,800 13.2% 语境鲁棒 / persona 适配 / 同 tool 不同 query 风格
Ext.3 — Multi-Turn 35,200 29.5% 多轮对话状态保持(从 567K 多轮 raw 池里精筛)
总计 119,300 100%

注意 40K Irrelevance + 35.2K Multi-Turn = 63% 的 SFT 数据来自扩展机制而非原始 pipeline。也就是说 — 论文真正认为有训练价值的是edge case(无解 / 多轮)而不是 vanilla tool-call(那部分 baseline Qwen2.5 已经会了)。这条解释了为什么消融里 Ext.1 (Irrelevance) 对 BFCL V3 Irrelevance 子项贡献 +30+ pp(见 §4.4)。

3.5.3 论文 §3.1 Stage 2 列出的 3 种 task 合成策略

原始 28.3K(以及其它扩展的种子)是由 5 个 LLM × 3 个采样策略产出的。三种策略对应不同能力难度梯度:

策略定义tool 数上限能力训练目标
Single Server 给定 1 个 MCP server,从中选 1~N 个 tool 合成 query N=3 "会用对工具" — 单 server 内 tool 选择 + 多步 chain
Multi-Server 从同/异 category 抽 N 个 MCP server,生成跨 server workflow N=3 "跨 server 组合" — 例如 weather server + calendar server 拼出"明天下雨就把会议改到室内"这种
Featured Server 把 25 个手动精选的 "Featured" server 全部 metadata 放进 context,让 LLM 自由组合 "高质量深度组合" — 在精选 server 池上做 anchor 质量

"Featured Server" 这 25 个手选的是哪些?论文 Appendix B.1 / Table 4 给出全表 — 涵盖 OKX (crypto)、Semantic Scholar (research)、PubMed、Flux ImageGen、Hotel Booking、Cloudflare Playwright (browser)、Exa Search、ClinicalTrials、LeetCode、Code Runner、Context7、Airbnb 等。设计意图: 跨域覆盖 + 每域至少 1 个深度 server 作为多 server 组合的可靠 anchor。

3.5.4 servers 域分布 — 495 个 MCP 都在干什么

论文 Figure 3 给了 495 server 按 LLM-annotated 域的分布(降序):

排名server 数占比
1Web Search & Research7014.1%
2Development Tools489.7%
3Data Analysis & Processing367.3%
4Crypto & Blockchain336.7%
5Content Creation285.7%
6Operating System265.3%
7Weather255.1%
8AI/ML Tools193.8%
9Database Operations193.8%
10API Integration183.6%
11-13Gaming / Browser Automation / Financial Services16+16+149.3%
14-20Security/News/Education/Memory/File/Travel/Productivity10-14 each~16%
21-27Time/Communication/Health/E-commerce/Social/Cloud + Others3-7 each剩余 ~10%
覆盖偏置: Web Search + Dev Tools + Data Analysis 这头 3 大占了 31%专业领域(Health 4 / E-commerce 4 / Cloud 3 / Social 4)只占个位数。这意味着 Toucan-tuned 模型在 web/code/data 域上是 over-trained,在 medical/legal/finance 类长尾域的泛化是未在论文中验证的开放问题

3.5.5 trajectory 复杂度统计(来自论文 Figure 4 + HF dataset card)

论文 Figure 4 的 8 张子图给出 trajectory 形态分布。本笔记把 HF dataset card 文字描述加上 figure 反推的近似值整理如下:

维度分布特征来源
每条 trajectory 涉及的 server 数1-3,以 1 server 为主,~20% 涉及 2+ serverFig.4(a)
required tools 数1-3 居多,minority 涉及更多Fig.4(b)
available tools(context 中给 LLM 看的)普遍大于 required — 训练 tool selection 难度Fig.4(c)(d)
user query token 长度长尾分布,集中在数十至数百 tokenFig.4(e)
多轮交互轮数包含从 single-turn 到长 multi-turn 的全梯度Fig.4(f)(h)
parallel tool call 比例IBM blog 原话: "A fifth (≈20%) of Toucan's scenarios require models to call multiple tools at once"blog + Fig.4(g)

未在公开来源确认: 论文未给出"avg turns / avg tool calls / avg tokens per trajectory"的具体数字 — 只在 Figure 4 用 histogram 展示分布。如果你需要精确均值需要自己跑 HF SFT subset 的 messages 字段统计。

3.5.6 数据格式 (HF schema)

SFT config 字段(从 HF dataset card):
uuid: 唯一 ID
subset_name: single-turn-original / irrelevant / single-turn-diversify / multi-turn 之一(对应 §3.5.2 的 4 个来源)
question: 用户原始 query
target_tools: 标注的"必须使用"的 tool(格式 Server::Tool)
tools: 完整 available tool 列表(JSON)
messages: 完整 trajectory 已格式化为 chat template(Hermes 格式,system prompt 包含 tool 列表)— 可直接喂 ms-swift / OpenRLHF / TRL SFTTrainer

3 个 teacher subset (Kimi-K2 / OSS / Qwen3) 多 4 个字段:available_tools / question_quality_assessment / response_quality_assessment / metadata — 这些是给做 dataset analysis 的研究者用的,SFT 训练用不到。


4 · 训练 recipe + 评测全套

4.1 训练配置 — 全套 hyperparams

论文 Appendix C.2 / Table 5 给出全部 SFT hyperparam — 可直接复现不留白:

Hyper-parameterValue备注
基座Qwen2.5-7B/14B/32B-Instruct不是 base,是 instruct 版本
Tool-call 模板HermesHF SFT subset 已按这个 template 格式化好
Learning rate2×10⁻⁵
Epochs2
Devices8 或 64 (H100)论文用 8×H100 evaluation,training 可 scale 到 64
Per-device batch1
Grad accumulation8 (on 8 GPU) / 1 (on 64 GPU)
Effective batch size64
OptimizerAdamW (β=0.9, 0.999, ε=1e-8)
Deepspeedzero3
Max seq len32,768multi-turn trajectory 可以挺长
SFT 数据119.3K(28.3K original + 40K Ext.1 + 15.8K Ext.2 + 35.2K Ext.3)论文 §4.1 明确切分
算法纯 SFT(无 RL,无 DPO,无 reward model)这是和 #18 AWM / #20 SETA 的核心方法学分歧

4.2 评测 benchmark 全景 — 4 个套件覆盖什么

论文用 4 个 benchmark(没有 ToolACE-eval / Nexus / 内部 eval — 全部都是社区标准):

Benchmark评什么规模评估机制TOUCAN 为什么 care
BFCL V3 (#28) function-calling 各类形态: 单 / 并行 / 多步 / 多轮 / 拒答 ~2,000 case AST checker + state-based eval 论文最主推的"SOTA 险胜 GPT-4.5"靠这个
τ-Bench (Yao et al. 2024) dual-control: agent 和 user simulator 来回对话,完成 retail/airline 任务 retail + airline 两域 GPT-4o 当 user simulator + reward judge 查"SFT 完到底会不会真对话"
τ²-Bench (Barres et al. 2025) τ-Bench 升级版,加 telecom 域 + 更强 user policy airline + retail + telecom 同上 + 更难的 policy 评分 更接近实际 deployment 场景
MCP-Universe (Luo et al. 2025, Salesforce) 真 MCP server 执行任务 231 task / 11 server execution-based 评分 + partial credit 验证"真 MCP 训出来在真 MCP 上 transfer"

4.3 BFCL V3 — 全 5 子项 breakdown(Table 2 全数据)

下表是论文 Table 2 的完整数据。BFCL V3 把 "function-calling" 拆成 5 个子项:Non-live AST(传统单步)/ Live AST(社区贡献的真实场景单步)/ Multi-Turn(2024-09 新增的多轮)/ Relevance(该调时调对)/ Irrelevance(不该调时拒答)。

模型OverallNon-live ASTLive ASTMulti-TurnRelevanceIrrelevance
大模型 / closed-source baseline
DeepSeek-V364.7188.5477.3429.8783.3376.49
Qwen2.5-72B-Instruct64.3787.5678.6829.3872.2277.41
Qwen3-235B-A22B67.9487.9077.0340.1283.3376.32
Qwen3-32B69.2588.9077.8343.1272.2275.79
o3-Mini64.6186.1579.0828.7572.2282.96
GPT-4.168.6985.4279.9240.5077.7885.95
GPT-4.5-Preview70.3286.1279.3445.3866.6783.64
TOUCAN SFT'd Qwen2.5 系列
Qwen2.5-7B-Instruct55.1084.1972.3212.8872.2267.93
+ TOUCAN58.26 +3.1678.5274.5022.6266.6775.18
Qwen2.5-14B-Instruct57.6983.3873.7019.7583.3368.46
+ TOUCAN65.09 +7.4085.4276.0135.2572.2275.96
Qwen2.5-32B-Instruct61.7385.5876.0126.3872.2272.68
+ TOUCAN70.45 +8.7287.1278.9046.5077.7878.10

关键观察:

  1. 32B + TOUCAN 在 Multi-Turn 单项 46.50 反而超过了 GPT-4.5-Preview 的 45.38 — 这是论文里我认为最被低估的数字:在最难的 BFCL V3 子项上击败 1T 参数闭源模型。
  2. Non-live AST: 7B 反退步(84.19 → 78.52,-5.67)— 这是 SFT 在小模型上典型的"形式过拟合 trade-off": 学会了真 MCP 调用风格,反而丢了 BFCL 简单格式的 prior。14B/32B 上这个问题消失。
  3. Relevance 子项 7B 倒退 (72.22→66.67) — 同上,小模型容量不足以同时记住"该拒答"和"该调用"两种行为。
  4. Irrelevance 全线大涨(7B: +7.25 / 14B: +7.50 / 32B: +5.42) — Ext.1 的 40K irrelevance 数据精准命中,这是论文消融 Table 6 上 Irrelevance 子项从 baseline 68.46 → 77.85 (+9.39) 的直接因果证据。
  5. 胜负毛细看: 32B + TOUCAN 在 Overall 上 70.45 vs GPT-4.5 70.32 = +0.13 pp。同时 Multi-Turn 上 46.50 vs 45.38 = +1.12 pp。论文卖点是 "32B SFT 超过 1T 参数闭源",但 GPT-4.1 (68.69) 已经接近,Qwen3-32B (无 TOUCAN, 69.25) 也很接近 — TOUCAN 增益从 61.73 → 70.45 是真实的,但相对赛道的 ceiling 没有跳跃。

4.4 BFCL V3 Ablation — 4 extension 的逐项贡献(Table 6)

论文 Appendix C.3 / Table 6 在 14B 模型上做了 ablation,逐步加 4 类 SFT 数据看 BFCL V3 各子项变化:

训练数据组合OverallNon-live ASTLive ASTMulti-TurnRelevanceIrrelevance
Qwen2.5-14B-Instruct (baseline)57.6983.3873.7019.7583.3368.46
+ Single Turn (=28.3K original)60.16 +2.4787.5066.8634.3872.2246.88
+ Irrelevance (Ext.1 加进来)64.74 +4.5888.4677.2530.3872.2277.85 +30.97
+ Diversify (Ext.2 加进来)64.56 -0.1886.0676.9032.5072.2275.45
+ Multi-Turn (Ext.3 加进来 = 全 119K)65.09 +0.5385.4276.0135.2572.2275.96

消融最关键发现 — Ext.1 是单独最大贡献者:

4.5 τ-Bench / τ²-Bench — 全 4 域 breakdown(Table 3 全数据)

这是这次精读补完最有意思的一块 — 此前笔记只给了 Avg,现在拆出 airline / retail / telecom 三域:

模型τ-Bench AvgAirlineRetailτ²-Bench AvgAirlineRetailTelecom
Qwen2.5-7B-Instruct15.038.7521.3016.0814.0017.5416.70
+ TOUCAN22.48 +7.4515.5029.4617.77 +1.6920.0022.8010.50
Qwen2.5-14B-Instruct30.8517.2544.4624.4612.0041.2020.18
+ TOUCAN35.24 +4.3922.0048.4830.43 +5.9722.0049.1020.18
Qwen2.5-32B-Instruct38.7626.0051.5229.4018.0049.1021.11
+ TOUCAN42.33 +3.5729.0055.6531.60 +2.2022.0052.6020.20

关键观察:

4.6 MCP-Universe — Pareto 但无绝对数

论文 Figure 7 + Figure 8 用 bar chart + Pareto 散点展示。没有列绝对数字表,所以本笔记给出从 Figure 反推的可读数:

对比模型Overall (Figure 8 反推)说明
Qwen2.5-14B-Instruct (FC)~10-15%baseline
Qwen2.5-14B + TOUCAN~18-22%明显在 Pareto 上方
Qwen2.5-32B-Instruct (FC)~15-20%baseline
Qwen2.5-32B + TOUCAN~25-30%论文 Figure 8 显示 push Pareto forward
Mistral-Small-3.2 / Qwen3-30B-A3B~20-25%同尺寸开源对手
Llama-3.3-70B / Qwen2.5-72B (FC)~30-35%大模型基线
GLM-4.5-Air / Qwen3-235B / DeepSeek-V3~40%+frontier-class

具体子域 (Location Navigation / Repository Mgmt / Financial Analysis / 3D Designing / Browser Automation / Web Searching):TOUCAN-tuned 在 Web Searching / Repository Mgmt / Browser Automation 上对同 size baseline 优势最明显;在 3D Designing / Financial Analysis 上 TOUCAN-tuned 没明显优势 — 和 §3.5.4 servers 域分布偏置一致(crypto/finance/3D 类 server 数量少)。

未在公开来源确认: 论文文字表述是 "push Pareto frontier forward, achieving higher OSR at smaller model sizes",但没给出 32B + TOUCAN 在 MCP-Universe 上的具体 Overall Success Rate 数字。上表 25-30% 是从 Figure 7/8 bar 高度反推,精确值需要去 MCP-Universe 官方 leaderboard 查 — 但目前 leaderboard 没有把 TOUCAN 单独列条目。

5 · 🔍 开源现状 — repo 实地清点

这是这篇 paper 最让人惊喜的部分 — 几乎所有中间产物都开源了,而且 license 干净。逐项清点:

Artifact状态License链接
📄 论文 开放 arXiv 2510.01179
💾 1.5M 全量 trajectory 完全公开 Apache-2.0 Agent-Ark/Toucan-1.5M (21.8 GB, 1,646,546 行 parquet,4 个 subset: Kimi-K2 / OSS / Qwen3 / SFT)
🛠 合成 pipeline 代码 开源 MIT TheAgentArk/Toucan(./datagen 目录)
🤖 7B SFT checkpoint 公开 (随 base model) Toucan-Qwen2.5-7B-Instruct-v0.1(333K 下载)
🤖 14B SFT checkpoint 公开 (随 base model) Toucan-Qwen2.5-14B-Instruct-v0.1
🤖 32B SFT checkpoint 公开 (随 base model) Toucan-Qwen2.5-32B-Instruct-v0.1
📦 GGUF 量化 ckpt 等 社区上传 27 个 derivative 模型在 HF 上(社区 fine-tune / quantize 衍生)
📊 训练 + 评测脚本 同 repo MIT repo 内 ./train / ./eval
📋 MCP server 列表 (495 个) 公开 MIT repo Appendix B.1 + ./datagen 内 metadata
🔒 trained model RL weights 不存在 — 论文是纯 SFT,无 RL stage

5.1 和 #18 AWM / #03 Agent-World / #20 SETA 的开源度横向

TOUCAN#18 AWM#03 Agent-World#20 SETA
论文blog
数据集1.5M 全开1K env + traj 全开未公开400 任务全开
合成 pipelinedatagen/ 公开公开未公开公开
训好的 ckpt7B/14B/32B 全开4B/8B/14B 全开8B 全开
训练代码repo 内repo 内基于 AReaL
License (data)Apache-2.0Apache-2.0Apache-2.0
License (code)MITApache-2.0Apache-2.0

结论: TOUCAN 的开源完整度和 AWM 是当前 agentic data 这一线最高的两家,显著高于 Agent-World(paper-only)。SETA 因为是 RLVR-Docker 路线,可比性稍弱但也接近全开。

5.2 License 分析 — 这套栈能直接商用吗?

ArtifactLicense商业部署允许?注意事项
Toucan-1.5M datasetApache-2.0✓ 可需保留 attribution; PII 已 best-effort 清洗(rule-based)
TheAgentArk/Toucan pipeline codeMIT✓ 可最宽松;可闭源 fork
Toucan-Qwen2.5-{7,14,32}B 权重跟随 Qwen2.5 base = Apache-2.0✓ 可Qwen2.5 Apache-2.0 比 Qwen3(更紧 Tongyi Qianwen license)宽松
底层用的 5 个 task-synthesis LLM 输出各模型 license 不同~GPT-OSS = Apache-2.0; Kimi-K2 / Qwen3 / Mistral-Small / DevStral = 各自宽松 license — Apache-2.0 数据 license 已经把这些 distill 出来的 trajectory 视为合规衍生品

结论 — 全栈商业 friendly: 数据 (Apache-2.0) + 代码 (MIT) + 权重 (跟 Qwen2.5 = Apache-2.0)。无 CC-BY-NC 传染、无 Llama license 前缀、无 OpenAI 输出条款风险(因为 5 个 task-synth model 都是开源 LLM,不是 GPT 系列)。这是 2026 上半年极少数能同时满足"数据 + 模型 + 训练栈"三层全 Apache/MIT 的 tool-agentic 训练资源 — 详细对比可参考 #31 Prime Intellect Hub §License 的"安全栈推荐" 章节。

5.3 复现 checklist — 你需要什么 / 可以跳过什么

使用场景需要拉可跳过预估资源
① 只想用 SFT subset 训自己的模型 HF SFT config (0.40 GB) HF 前 3 个 teacher subset; 整套 pipeline 代码; 495 MCP server 32B SFT 2 epoch: 64×H100 ~24 小时(论文配置)
② 想对比 baseline 看效果 3 档官方 ckpt (HF Agent-Ark) 所有数据 + 训练代码 4090 + GGUF q4 可跑 32B 推理
③ 想研究 teacher 多样性 3 个 teacher subset (~20 GB 下载) pipeline 代码 1×H100 做 dataset analysis 即可
④ 想从零重跑 pipeline 所有 — 代码 + 5 个 task-synth LLM endpoint + 3 个 teacher LLM endpoint + 495 MCP server 连通 多家 LLM API 配额 + Smithery 配额; 论文未给具体合成耗时,估计是$10^4$ GPU·小时 + $10^4$ USD API 费用
⑤ 想把 Toucan SFT 当 RL 冷启 ① + verifiers / prime-rl 训练栈(#31) 这是论文 §5 future work 提到的方向 — 也是 #31 §10.4 推荐的 "TOUCAN SFT 冷启 → MCP·RL 在线" recipe

5.4 27 个 HF ckpt 实地清点 — 官方 3 个 + 社区 24 个

截至本笔记写作时(2026-05),HF 上 Agent-Ark org + 全网搜索 "Toucan-Qwen" 共可见 27 个 fine-tune 衍生 ckpt:

层级数量说明
官方主线(Agent-Ark org) 3 Toucan-Qwen2.5-{7B/14B/32B}-Instruct-v0.1 — 论文里报的就是这 3 个
社区 GGUF/AWQ 量化 ~15 主要是 32B 的 q3/q4/q5/q6/q8 量化,以及 14B 的 q4/q5 量化;来源包括 mradermacher / bartowski / second-state 等社区量化大户
社区 fine-tune 衍生 ~9 不同 domain 特化(医疗 / 代码 / 翻译),以 7B 为多 — 大多数下载量小但说明 Toucan SFT 后的 ckpt 已经成为社区"工具调用基座"被进一步微调
合计 27 下载量最高的仍是官方 7B-v0.1(333K+ downloads)

5.5 datagen 目录 → 论文 Stage 映射

GitHub repo TheAgentArk/Toucan/datagen/ 是 pipeline 复现的入口。子目录到论文 Stage 的映射:

repo 子目录对应论文 Stage关键脚本
./datagen/onboarding/Stage 1 — MCP 抓取 + 过滤Smithery API 抓取 + HTTP 连通性测试 + Kimi-K2 stability 打分
./datagen/task_synth/Stage 2 — 5 LLM × 3 策略合成 querySingle / Multi / Featured 三套 prompt template (Appendix D.2)
./datagen/task_filter/Stage 3 — 6 维 Likert 过滤Kimi-K2 调 prompt template (Appendix D.4)
./datagen/trajectory/Stage 4 — 3 teacher × 2 framework 真接 MCP 执行Qwen-agent + OpenAI-agent 两套 driver
./datagen/post_filter/Stage 5 — Rule + LLM 双层验证5 条 rule + GPT-OSS-120B Likert (Appendix D.5)
./datagen/extensions/Ext.1/2/3shuffle metadata / persona inject / multi-turn self-simulate
./train/§4.1 SFTDeepspeed zero3 + ms-swift 训练配置
./eval/§4.2-4.6 评测BFCL V3 / τ-Bench / τ²-Bench / MCP-Universe 4 套官方 harness 包装

5.6 自托管 / 复现一句话总结


6 · 与同类工作的横向矩阵

维度TOUCAN
(MIT-IBM+UW)
#18 AWM
(Snowflake)
#03 Agent-World
(RUC+ByteDance)
#20 SETA
(CAMEL-AI)
Nemotron tool-call
(NVIDIA)
ToolACE
(Huawei)
规模 (trajectory/task)1.5M traj10K task1,978 env400 task310K traj~26K
Env / Tool 数495 / 2,000+1,000 / 35,0621,978 / 19,822400 Docker~26K function
Env 真实性真 MCP server合成 SQLite真 MCPDocker (真)function schemafunction schema
Tool response 真假SQLite 状态机Docker 真执行合成合成
验证机制rule + LLM Likertverifier code无 traj 级RLVR 出题人LLM judge双验证 LLM
训练算法SFT (Qwen2.5 7/14/32B)GRPO (Qwen3-thinking 4/8/14B)self-evolve arenaGRPO via AReaL (8B)SFTSFT
BFCL V3 (best size)32B: 70.458B: 65.94 (OOD)
开源度data + ckpt + pipeline 全开全开paper-only全开部分部分
典型 licenseApache-2.0 / MITApache-2.0Apache-2.0NC

定位: TOUCAN 占据 "真 env + 超大 SFT 规模 + 全开源" 这个空格 — 这恰好是上面其它工作都没占的位置(AWM 真 env 假但全开,Agent-World 真 env 但不开,Nemotron/ToolACE 假 env 大规模但弱真实)。


7 · 局限 / 个人 take

7.1 "1.5M scale" 是 marketing number 吗?

部分是。 1,527,259 是所有 teacher model × framework 组合 raw 产出的总量,真正进入 SFT 的只有 119,300(约 8%)。HF 上的 4 个 subset 是按 teacher 切分的(Kimi-K2 519K / OSS 457K / Qwen3 552K / SFT 119K) — 三个 teacher subset 之间有相当大的重叠(同一 query 被 3 个 teacher 各跑一遍)。真正 SFT 上有效的"unique high-quality trajectory"是 119K 这个量级,这才是与 Nemotron 310K / ToolACE 26K 公平对比的数。所以 IBM blog 上的 "5× Nemotron" 说法实质上是 1.5M raw vs 310K 全量的对比,不完全公平 — 但 119K SFT 的质量密度确实高(每条都过双层过滤)。

7.2 "real-world MCP" 真的"真"吗?

真,但是"窄"。 495 个 server 都是 public + no-auth + HTTP-only + stable 的 — 也就是多半是 mock-data 或 read-only public API 性质(public weather, public dataset query, file conversion utility 等),并不是生产中带 stateful database 的 Notion/Linear/Gmail 类。所以 "真实度" 比合成 SQLite 高,但比 SETA 在 Docker 里跑真 git+linux command 要低一档。可以把它定位成 "中等真实度,极大规模"

7.3 训出来的模型公开榜上能查到吗?

可以,但需要小心 selection bias:

7.4 论文没回答的几个问题

待考察:

7.5 校订风险条 — BFCL V3 vs V4 的不可直接对比性

非常重要的细则,容易被误读: 本论文 (TOUCAN, 2025-10-01) 报的 BFCL 是 V3 (2024-09 版本),不是 V4 (2025-07-17 发布)。两个版本的差异详见 #28 BFCL 精读,简言之:

7.5 一句话评价

TOUCAN 不是一篇方法创新型的 paper — 它的所有技术(多 teacher distill / Likert filter / rule+LLM 双过滤 / persona inject / multi-turn 切分)都不新。但它是"把已有方法做到工业流水线规模,并 100% 全开源"这件事的当前 ceiling。如果你想 SFT 自己的 7B-32B 模型让它会调 MCP,直接拉 HF 上的 SFT subset 跑 2 epoch 是 2026 上半年最理性的起点

附:阅读路径建议

这篇笔记之前已读过 → 推荐 follow-up:

  1. 如果你已读 #18 AWM: TOUCAN 是 AWM 的"真 env 大规模 SFT 版" — 两者是互补的(AWM 选 RL+合成,TOUCAN 选 SFT+真);
  2. 如果你已读 #03 Agent-World: TOUCAN 把 Agent-World 没做的"把 1.9K env 真的转成可训 SFT 数据并公开"这步补上了 — 虽然 server 数 (495) 不如 Agent-World (1,978),但 trajectory 是真公开的;
  3. 如果你已读 #20 SETA: TOUCAN 的 SFT vs SETA 的 RLVR 形成方法学正交 — 同样追求"真 tool"但一个走规模化 distill,一个走小规模 RL;
  4. 读完 TOUCAN 后,有兴趣可以追 #21 看 MCP-Universe 这条评测线 — TOUCAN-32B 大概落在哪里。