经过大量实验,我发现内置的 tags 工具也出现了同样的错误,所以我的自定义工具没有问题。所有接受参数的工具都能正常工作。tags 和我的自定义工具的共同点是它们都不接受任何参数。
我相信机器人需要非常智能才能调用一个不带参数的函数。gpt-4o 能够毫无问题地使用这些工具。但 flash 1.5 和 2.0 以及 haiku 总是失败。Sonnet 通常会失败,但有一次成功了。
错误总是以下之一:
或者:
空字符串不是有效的 JSON 字符串。
我的感觉是,机器人不确定该传递什么给一个不带参数的函数——null?空字符串?空对象?空 JSON {}?
