一次工具调用的四步与三方分工 第一步宿主把工具声明放进请求;第二步模型生成工具名与参数;第三步运行时校验权限后执行;第四步结果回填上下文,模型继续。每一步的失败方式不同。 ONE CALL, FOUR STEPS STEP 1 声明进请求 名称、说明、参数结构 STEP 2 模型选工具填参数 返回工具名与一组键值 STEP 3 运行时校验后执行 结构、权限、副作用 STEP 4 结果回填 模型据此决定下一步 WHO ACTS 宿主组装请求 · 模型做选择 · 运行时持执行权 · 环境返回真实状态 · 宿主再把它放回上下文 WHERE EACH STEP BREAKS 选错 声明里没说清什么时候用, 或与别的工具区分不开。 填错 结构不合法,或语义填偏: 查询词太宽、路径指错文件。 被静默改掉 工具悄悄修正了参数, 模型看到的世界与执行的世界不一致。 读错 返回是一段长文本, 或截断了但没说。 四步里只有第三步与第四步是工具自己的责任;前两步的问题出在声明与描述上,改执行代码解决不了。 模型看不到函数体,它看到的是第一步那份声明。设计的对象就是这份声明与第四步那份返回。