"Token-efficient tool use" 是 Anthropic 在工具调用里提出的一个关键优化方向,尤其是在 Claude Code/Claude Agent SDK 。简单说,它是指 在调用外部工具时,尽量减少无谓的 token 消耗,同时保持任务完成的可靠性和覆盖度。
大模型调用外部工具时,需要:
- 把上下文转成 prompt 传给模型。
- 把工具调用的输入/输出 包装到 prompt 或结果里再交给模型处理。
这些步骤往往会产生很多额外 token 消耗。例如:
- 如果直接把整段长日志/大文件塞进上下文,会造成巨额 token 使用。
- 工具输出如果不做摘要,原样回传,也会挤占上下文。
Claude 的做法
Claude 在"token-efficient tool use"上做了几类优化:
-
工具调用的上下文裁剪与摘要
- 不是盲目把原始结果塞进 prompt,而是先用 grep/tail 等轻量脚本提取相关片段,或者先用小模型做 summarization,再把精简过的结果传回 Claude。
-
分块与按需加载
- 例如面对一个大文件,Claude 会决定只加载开头/结尾的若干行,或者用 semantic index 按需检索,而不是一次性全读。
-
延迟解析与流式交互
- Claude 会先发起最小化的工具调用,如果结果不足,再逐步扩展。这比"一口气加载所有内容"更省 token。
-
结果封装格式的优化
- 工具返回的数据通常会用紧凑的 JSON 或表格结构,而不是长篇自然语言,便于 Claude 在后续 prompt 中高效使用。