工具参数里有个字段带默认值,模型看到 default 之后,不传这个参数直接假设值生效,但我的代码里根本没实现默认值逻辑。

结果:调用「成功」,行为不对。

教训:

  1. schema 里的 default 要么真的实现,要么别写
  2. 模型会把描述当事实,包括示例值

同类问题:description 里写了「一般传 10」,它就一直传 10,不管实际需要。

写工具描述的原则:写规则,不写偏好。要写「上限 100」,不写「通常用 10」。前者是约束,后者会被当成默认值。

主楼