工具调用依赖"工具 Schema":开发者为每个工具提供名称(须匹配 ^[a-zA-Z0-9_-]{1,64}$)、功能描述、输入参数(JSON Schema),模型据此理解可用能力。
运行流程为:模型根据目标与上下文判断是否需外部信息或动作 → 输出结构化工具调用请求(含参数) → 执行环境调用真实工具 → 将结果以"观察"形式回填上下文 → 模型基于结果继续推理直至给出最终答复。
工具定义本身会消耗上下文,且数量过多会显著降低选择准确率。实践中的有效手段包括:工具搜索与渐进式发现(按需加载而非全量注入)、程序化工具调用(让模型写代码解析大体积返回结果)、以及为复杂工具提供示例输入(Tool Use Examples)。
由于工具返回结果往往占据大量上下文,工程上应让工具只返回高信号信息:返回语义化、稳定的标识符(如 slug、UUID)而非不透明的内部引用,并且只包含模型推理下一步真正需要的字段。