跳转到内容

提示词缓存

当多次请求共享相同的长前缀(固定 system 提示、长文档、代码库上下文)时,提示词缓存可让重复部分以更低价格计费,并加快响应。

  • 缓存按前缀匹配:只有从开头开始完全一致的部分才会命中。
  • 命中部分按 cached_input 价格计费(通常显著低于普通输入价)。
  • 缓存有有效期,长时间不复用会失效,需重新建立。

OpenAI 兼容接口在满足长度阈值时自动尝试缓存,无需额外参数。命中情况体现在响应 usage 的缓存相关字段中。

Anthropic 兼容接口需显式用 cache_control 标记要缓存的内容块:

{
"model": "claude-sonnet-4-5",
"max_tokens": 1024,
"system": [
{
"type": "text",
"text": "(很长的固定指令 / 文档……)",
"cache_control": {"type": "ephemeral"}
}
],
"messages": [{"role": "user", "content": "基于以上内容回答……"}]
}

同一会话的多轮请求最好命中同一上游,以复用缓存。可通过在请求间传递一致的会话标识 / 请求 ID 来提升路由稳定性(具体头部以控制台说明为准)。

  • 不变内容放前面(system、长文档),把变化内容放后面(用户最新提问),以最大化前缀命中。
  • 前缀越长、复用越频繁,省得越多;一次性请求无需缓存。