五厂面经真题集美团面经高频Function CallingSFTRLHF训练速答 · 约 6 分钟更新 2026-09-28

大模型的工具调用能力是怎么训练出来的?

一句话结论

预训练语料里没有结构化调用样本、学不会;靠两个阶段:SFT 喂全场景的工具调用对话学会「怎么调」,RLHF 用偏好信号学会「什么时候不该调」,一句话——SFT 教会怎么调,RLHF 教会什么时候调。

先这样答

先说为什么预训练学不会。预训练的目标是预测下一个 token,语料是互联网文本,里面没有「给定工具描述、输出标准调用 JSON」这种成对样本。没训练过的模型遇到查天气的问题,只会输出「我需要查询天气」这句自然语言描述,而不是可被程序解析的调用请求——描述意图和输出结构化请求是两回事。

所以能力靠两个阶段补。第一阶段 SFT:喂大量包含工具调用的完整对话样本,每条覆盖工具定义、用户问题、模型应输出的结构化调用、工具执行结果、最终答案。数据要覆盖全场景:单工具调用、多工具并行、调用失败与重试、不需要工具直接回答、多轮对话中的调用,缺一类就在对应场景翻车。

第二阶段 RLHF:SFT 之后模型容易过激,什么问题都想调工具,用户问一加一也去调计算器。用人类偏好标注训练奖励模型,再用强化学习调整,让模型建立「能直接回答的直接回答,需要实时数据才调工具」的边界感。

面试官会怎么追问

  • 「训练数据从哪来?」 三个来源按场景配比:真实调用日志回灌(最真但量少)、人工构造的合成样本(可控但要带验收标准)、开源工具调用数据集清洗(量大要质检)。
  • 「调用失败重试的样本长什么样?」 对话里包含失败的调用结果和模型的合理反应:换参数重试、换工具、或向用户澄清,让模型学会失败不是死循环。
  • 「不训练能凑合吗?」 能用提示词加少样本示例让强模型输出调用格式,但稳定性和边界感不如专项微调,高频生产场景通常还是微调过的模型。

回答的坑

答「参数量够大涌现出来的」。涌现说的是理解推理能力,结构化调用输出是训练出来的行为模式,混为一谈直接挂。

只讲 SFT 不讲 RLHF,「该不该调」这个边界感是必追的点。

—— 本题完 ——