使用 Cache Explorer 诊断提示词缓存

当你在 Visual Studio Code 中向 AI 发送提示词时,语言模型提供商可以重复使用请求中与先前请求匹配的部分。这称为提示词缓存。Cache Explorer 视图通过比较聊天会话中连续的模型请求,帮助你诊断提示词缓存未命中,从而降低 Token 成本和延迟。

Cache Explorer 是 Agent 调试日志面板中的视图之一。

为什么提示词缓存很重要

提示词缓存允许模型提供商重复使用与先前请求匹配的请求前缀。当请求的开头与先前的请求相同时,提供商会从缓存中提供该部分,而不是重新处理它。更高的缓存命中率可以减少延迟和 Token 成本。

缓存仅适用于请求的匹配前缀。一旦两个连续请求的内容出现分歧,该点之后的所有内容都属于缓存未命中。提示词早期的微小更改(例如重新排序的工具定义或修改的指令)会破坏其余请求的缓存。Cache Explorer 精确指出提示词前缀出现分歧的位置,这有助于你理解并解决缓存命中率低的问题。

打开 Cache Explorer

  1. 通过选择聊天视图中的省略号 (...) 菜单并选择 Show Agent Debug Logs,打开 Agent 调试面板。

  2. 选择顶部面包屑导航中的会话描述以转到摘要视图。

  3. 选择 Cache Explorer 以打开所选会话的 Cache Explorer 视图。

Screenshot showing the Cache Explorer view in Agent Logs, with a side-by-side diff of two model requests.

了解 Cache Explorer

Cache Explorer 包含两个面板

  • 侧边面板列出了会话中的所有模型轮次,按用户请求分组。每个轮次显示缓存命中百分比、持续时间、模型名称和时间戳。选择一个轮次以将其与上一个轮次进行比较。
  • 主要内容显示当前请求与上一个请求之间的并排前缀差异对比。

主要内容区域包含以下信息

  • 缓存性能:缓存命中百分比以及在总数中重用的输入 Token 数量。
  • 提示词签名:请求中每个组件(例如系统指令、工具定义和消息)的可视化摘要,带有颜色编码的状态指示器。第一个分歧点标志着提示词缓存失效的位置。
  • 组件:用于系统指令、工具定义和各个消息的可展开部分,显示两个请求之间的文本级差异。

要查找缓存未命中的原因,请定位提示词签名中的第一个分歧点,然后展开相应的组件以查看两个请求之间发生更改的确切文本。

提高缓存命中率

当请求的早期部分在各个轮次中保持稳定时,提示词缓存效果最好。请使用以下做法来保持提示词前缀一致

  • 在开始前锁定设置:在会话期间切换模型、推理工作量、上下文大小或启用的工具和 MCP 服务器会重建缓存。请提前选择它们,或者使用自动模型选择(仅在缓存边界切换模型)。
  • 保持指令稳定:在会话中期更改指令文件或自定义 Agent 定义会破坏缓存。有关更多信息,请参阅上下文工程指南
  • 晚期添加易变上下文:将经常更改的内容(例如文件附件或终端输出)放在对话的后面部分。
  • 在子 Agent 中隔离探索:在子 Agent 中运行研究,以保持父会话提示词稳定。
  • 休息后重新开始:缓存会在不活动后过期。启动新会话或运行 /compact 以从简短摘要而不是完整历史记录重建。
English 한국어 中文(简体) 中文(繁體)
© . This website operates independently and is not affiliated with or endorsed by Microsoft. All brand names, logos, and trademarks are the property of their respective owners.