内容提要
普华永道研究对比JSON与程序化工具调用(PTC)范式,基于BFCL v4基准测试14个模型。PTC在长链任务领先18.8%,并行扇出和上下文污染场景更优,但宏平均略低。优势随模型代际分化,GPT-5.6收益最大。PTC以固定输入开销换取长链与高扇出收益,但存在样本量小等局限。
延伸解读
PTC 优势的适用边界
PTC 并非全面优于 JSON 范式,其收益集中在长链任务(12 步以上领先 18.8%)、高并行扇出(N=100 仍保持 100% 枚举准确率)和上下文污染场景(平均提升 5.5%)。但在短链任务中两者无显著差异,且全模型宏平均上 PTC 反而略低(77.0% vs 78.6%),主要受旧模型并行类别编码失败拖累。因此,PTC 更适合复杂、多步骤或高并发的工具调用场景,简单任务未必需要。
成本与收益的权衡
PTC 以固定输入开销换取长链与高扇出收益:链式消融中 PTC 输入 token 为 JSON 的 1.5 倍,但高扇出时开销反转;输出 token 无差异。这意味着在长链或高扇出任务中,PTC 可能更经济,但在短链或低扇出场景,JSON 范式更省 token。开发者需根据实际任务特征选择范式,避免盲目采用 PTC。
模型代际差异显著
PTC 的优势随模型代际分化,而非厂商:GPT-5.6 家族收益最大(绝对提升 4.2% 至 10.6%),而三个旧模型(GPT-4o、GPT-4.1、GPT-5.4-mini)未达持平线。这表明 PTC 的适用性依赖于模型对代码生成和程序化调用的能力,旧模型可能因代码能力不足而无法发挥 PTC 优势。选择 PTC 时需考虑模型代际,新模型更可能受益。
基准局限与解读注意
BFCL v4 使用 echo-return stub,仅测参数序列化准确率,非端到端执行正确性;消融样本量小(每条件 n=31–52),单模型结果置信区间宽,只有跨模型聚合模式可可靠解读。因此,论文结论应视为趋势性参考,而非精确性能指标。实际应用中需结合真实 API 执行测试,并注意 PTC 的固定输入 token 开销。
Q&A
论文《工具调用的苦涩教训》比较了哪两种工具调用范式?
论文比较了JSON tool calling(模型输出JSON函数调用)和programmatic tool calling(PTC,模型写Python代码调用类型化stub)两种范式。
PTC在哪些场景下表现优于JSON tool calling?
PTC在长链任务(链条长度12步以上时领先18.8%)、并行扇出(N=100时仍保持100%枚举准确率)和上下文污染(平均绝对提升5.5%)场景下表现更优。
为什么PTC在长链任务中表现更好?
因为JSON范式每个环节多一次推理回合,往返开销随链条累积,而PTC在一段程序内完成全部调用,减少了往返开销。
PTC在宏平均上表现如何?为什么?
PTC在宏平均上略低(JSON 78.6% vs PTC 77.0%),主要原因是三个OpenAI旧模型在并行类别的\n编码失败。
PTC的成本开销是怎样的?
在链式消融中,PTC输入token为JSON的1.5倍,但高扇出时开销反转;输出token无差异。PTC以固定输入开销换取长链与高扇出收益。
论文使用了什么基准和模型?
论文使用伯克利函数调用基准(BFCL)v4,选取309条代表性子集和8个任务类别,覆盖2024年11月至2026年7月发布的14个模型。
论文的局限性有哪些?
论文的局限性包括:使用echo-return stub(不执行真实API)、消融样本量小(每条件n=31–52)、PTC的固定输入token开销。