使用 Cache Explorer 诊断提示词缓存
当你在 Visual Studio Code 中向 AI 发送提示词时,语言模型提供商可以重复使用请求中与先前请求匹配的部分。这称为提示词缓存。Cache Explorer 视图通过比较聊天会话中连续的模型请求,帮助你诊断提示词缓存未命中,从而降低 Token 成本和延迟。
Cache Explorer 是 Agent 调试日志面板中的视图之一。
为什么提示词缓存很重要
提示词缓存允许模型提供商重复使用与先前请求匹配的请求前缀。当请求的开头与先前的请求相同时,提供商会从缓存中提供该部分,而不是重新处理它。更高的缓存命中率可以减少延迟和 Token 成本。
缓存仅适用于请求的匹配前缀。一旦两个连续请求的内容出现分歧,该点之后的所有内容都属于缓存未命中。提示词早期的微小更改(例如重新排序的工具定义或修改的指令)会破坏其余请求的缓存。Cache Explorer 精确指出提示词前缀出现分歧的位置,这有助于你理解并解决缓存命中率低的问题。
打开 Cache Explorer
-
通过选择聊天视图中的省略号 (...) 菜单并选择 Show Agent Debug Logs,打开 Agent 调试面板。
-
选择顶部面包屑导航中的会话描述以转到摘要视图。
-
选择 Cache Explorer 以打开所选会话的 Cache Explorer 视图。

了解 Cache Explorer
Cache Explorer 包含两个面板
- 侧边面板列出了会话中的所有模型轮次,按用户请求分组。每个轮次显示缓存命中百分比、持续时间、模型名称和时间戳。选择一个轮次以将其与上一个轮次进行比较。
- 主要内容显示当前请求与上一个请求之间的并排前缀差异对比。
主要内容区域包含以下信息
- 缓存性能:缓存命中百分比以及在总数中重用的输入 Token 数量。
- 提示词签名:请求中每个组件(例如系统指令、工具定义和消息)的可视化摘要,带有颜色编码的状态指示器。第一个分歧点标志着提示词缓存失效的位置。
- 组件:用于系统指令、工具定义和各个消息的可展开部分,显示两个请求之间的文本级差异。
要查找缓存未命中的原因,请定位提示词签名中的第一个分歧点,然后展开相应的组件以查看两个请求之间发生更改的确切文本。
提高缓存命中率
当请求的早期部分在各个轮次中保持稳定时,提示词缓存效果最好。请使用以下做法来保持提示词前缀一致
- 在开始前锁定设置:在会话期间切换模型、推理工作量、上下文大小或启用的工具和 MCP 服务器会重建缓存。请提前选择它们,或者使用自动模型选择(仅在缓存边界切换模型)。
- 保持指令稳定:在会话中期更改指令文件或自定义 Agent 定义会破坏缓存。有关更多信息,请参阅上下文工程指南。
- 晚期添加易变上下文:将经常更改的内容(例如文件附件或终端输出)放在对话的后面部分。
- 在子 Agent 中隔离探索:在子 Agent 中运行研究,以保持父会话提示词稳定。
- 休息后重新开始:缓存会在不活动后过期。启动新会话或运行
/compact以从简短摘要而不是完整历史记录重建。