好的,龙哥已经仔细研读了这篇来自Amazon AGI的最新论文,现在就带大家一文读懂这个开源框架。以下为公众号文章主体内容,可直接与引言部分拼接。
龙哥导读:大家有没有想过,为什么手机上的语音助手总感觉比电脑上的“笨”一点?因为跑在手机上的模型必须足够小(小于40亿参数),而小模型(SLM,Small Language Model)天生在“调用工具”这件事上就比大模型弱一截。大模型记性好,你给几个例子它就能照着调用API(应用程序接口,即软件之间交互的接口);小模型没这个记性,只能靠训练数据“死记硬背”。所以小模型的工具调用能力怎么样,几乎完全取决于喂给它的数据有多好。如果数据本身是脏的、乱的,那训练出来的模型就像用劣质食材做菜——大厨(大模型)还能化腐朽为神奇,但小模型这口锅直接就糊了。龙哥一直强调,数据质量是小模型落地的胜负手。这一次,Amazon AGI带来的Data Turnstile框架,直接把这个痛点当成核心问题来解:它把一段复杂的“人机对话”拆成一张有向无环图,每个环节单独生成、单独验证、错了就重试,从而保证每一份训练数据都是“干净”的。用这套框架产出的数据去微调一个0.6B的小模型,单轮函数调用准确率直接干到75.9%,逼近7倍大的Qwen3-4B;在多轮电信客服任务上,1.7B的小模型甚至直接超越了32B的大家伙。图1:τ²-bench多轮结果:Turnstile数据训练的SLM零样本击败32B模型
小模型也能学会调用工具?Data Turnstile把数据质量做到了极致
先看一个有意思的现象。大模型(LLM,Large Language Model,大语言模型)天生就会调用工具,你给一个API列表,它能自己理解该用什么、怎么传参。但小模型不行。论文里明确指出,小模型推理能力弱、容量不够,无法像大模型那样通过“思考”自动纠正使用工具时的错误。对它们来说,唯一可靠的办法就是在高质量的监督数据上进行微调(SFT,Supervised Fine-Tuning,监督微调)。这个问题的麻烦之处在于:高质量的工具调用训练数据非常稀缺,而人工标注的成本高到离谱。市面上已有的开源数据集质量参差不齐,很多都包含错误的API调用、不自然的对话,甚至凭空捏造的参数。论文作者观察到,如果直接拿这些“脏”数据去微调小模型,效果甚至可能不如不用——本来还会点工具调用的小模型,被脏数据一教反而学坏了。对于这个困境,业界此前的两代方案各有短板:早期的端到端生成方法(如ToolBench)让LLM一次性生成一整段多轮对话——看似省事,其实质量失控,对话里API调用经常格式错乱、参数幻觉;后来的执行验证方法(如APIGen)倒是能保证正确性,但要求每个API都有真实的可执行后端,严重限制了适用范围。而现有方法普遍依赖ChatGPT等商业闭源大模型来生成数据,团队复现成本高、迭代很难。Data Turnstile的出现就是要把“数据生成”本身变成一道可控制的工业流水线,而不是依赖大模型“灵光一现”。核心思想一句话:不要求模型一步生成完美对话,而是把对话拆成可控步骤,每步独立生成、独立检查,错哪改哪。图2:Data Turnstile概览:按角色逐步生成,带逐步验证和错误反馈重试
核心思想:把“一段对话”拆成“一张DAG”
Data Turnstile最核心的抽象是“交互模板”(Interaction Template),本质是一个有向无环图(DAG,Directed Acyclic Graph,即有方向、无回环的图结构)。论文用数学形式定义如下:其中V是节点集合,每个节点对应一个“角色”(Role),也就是一个原子化的生成步骤;E是有向边,编码角色之间的依赖关系;Θ是额外的生成规格参数,比如API定义、用户画像、质量检查条件等。模板描述了交互的“骨架”(结构),但不限定具体“血肉”(内容)。同一个模板配合不同的参数Θ,就能产出大量结构相同但内容多样化的交互样本。论文定义了函数调用数据的五个角色:
[1] G. Ramakrishnan, M. Sharma. Data Turnstile: A Scalable Open Framework for Function-Calling Data Generation. arXiv preprint, 2026.[2] Qwen3 Technical Report. arXiv preprint, 2025.[3] BFCL: Berkeley Function Calling Leaderboard. https://gorilla.cs.berkeley.edu/leaderboard.html[4] τ²-bench: Evaluating Conversational Agentic Tool Use. https://github.com/sierra-research/tau2-bench[5] ToolBench: Open LLM Tool-Use Learning Benchmark. https://github.com/OpenBMB/ToolBench[6] APIGen: Automated API Data Generation. https://github.com/SalesforceAIResearch/AgentGen