提示词缓存
最佳实践与常见问题解答
最佳实践
始终设置
x-grok-conv-id(对于 Responses API 使用prompt_cache_key)— 将请求路由到同一服务器,最大化缓存命中率。使用稳定的会话 ID — UUID 或您应用程序的会话 ID 效果良好。
永不修改早期消息 — 只追加新消息。任何编辑、删除或重新排序都会破坏缓存。
前置静态内容 — 将系统提示、少样本示例和参考文档放在开头,形成稳定的前缀。
监控
cached_tokens— 如果持续为 0,请验证您的会话 ID 和消息顺序。优雅地处理缓存未命中 — 淘汰和路由意味着不能保证缓存命中。您的应用程序应在没有缓存的情况下也能工作。
支持的模型
提示词缓存适用于所有 grok 语言模型。有关哪些模型支持缓存及其特定缓存令牌定价的详细信息,请查看 定价 页面。
常见问题解答
缓存是否影响输出质量?
不会。缓存仅加速提示词处理阶段。无论提示词是从缓存中提供还是从头计算,模型的输出都是相同的。
缓存条目能持续多久?
由于服务器负载或重启,缓存条目可能随时被淘汰。使用 x-grok-conv-id 通过路由到同一服务器来最大化保留时间。
我能否强制缓存未命中?
可以 — 使用不同的 x-grok-conv-id 或完全省略该标头。这会将您的请求路由到可能不同的服务器,其中没有针对您提示词的缓存。
缓存是否适用于流式传输?
是的。提示词缓存同时适用于流式和非流式请求。流中的第一个空令牌对应于缓存查找和预填充阶段。
缓存是否适用于工具调用和函数调用?
是的。可缓存的前缀包括所有消息,直到并包括工具调用结果。只要前缀保持不变,后续请求将受益于缓存。