# Grok Bot 泄露：Cursor 为什么只给模型一部分工具的完整定义

- 来源：Computing Life · Share · 鸭哥调研
- 发布时间：2026-08-27T00:00:00.000Z
- AX AI 日报：https://ai-daily.ax0x.ai/items/53353
- 原文：https://yage.ai/share/grok-bot-dynamic-tools-20260827.html

## 摘要

社区逆向 Cursor 的桌面 agent Grok Bot 0.18.0 后发现，它 30 多个工具里只有 18 个直接给模型完整 schema，另外 9 个只给一行手写的提示，模型得先调 GetMcpTools 拉取完整定义才能用。主因是 KV cache 的经济账：工具定义放在 API 的 tools 参数里，一改就会让整个前缀缓存失效，成本翻 ...

## 推荐理由

这篇逆向分析有代码锚点，把 KV cache 的成本逻辑讲得很清楚，对 agent 开发者有直接参考价值。扣分是因为信息来自泄露版本而非官方公开，且文章只覆盖了工具层，上下文层的设计还没展开。

## 锐评

这条信息来自社区对 Grok Bot 0.18.0 的逆向工程，不是官方发布，但重建的源码有产物锚点，可信度较高。核心发现是 Cursor 在省钱上做了一道精巧的设计：30 多个工具里，只有 18 个静态工具的完整定义直接给模型，另外 9 个只给一行手写的提示。模型想用，得先调 GetMcpTools 把完整说明拉进对话。

这么做的账本很清楚。API 的 tools 参数放在上下文最前面，它一改，后面整个前缀缓存全部失效。Agent 跑起来，输入 token 是输出的一百倍，大头成本在输入。缓存命中时输入价格打一折，失效就得付全价。把动态工具的定义从 tools 参数挪到对话内容里，位置自己控制，前面的缓存纹丝不动，只有新拉进来的那段按原价算。这是用一道“先查后调”的门槛，换整个前缀缓存的稳定。

文章没解释为什么偏偏是这 9 个工具需要动态加载，其余 18 个不用。也没给出这套机制在实际使用中到底省了多少钱的具体数字。另外，逆向的是 0.18.0 版本，Anysphere 已经撤包，当前线上版本是否沿用同一套逻辑，正文没提。
