工具定义

工具定义是向模型说明工具名称、用途和输入模式的信息;只有客户端将其包含在请求中时才计为输入 token。

模型必须先知道某个工具,才能决定调用它,因此请求中需要描述可用工具。在 Claude API 中,每项描述是 tools 参数中的一条记录,包含 name、自然语言 description,以及用 JSON Schema 编写的 input_schema。模型根据请求内容和描述选择何时调用工具。

这些内容都计入输入。Anthropic 的价格说明把工具名称、描述和模式算作输入 token。只要使用工具,API 还会加入一段工具使用系统提示词;截至 2026 年 9 月,Claude Opus 5.5 上为 286 token。Anthropic 提供的工具也有自身定义,后续调用及结果另外计费。

在代理中,内置工具、MCP 服务器和插件都可能贡献定义。未使用的工具是否占用上下文取决于客户端:有些会预先载入详细模式,另一些会延后加载。截至 2026 年 9 月,Claude Code 默认延后 MCP 工具定义,Codex 也可通过工具搜索延后发现 MCP 工具。

定义还位于提示缓存的最前端。Anthropic 按工具、系统提示词、消息的顺序缓存前缀。因此,在两次请求之间增删或修改工具,会使后续已缓存部分失效,下一次请求须重新处理那段上下文。

← 全部术语