小模型拦截多余工具调用,效果因Agent而异
Whetherman使用微调后的FunctionGemma-270M,在模型调用前判断是否保留工具、直接回答、澄清或拒绝,故障时默认放行。作者发现Agent会在无需工具的任务上调用工具,但标题也指出该干预对最强模型产生反效果。
原文暂未完整获取,基于公开信息的快读
为了减少 Agent 多余的工具调用,作者开发了 Whetherman:用微调后的 FunctionGemma-270M,在请求到达主模型前判断是否保留工具。结果却没带来预期收益:参与测试的三个 Agent 都没有变得更好,大模型表现下降,另外两个基本持平。这次实验更有价值的发现,是工具是否必要,取决于使用它的 Agent。
目前能确认什么
作者给 gpt-oss-120b 提供了 161 道它能稳定独立回答的任务,它仍在其中 69 道上调用了工具。工具调用通常会增加模型往返、token 消耗和等待时间,因此作者尝试在前面加一道判断。
Whetherman 是兼容 OpenAI 接口的代理,输出四种决策:保留工具、直接回答、澄清或拒绝。后三种会移除工具并添加指令,仍由主模型作答。判断信心不足或路由器故障时,默认放行。
它还会针对每个 Agent 单独校准。原因很具体:同一道算术题,大模型能直接算对,小模型却需要计算器。把大模型的配置交给小模型后,后者在 150 道任务中,比不加拦截多失败了 32 道。
移除工具也会产生额外成本。作者观察到,gpt-oss 的输出 token 增加约 60%,还尝试调用已被移除的工具 20 次。
我的判断
减少工具调用次数,不能直接算作优化成功。
在 Agent 确实能独立完成的数学、代码、素数类任务中,拦截把调用从 18 次降到 6 次,且没有损失完成的任务数。但其他任务里,一次错误拦截造成的损失,可能超过省下的调用成本。
对开发者而言,值得验证的是自己所用模型在哪些任务上能稳定脱离工具,而不是直接复用别人的拦截阈值。
现有节选没有给出三个 Agent 的完整结果,也不足以确认加入路由后,端到端耗时和总 token 是否下降。故障默认放行只能处理路由器出错;路由器自信地做错判断,仍会伤害任务成功率。