结论:基础预训练不自带工具调用 / JSON Schema 能力;商用模型(如 GPT-4o)是做过专项训练;开源模型可通过微调补上;推理时还可配合约束解码强保格式

下面分训练、推理、工程落地三部分讲清楚。


一、预训练:不会天然支持

普通预训练(Next Token Prediction)只学文本续写,不懂工具调用协议,也不懂 JSON Schema 规范

  • 见过 JSON 文本,但没学过 “按 Schema 生成”“用指定格式发起函数调用”
  • 没学会 “何时调用工具、选哪个工具、怎么填参数”
  • 直接用:会说 “我需要查天气 API”,而不是输出合法tool_calls JSON

二、商用模型(OpenAI):必须专项训练

GPT-3.5/4/4o 的Tools+JSON Schema 能力是训出来的,分三步:

1. 监督微调 SFT(教格式)
  • 数据:大量对话 + 工具定义 + 标准 tool_call JSON + 工具结果 + 最终回答的完整样本
  • 目标:学会
    • 看懂tools里的函数名、描述、参数 Schema
    • 输出严格符合 JSON Schematool_calls(含 id、name、arguments)
    • 多轮、并行调用格式正确
2. RLHF/RLVR(教决策)
  • 解决 SFT 后的 “滥用工具” 问题(如 1+1 也调计算器)
  • 奖励信号:
    • 格式正确(JSON 合法、Schema 匹配)
    • 决策正确(该调用才调用,选对工具)
    • 结果有用(工具返回后能生成正确回答)
3. 结构化输出专项(strict: true)
  • 针对强 Schema 约束(如嵌套对象、enum、必填字段)做额外训练
  • 目标:开启strict: true100% 符合 Schema,无幻觉字段、类型错误、缺失必填项

三、开源模型:可训可不训(两条路)

1. 不训练:纯推理约束(弱到中)
  • 提示工程:System Prompt 写死工具格式 + Schema + 示例
  • 后处理:正则 / JSON 校验,错了重试
  • 约束解码(部分框架支持):生成时按 Schema 做 FSM 状态机,只允许合法 token
  • 缺点:复杂 Schema / 多轮调用易崩,稳定性差
2. 轻量微调(推荐,强)
  • 1 万~5 万条工具调用样本做 LoRA 微调(成本低,单卡几小时)
  • 数据:合成或开源工具调用数据集(如 ShareGPT-FuncCall)
  • 效果:接近 GPT-3.5 的工具调用 + JSON Schema 遵循能力

四、推理时的 “双保险”

即使训过,生产环境仍要加:

  1. 服务端约束解码(OpenAI/Anthropic/ 部分开源框架):strict: true时,生成阶段强制按 Schema 走,不合法 token 直接屏蔽,100% 合法
  2. 客户端校验拿到arguments后用 JSON Schema 校验,失败则重试或告警

五、一句话总结

  • 无训练:只能靠提示 + 后处理,复杂场景不稳
  • 商用模型:SFT+RLHF + 结构化专项训练,开箱即用强能力
  • 开源模型:LoRA 微调性价比最高;推理配合约束解码更稳

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐