发布时间:2026/8/2 6:48:51
Claude 如何减少 85% 工具 Token:Tool Search 如何在不破坏 Prompt Cache 和约束解码的情况下实现工具按需加载 随着 Agent 能力增强工具数量正在快速膨胀。一个简单的聊天 Agent 可能只有几个工具search() calculator() weather()但进入真实生产环境后一个企业级 Agent 往往需要接入GitHub MCPSlack MCPJira MCP数据库 MCP浏览器 MCP云服务 MCP内部业务系统 MCP最终可能拥有数百甚至上千个工具。问题来了这些工具的 schema 会占据大量上下文窗口。Anthropic 官方提出的 Tool Search就是为了解决这个问题。它可以让 Claude 在大量工具环境下减少超过 85% 的工具相关 token 消耗。但它真正优秀的地方不只是“少放一些工具描述”而是在上下文、Prompt Cache、约束解码三个层面同时优化。传统 Agent所有工具全部进入 Context传统 Tool Calling 模式Request: system prompt tools: tool_1 schema tool_2 schema tool_3 schema ... tool_1000 schema conversation模型每次请求都会看到完整工具定义。例如{name:database_query,description:Execute SQL query,input_schema:{properties:{operation:{enum:[select,insert,update]}}}}这些 schema 不只是文本。它们承担三个作用告诉模型有哪些工具告诉模型参数格式提供工具调用约束当工具数量增长1000 tools ↓ 几十万 tokens会产生Context 占用增加Prefill 成本增加KV Cache 增大Prompt Cache 容易失效模型选择工具难度增加Tool Search 的核心工具定义仍然存在但不进入模型上下文很多人第一次理解 Tool Search 会误解Anthropic 是不是不发送这些工具了不是。实际上请求中仍然包含tools:[github_search,mysql_query,slack_send,...]完整工具定义仍然发送给 Anthropic API。但是API 会把工具分成两部分tools array | | ---------------- | Tool Search Index | | Context Builder对于defer_loading:true的工具不会直接进入模型上下文。例如原来System Prompt github schema mysql schema slack schema 1000 tools Conversation变成System Prompt Tool Search Conversation模型一开始根本看不到大量工具 schema。找到工具后API 如何加载用户查询 GitHub issueClaude我需要 GitHub issue 工具调用tool_search(github issue)Tool Search 返回github_search_issue然后 API 自动插入tool_reference展开成github_search_issue 完整 schema进入后续 conversation。于是模型下一步才看到{name:github_search_issue,parameters:{...}}然后调用工具。最关键的问题Prompt Cache 会不会被破坏这是很多 Agent 架构容易踩坑的地方。如果简单实现第一次: System 所有工具 第二次: System 不同工具集合那么Prompt Cache 前缀直接失效。因为缓存要求prefix token 完全一致Anthropic 的设计Cached Prefix: System Prompt Tool Search Tool 固定工具 --------------------- Dynamic Context: tool_reference 展开后的工具 schema Conversation动态工具加载发生在 prefix 后面。因此缓存前缀保持稳定 ↓ Prompt Cache 继续生效这也是为什么 Tool Search 不是简单的“工具 RAG”。另一个隐藏问题工具 schema 还负责约束解码很多人只关注 token。但 Tool Schema 还有一个重要作用Constrained Decoding约束解码。例如工具{operation:{enum:[select,insert,delete]}}模型生成{operation:Decoder 可以限制允许select insert delete禁止hello abc random流程JSON Schema ↓ Grammar ↓ Logits Mask ↓ Decoder那么问题来了如果 deferred tool 不在 context 中Claude 怎么知道 enum答案Tool Search 并没有移除工具 schema。完整 tools array 仍然用于1. Tool Search Index 2. Strict Tool Grammar 3. Constrained Decoding也就是说同一个 schema 有三条路径Tool Schema | ------------------------- | | | Search Context Decoder Index Loading Grammar这就是 Anthropic 设计强大的地方它不是删除工具 schema而是延迟 schema 进入模型上下文为什么不是所有模型厂商都能直接复制这里有一个容易忽略的问题。很多人看到 Tool Search 后会想我是不是自己写一个 tool router把工具检索出来这并不完全等价。因为 Anthropic 有 API 层支持完整 tools array ↓ 服务器内部: - 建索引 - 管理 tool_reference - 构建 grammar - 保持 cache prefix如果模型厂商没有类似能力简单做Agent: 每轮动态修改 tools 只发送当前需要工具可能产生反效果。例如第一次System Tool A Tool B第二次System Tool C Tool D结果Prompt Cache miss每轮都重新 prefill。甚至为了减少tool token反而增加cache miss成本最终token下降 但 latency 上升 成本增加Tool Search 的本质不是减少工具而是分离三种职责优秀 Agent 架构应该把工具 schema 分成三个用途Tool Schema | ------------------------ | | | Search Index Context Decoder 找工具 给模型看 约束生成传统方式一个 schema 三个任务全部塞进 ContextTool Search一个 schema 三个系统分别使用对 Coding Agent 的启发未来 Coding Agent 的工具数量只会越来越多。例如Filesystem MCP Git MCP Browser MCP Database MCP Cloud MCP Issue MCP CI/CD MCP如果全部进入 Context工具 schema 很快成为主要 token 消耗。更合理的架构System Prompt | | Prompt Cache | Tool Search Index | User Intent | Retrieve Tool | Load Schema | Call Tool总结Claude Tool Search 看似只是一个“减少工具 token 的功能”但实际上解决的是 Agent 工程中的三个核心问题问题传统方式Tool Search工具 token全部加载按需加载Prompt Cache容易失效保持 prefix 稳定约束解码依赖 context schemaAPI 保留完整 schema所以它减少 85% 工具 token 的真正原因不是删除工具而是让工具 schema 不再同时承担 Context、搜索、解码三个职责而是在 API 层进行分离。这也是为什么类似设计不能简单复制到所有模型。如果底层 API 不支持 Tool Search、tool_reference 和 schema grammar 管理盲目动态修改工具列表很可能导致 Prompt Cache 频繁失效最终优化变成反优化。

相关新闻

2026/8/2 6:48:51

嵌入式MIPI DSI触摸屏驱动实战:从硬件连接到LVGL集成

1. 项目概述:7-DSI-TOUCH-C 是什么?最近在调试一块新的核心板,板载的显示屏接口是 MIPI DSI,触摸屏是 I2C 接口的电容屏。在 CubeMX 里配置引脚时,看到那个 “DSI_HOST” 和 “I2C2” 的标签,突然就让我想起…

2026/8/2 6:48:51

虚幻引擎射线检测实战:从原理到精准交互实现

1. 项目概述:射线检测在虚幻引擎中的核心地位在虚幻引擎(UE4/UE5)里做交互,尤其是涉及到从屏幕上那个小小的2D光标去“触碰”3D世界里某个具体的物体或位置时,射线检测(Raycast)绝对是你绕不开的…

2026/8/2 7:58:55

立创EDA专业版实战指南:从原理图到PCB设计全流程解析

1. 从零到一:为什么选择立创EDA专业版作为你的起点?如果你刚开始接触电子设计,或者是从Altium Designer、KiCad等其他工具转过来,面对“立创EDA专业版”这个名字,心里可能会犯嘀咕:这玩意儿靠谱吗&#xff…

2026/8/2 7:58:55

大模型推理部署实战:从Transformer原理到vLLM高效部署

1. 从“炸场”到“猜爹”:一场模型发布背后的技术狂欢最近几天,AI圈子里最热闹的话题,莫过于Pony AI(小马智行)旗下那个代号“Alpha”的新模型。官方没明说它具体是什么,只丢出一个“炸场”的形容词&#x…

2026/8/2 7:58:55

语义分割数据集制作全流程:从标注到VOC/COCO格式转换实战

1. 项目概述:为什么从数据集开始? 如果你刚接触语义分割,可能会觉得那些能精准识别出图像中每一个像素属于哪个类别的模型很酷。但在我带过的新人里,十个有九个会栽在第一步:数据集上。大家往往兴致勃勃地打开PyTorch或…

2026/8/2 7:53:54

南京信息工程大学《大学物理(下)》习题册及答案 PDF

南京信息工程大学《大学物理(下)》习题册及答案 PDF 包括: 第 11 章 静电场 第 12 章 静电场中的导体和电介质 第 13 章 电流和稳恒磁场 第 14 章 电磁感应 第 16 章 光的干涉 第 17 章 光的衍射 第 19 章 早期量子论和量子力学基础南京信息工…

2026/8/2 0:02:18

如何用免费工具突破游戏窗口限制:SRWE完整使用指南

如何用免费工具突破游戏窗口限制:SRWE完整使用指南 【免费下载链接】SRWE Simple Runtime Window Editor 项目地址: https://gitcode.com/gh_mirrors/sr/SRWE 你是否遇到过这样的困扰?想为心爱的游戏截图,却发现游戏不支持自定义分辨率…

2026/8/2 0:02:18

如何用免费工具突破游戏窗口限制:SRWE完整使用指南

如何用免费工具突破游戏窗口限制:SRWE完整使用指南 【免费下载链接】SRWE Simple Runtime Window Editor 项目地址: https://gitcode.com/gh_mirrors/sr/SRWE 你是否遇到过这样的困扰?想为心爱的游戏截图,却发现游戏不支持自定义分辨率…

2026/8/2 1:52:02

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/1 0:03:49

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/1 0:03:49

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…