TOUCAN: Synthesizing 1.5M Tool-Agentic Data from Real-World MCP Environments
速读卡片 (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)。
立场: 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。这意味着:
- tool error 不在分布里:真 MCP server 会返回 rate-limit / auth-fail / malformed-args,合成 schema 永远不会;
- tool chain 的语义依赖被压平:get_user(id) → get_orders(user.email) 这种"前一步的真输出决定下一步参数"在 schema 合成里就退化成 LLM 对 plausible-looking dict 的拟合;
- multi-turn 状态一致性丢失:同一 server 多次 call 之间的 stateful behavior 没有真的 backend 是无法演出的。
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 response | TOUCAN 的"自报"差异化 |
|---|---|---|---|---|
| APIGent-MT-5K | 5,000 | 从 τ-Bench 借 | 真执行 | 规模差 300×;tool 来源被锁死在 τ-Bench 的 retail/airline 单一域 |
| ToolACE | 11,300 | 合成 schema (509 个 fake fn) | simulated | 论文原话 "function-name fitting" — LLM 学到的是对 schema 字符串拟合,而不是真 server 行为 |
| Hermes Function-Calling V1 | 11,570 | 合成 schema (1,890 fn) | 部分执行 | 规模仍小一个数量级;multi-turn 比例低 |
| Nemotron (Tools, NVIDIA) | 310,051 | 199,610 fn (来源未公开) | 未明示 | 论文原话 "domain coverage 太窄";Nemotron 仍是合成 fn 不是真 MCP server;且 license 不允许商用 |
| TOUCAN | 1,527,259 | 495 真 MCP / 2,000+ tools | 真 server 真执行 | "S P MS IR 全 4 种 tool-call 场景 + 567,262 条 multi-turn" — 几乎是其它 4 家之和的 50× |
1.5.3 三条具象痛点 — 为什么"schema 而非真 server"是问题
- 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 能力。
- Tool chain 的语义依赖被压平:
get_user(id)的 真实输出决定get_orders(user.email)的参数 — 在 schema 数据里 LLM 看到的 user 是自己编的,所以下一步参数也是编的,整个 chain 是 plausible-looking 但 disconnected。Toucan 因为真接 server,这个依赖链是真的。 - Multi-turn 状态一致性丢失: 同一 server 多次 call 之间的 stateful behavior(
create_doc→edit_doc(doc_id)→list_docs必须能看到刚才那条)在 simulated response 里无法演出 — 因为没有真 backend 维持状态。Toucan 的 35.2K Ext.3 multi-turn 数据里这种链条都是真的。
1.6 · Contributions — 论文显式列出的 3 件套
论文 §1 末尾的 "In summary, the contributions of our work are" 段落只列了 3 项 contribution(不是有些读者以为的 4-5 项 — 那是把 motivation/related-work 混进来的误判)。原文逐项:
- 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) 全覆盖
- 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
- 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)
2 · 数据合成 pipeline 全景
2.1 一图看完整条流水线
2.2 各阶段输入 → 输出
| Stage | 输入 | 输出 | 关键 model / 操作 |
|---|---|---|---|
| S1 Onboarding | Smithery + GitHub 上的 ~2,800 MCP server | 495 个可联通 server | HTTP 可达性测试 / credential 过滤 / 25 个手动选 "featured" |
| S2 Task Synth | 495 server 的 tool schema | 原始 task query 池 | 5 个 LLM 各跑 3 策略 (Single/Multi/Featured) |
| S3 Task Filter | 原始 query | 合格 query | Kimi-K2 6 维 Likert 评分 → 阈值过滤 |
| S4 Trajectory | 合格 query + 真 MCP server | 原始 trajectory(含真 tool response) | 3 teacher × 2 framework = 6 组合并行跑 |
| S5 Post-Filter | 原始 trajectory | 1.5M 干净 trajectory + 119K SFT subset | Rule (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 ext | 5 (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 Likert | verifier code(LLM 写的 unit test 风格) | 无 trajectory 级 verifier |
| RL 还是 SFT | 纯 SFT distillation | GRPO (RL) | self-evolve arena |
| 规模 | 1.5M trajectory | 10K task / 1K env | 1,978 env |
| 开源度 | 全开(data + 27 ckpt + pipeline) | 全开(data + pipeline + ckpt) | paper-only,无 release |
3 · 关键设计选择
3.1 Real-World MCP 来源 — 为什么是 495 而不是 2,800
onboarding 阶段的过滤非常严格(§3.1):
- 必须是 remote HTTP-accessible:本地需要 docker / npm 启动的 MCP server 一律不要 — 因为后面 trajectory 生成要并发跑几百个 worker,本地启动 server 不可扩展;
- 必须不需要第三方 credential:这条砍掉了 Gmail / Notion / Slack / GitHub auth 等大类(虽然真实,但跑不动);
- 必须 stability ≥ 阈值:被 Kimi-K2 在 stability 这维打低分的(connection 不稳 / 经常 timeout)在 task filter 后直接丢;
- 25 个 "featured" server 手动精选:覆盖 web search / file ops / data analysis / coding 等高频域,作为 quality anchor。
3.2 Task 多样性的三层保证
- 5 个不同 LLM 出题(Mistral-Small, DevStral-Small, GPT-OSS, Kimi-K2, Qwen3-32B): 不同模型有不同的 prompt-following bias,多 model 出题降低了"全 dataset 都是 Kimi-K2 风"的风险;
- 3 种采样策略并行(Single-Server / Multi-Server / Featured-Server): Single 训"用对工具", Multi 训"跨 server 组合", Featured 在 25 个精选 server 上深挖;
- 6 维 Likert 评分(difficulty / uniqueness / quality / realism / verifiable / stability)— uniqueness 这一维专门为反 mode-collapse 设计,把"和池子里已有 task 太像"的 query 主动剔出。
3.3 验证器: 两层硬过滤
- agent 初始化或 MCP server 连接失败
- 整条 trajectory 零 tool call(纯文本闲聊)
- 包含 tool response 失败/错误的
- 包含本地文件系统路径(防止泄漏 worker 信息)
- 没按要求顺序使用 target tools (desired tool usage % < 1.0 或 order ≠ 1.0)
- Completeness: 是否完整回答了 user query;
- Conciseness: 是否冗余 / 重复 / 多余试错;
- SFT subset 阈值: 质量≥5, 真实≥5, 完整≥4, 简洁≥4, desired tool usage = 1.0。
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 Irrelevance | shuffle 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-carry | 35.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"总和 |
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 数 | 占比 |
|---|---|---|---|
| 1 | Web Search & Research | 70 | 14.1% |
| 2 | Development Tools | 48 | 9.7% |
| 3 | Data Analysis & Processing | 36 | 7.3% |
| 4 | Crypto & Blockchain | 33 | 6.7% |
| 5 | Content Creation | 28 | 5.7% |
| 6 | Operating System | 26 | 5.3% |
| 7 | Weather | 25 | 5.1% |
| 8 | AI/ML Tools | 19 | 3.8% |
| 9 | Database Operations | 19 | 3.8% |
| 10 | API Integration | 18 | 3.6% |
| 11-13 | Gaming / Browser Automation / Financial Services | 16+16+14 | 9.3% |
| 14-20 | Security/News/Education/Memory/File/Travel/Productivity | 10-14 each | ~16% |
| 21-27 | Time/Communication/Health/E-commerce/Social/Cloud + Others | 3-7 each | 剩余 ~10% |
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+ server | Fig.4(a) |
| required tools 数 | 1-3 居多,minority 涉及更多 | Fig.4(b) |
| available tools(context 中给 LLM 看的) | 普遍大于 required — 训练 tool selection 难度 | Fig.4(c)(d) |
| user query token 长度 | 长尾分布,集中在数十至数百 token | Fig.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)
uuid: 唯一 ID subset_name: single-turn-original / irrelevant / single-turn-diversify / multi-turn 之一(对应 §3.5.2 的 4 个来源)question: 用户原始 querytarget_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-parameter | Value | 备注 |
|---|---|---|
| 基座 | Qwen2.5-7B/14B/32B-Instruct | 不是 base,是 instruct 版本 |
| Tool-call 模板 | Hermes | HF SFT subset 已按这个 template 格式化好 |
| Learning rate | 2×10⁻⁵ | |
| Epochs | 2 | |
| Devices | 8 或 64 (H100) | 论文用 8×H100 evaluation,training 可 scale 到 64 |
| Per-device batch | 1 | |
| Grad accumulation | 8 (on 8 GPU) / 1 (on 64 GPU) | |
| Effective batch size | 64 | |
| Optimizer | AdamW (β=0.9, 0.999, ε=1e-8) | |
| Deepspeed | zero3 | |
| Max seq len | 32,768 | multi-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(不该调时拒答)。
| 模型 | Overall | Non-live AST | Live AST | Multi-Turn | Relevance | Irrelevance |
|---|---|---|---|---|---|---|
| 大模型 / closed-source baseline | ||||||
| DeepSeek-V3 | 64.71 | 88.54 | 77.34 | 29.87 | 83.33 | 76.49 |
| Qwen2.5-72B-Instruct | 64.37 | 87.56 | 78.68 | 29.38 | 72.22 | 77.41 |
| Qwen3-235B-A22B | 67.94 | 87.90 | 77.03 | 40.12 | 83.33 | 76.32 |
| Qwen3-32B | 69.25 | 88.90 | 77.83 | 43.12 | 72.22 | 75.79 |
| o3-Mini | 64.61 | 86.15 | 79.08 | 28.75 | 72.22 | 82.96 |
| GPT-4.1 | 68.69 | 85.42 | 79.92 | 40.50 | 77.78 | 85.95 |
| GPT-4.5-Preview | 70.32 | 86.12 | 79.34 | 45.38 | 66.67 | 83.64 |
| TOUCAN SFT'd Qwen2.5 系列 | ||||||
| Qwen2.5-7B-Instruct | 55.10 | 84.19 | 72.32 | 12.88 | 72.22 | 67.93 |
| + TOUCAN | 58.26 +3.16 | 78.52 | 74.50 | 22.62 | 66.67 | 75.18 |
| Qwen2.5-14B-Instruct | 57.69 | 83.38 | 73.70 | 19.75 | 83.33 | 68.46 |
| + TOUCAN | 65.09 +7.40 | 85.42 | 76.01 | 35.25 | 72.22 | 75.96 |
| Qwen2.5-32B-Instruct | 61.73 | 85.58 | 76.01 | 26.38 | 72.22 | 72.68 |
| + TOUCAN | 70.45 +8.72 | 87.12 | 78.90 | 46.50 | 77.78 | 78.10 |
关键观察:
- 32B + TOUCAN 在 Multi-Turn 单项 46.50 反而超过了 GPT-4.5-Preview 的 45.38 — 这是论文里我认为最被低估的数字:在最难的 BFCL V3 子项上击败 1T 参数闭源模型。
- Non-live AST: 7B 反退步(84.19 → 78.52,-5.67)— 这是 SFT 在小模型上典型的"形式过拟合 trade-off": 学会了真 MCP 调用风格,反而丢了 BFCL 简单格式的 prior。14B/32B 上这个问题消失。
- Relevance 子项 7B 倒退 (72.22→66.67) — 同上,小模型容量不足以同时记住"该拒答"和"该调用"两种行为。
- Irrelevance 全线大涨(7B: +7.25 / 14B: +7.50 / 32B: +5.42) — Ext.1 的 40K irrelevance 数据精准命中,这是论文消融 Table 6 上 Irrelevance 子项从 baseline 68.46 → 77.85 (+9.39) 的直接因果证据。
- 胜负毛细看: 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 各子项变化:
| 训练数据组合 | Overall | Non-live AST | Live AST | Multi-Turn | Relevance | Irrelevance |
|---|---|---|---|---|---|---|
| Qwen2.5-14B-Instruct (baseline) | 57.69 | 83.38 | 73.70 | 19.75 | 83.33 | 68.46 |
| + Single Turn (=28.3K original) | 60.16 +2.47 | 87.50 | 66.86 | 34.38 | 72.22 | 46.88 |
| + Irrelevance (Ext.1 加进来) | 64.74 +4.58 | 88.46 | 77.25 | 30.38 | 72.22 | 77.85 +30.97 |
| + Diversify (Ext.2 加进来) | 64.56 -0.18 | 86.06 | 76.90 | 32.50 | 72.22 | 75.45 |
| + Multi-Turn (Ext.3 加进来 = 全 119K) | 65.09 +0.53 | 85.42 | 76.01 | 35.25 | 72.22 | 75.96 |
消融最关键发现 — Ext.1 是单独最大贡献者:
- 只加 Single-Turn 反而炸 Irrelevance(68.46 → 46.88,-21.58 pp)— 因为 28.3K 全是"该调工具"的数据,SFT 后模型变得 over-eager,什么都想调 → irrelevant 子项崩;
- 加 Ext.1 (Irrelevance) 一举修复: 46.88 → 77.85 (+30.97 pp),不仅修复 baseline,还超过 baseline 9.4 pp;
- Ext.2 (Diversify) 在 BFCL V3 上几乎没贡献(Overall 64.74 → 64.56,反而 -0.18)— 这是论文里没明说的"Ext.2 在 BFCL V3 上 noop"。Ext.2 的实际收益体现在 τ-Bench / τ²-Bench(language style 多样性);
- Ext.3 (Multi-Turn) 在 Multi-Turn 子项稳贡献(32.50 → 35.25,+2.75 pp),这是预期内的 — 教会模型 multi-turn state 保持。
4.5 τ-Bench / τ²-Bench — 全 4 域 breakdown(Table 3 全数据)
这是这次精读补完最有意思的一块 — 此前笔记只给了 Avg,现在拆出 airline / retail / telecom 三域:
| 模型 | τ-Bench Avg | Airline | Retail | τ²-Bench Avg | Airline | Retail | Telecom |
|---|---|---|---|---|---|---|---|
| Qwen2.5-7B-Instruct | 15.03 | 8.75 | 21.30 | 16.08 | 14.00 | 17.54 | 16.70 |
| + TOUCAN | 22.48 +7.45 | 15.50 | 29.46 | 17.77 +1.69 | 20.00 | 22.80 | 10.50 |
| Qwen2.5-14B-Instruct | 30.85 | 17.25 | 44.46 | 24.46 | 12.00 | 41.20 | 20.18 |
| + TOUCAN | 35.24 +4.39 | 22.00 | 48.48 | 30.43 +5.97 | 22.00 | 49.10 | 20.18 |
| Qwen2.5-32B-Instruct | 38.76 | 26.00 | 51.52 | 29.40 | 18.00 | 49.10 | 21.11 |
| + TOUCAN | 42.33 +3.57 | 29.00 | 55.65 | 31.60 +2.20 | 22.00 | 52.60 | 20.20 |
关键观察:
- Telecom 域是软肋:7B 上 TOUCAN 反而把 telecom 从 16.70 砍到 10.50 (-6.20 pp);14B/32B 上 telecom 几乎完全 noop(20.18 → 20.18 / 21.11 → 20.20)。原因可能: 495 个 MCP server 里 Communication Tools 类只有 7 个(§3.5.4 域分布),trajectory 训不到 telecom-specific 多轮对话 policy。
- Retail / Airline 涨幅显著:Retail 在所有 size 上 + 4 ~ 8 pp。原因: TOUCAN 里 web search / dev tools / data analysis 类对应到 retail 操作(查商品 / 改订单)有大量 transfer。
- τ²-Bench 涨幅整体小于 τ-Bench:7B 上 τ² 只涨 +1.69 vs τ 涨 +7.45 — 因为 τ²-Bench 加了更难的 user policy,SFT 学的是 tool-call 形式,policy 推理还需要 RL。这条解释了为什么作者在论文 §5 future work 里明确提到要做 "reinforcement learning gym"。
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 数量少)。
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 任务全开 |
| 合成 pipeline | datagen/ 公开 | 公开 | 未公开 | 公开 |
| 训好的 ckpt | 7B/14B/32B 全开 | 4B/8B/14B 全开 | 无 | 8B 全开 |
| 训练代码 | repo 内 | repo 内 | 无 | 基于 AReaL |
| License (data) | Apache-2.0 | Apache-2.0 | — | Apache-2.0 |
| License (code) | MIT | Apache-2.0 | — | Apache-2.0 |
结论: TOUCAN 的开源完整度和 AWM 是当前 agentic data 这一线最高的两家,显著高于 Agent-World(paper-only)。SETA 因为是 RLVR-Docker 路线,可比性稍弱但也接近全开。
5.2 License 分析 — 这套栈能直接商用吗?
| Artifact | License | 商业部署允许? | 注意事项 |
|---|---|---|---|
| Toucan-1.5M dataset | Apache-2.0 | ✓ 可 | 需保留 attribution; PII 已 best-effort 清洗(rule-based) |
| TheAgentArk/Toucan pipeline code | MIT | ✓ 可 | 最宽松;可闭源 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 策略合成 query | Single / 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/3 | shuffle metadata / persona inject / multi-turn self-simulate |
./train/ | §4.1 SFT | Deepspeed zero3 + ms-swift 训练配置 |
./eval/ | §4.2-4.6 评测 | BFCL V3 / τ-Bench / τ²-Bench / MCP-Universe 4 套官方 harness 包装 |
5.6 自托管 / 复现一句话总结
- 只想用数据 SFT 自己的模型:
datasets.load_dataset("Agent-Ark/Toucan-1.5M", "SFT")就能拿到 119K 高质量 SFT subset(parquet 格式,messages 已是 chat-format); - 想跑 inference 比 baseline: 三档 ckpt 直接从 HF 拉,GGUF 量化版可在 4090 上跑 32B q4;
- 想从头重跑 pipeline: 需要(1)各 teacher model 的 API 密钥 或 部署(GPT-OSS-120B / Kimi-K2 / Qwen3-32B 都有公开 endpoint);(2)能联通 495 个 remote MCP server 的网络环境 — Smithery 上挂了 hosted version;(3)算力堆 1.5M trajectory 的生成 — 论文没给具体小时数,但根据 #03 / #18 / #19 经验估计是 数千 GPU·小时 + 五位数 USD API 费用。
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 traj | 10K task | 1,978 env | 400 task | 310K traj | ~26K |
| Env / Tool 数 | 495 / 2,000+ | 1,000 / 35,062 | 1,978 / 19,822 | 400 Docker | — | ~26K function |
| Env 真实性 | 真 MCP server | 合成 SQLite | 真 MCP | Docker (真) | function schema | function schema |
| Tool response 真假 | 真 | SQLite 状态机 | 真 | Docker 真执行 | 合成 | 合成 |
| 验证机制 | rule + LLM Likert | verifier code | 无 traj 级 | RLVR 出题人 | LLM judge | 双验证 LLM |
| 训练算法 | SFT (Qwen2.5 7/14/32B) | GRPO (Qwen3-thinking 4/8/14B) | self-evolve arena | GRPO via AReaL (8B) | SFT | SFT |
| BFCL V3 (best size) | 32B: 70.45 | 8B: 65.94 (OOD) | — | — | — | — |
| 开源度 | data + ckpt + pipeline 全开 | 全开 | paper-only | 全开 | 部分 | 部分 |
| 典型 license | Apache-2.0 / MIT | Apache-2.0 | — | Apache-2.0 | NC | — |
定位: 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:
- BFCL V3 上 32B = 70.45 这个数字在 BFCL 的 v3 leaderboard 上是 Berkeley 维护的,可以查到(论文有截图);
- τ-Bench / τ²-Bench 的对比数都是论文自己跑的(用 BFCL 提供的 evaluation harness),没有第三方独立复测;
- MCP-Universe 上只有 Pareto 图,没有绝对数 — 想看具体落点需要去 MCP-Universe 自己的 leaderboard(目前 Toucan-32B 在 25-30% 区间);
- 没有任何 frontier 厂商的 model card 直接引用过 Toucan(对比 #19 MCP-Atlas 被 Claude Opus 4.7 system card 引 77.3% 这种待遇)。
7.4 论文没回答的几个问题
- SFT vs RL 哪个更值: 同样 119K 数据,如果在上面跑 GRPO/PPO 而不是纯 SFT,能不能再涨 5pp?论文没做这个 ablation,因为 1.5M 数据的 RL 跑不动 — 但作者在 §5 future work 里明确说要"build a reinforcement learning gym"。
- 495 个 server 的覆盖偏置: §3.5.4 已经给出 — Web Search / Dev Tools / Data Analysis 占 31%,Communication / Health / Cloud / Social 类只占个位数。τ²-Bench Telecom 域全线 noop(§4.5)就是这个偏置的直接后果。
- 对 base model 的依赖: 全套实验都在 Qwen2.5 上,在 Llama-3 / Mistral / 自家 Granite 上效果如何不清楚 — 论文未跨基座验证。
- 是否会衰减通用能力: SFT 1.5M tool-call 数据后,通用 chat / 推理 benchmark (MMLU, HumanEval, MT-Bench) 有没有 regression?论文没报告。Non-live AST 7B 上 84.19 → 78.52 的同模态退步暗示这个问题不是 zero。
- BFCL V3 65.09 vs Qwen3-32B 69.25: 14B + TOUCAN 65.09 没有大幅超过同尺寸 Qwen3-32B 的 69.25(无 SFT)— 论文没把这条 head-to-head 写出来,这意味着 用更新的 Qwen3 base 可能不需要 TOUCAN 也能到 70%,TOUCAN 的真正价值在给老 base 模型 (Qwen2.5) 一个免费升级。
7.5 校订风险条 — BFCL V3 vs V4 的不可直接对比性
- V3 加权公式(论文用的): Non-Live AST + Live AST + Multi-Turn + Relevance + Irrelevance,各子项均匀加权得到 Overall;
- V4 加权公式(2025-07 后):Agentic 40% + Multi-Turn 30% + Live 10% + Non-Live 10% + Irrelevance 10% — single-turn(Live + Non-Live)合计只占 20%,大幅削弱了 SFT 容易刷分的子项;
- 所以 TOUCAN 报的 32B 70.45 不能和 V4 leaderboard 上的 GPT-5 59.2 / GLM-4.5 70.9 这类 V4 数字直接比。本质上 V3 的 70.45 在 V4 重排后,如果 multi-turn 数据(35.2K Ext.3)训得好,Overall 可能维持在 60+;但 Agentic 40% 这一项需要额外的 long-horizon trajectory 数据(MCP-Universe 类),TOUCAN 没有专门优化这块;
- 实务建议:训完 TOUCAN 后跑 BFCL V3 看 70.45 这条没问题(可复现),但若要刷 V4 leaderboard,还需要 #20 SETA / #23 EnvScaler / #29 EnvTuning 这类 agentic + long-horizon 数据补充。#28 §标准训练流程 给出的 recipe 就是 "TOUCAN 冷启 BFCL V3 →70 → EnvScaler/SETA RLVR → BFCL V4 Agentic ≥50% → MCP-Atlas / MCPMark 真测"。
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:
- 如果你已读 #18 AWM: TOUCAN 是 AWM 的"真 env 大规模 SFT 版" — 两者是互补的(AWM 选 RL+合成,TOUCAN 选 SFT+真);
- 如果你已读 #03 Agent-World: TOUCAN 把 Agent-World 没做的"把 1.9K env 真的转成可训 SFT 数据并公开"这步补上了 — 虽然 server 数 (495) 不如 Agent-World (1,978),但 trajectory 是真公开的;
- 如果你已读 #20 SETA: TOUCAN 的 SFT vs SETA 的 RLVR 形成方法学正交 — 同样追求"真 tool"但一个走规模化 distill,一个走小规模 RL;
- 读完 TOUCAN 后,有兴趣可以追 #21 看 MCP-Universe 这条评测线 — TOUCAN-32B 大概落在哪里。