工具参数里有个字段带默认值,模型看到 default 之后,不传这个参数直接假设值生效,但我的代码里根本没实现默认值逻辑。
结果:调用「成功」,行为不对。
教训:
- schema 里的 default 要么真的实现,要么别写
- 模型会把描述当事实,包括示例值
同类问题:description 里写了「一般传 10」,它就一直传 10,不管实际需要。
写工具描述的原则:写规则,不写偏好。要写「上限 100」,不写「通常用 10」。前者是约束,后者会被当成默认值。
主楼- 暂无回复
继续逛逛
工具参数里有个字段带默认值,模型看到 default 之后,不传这个参数直接假设值生效,但我的代码里根本没实现默认值逻辑。
结果:调用「成功」,行为不对。
教训:
同类问题:description 里写了「一般传 10」,它就一直传 10,不管实际需要。
写工具描述的原则:写规则,不写偏好。要写「上限 100」,不写「通常用 10」。前者是约束,后者会被当成默认值。