功能指南

Prompt 缓存

cache_control 或上游自动缓存压低重复输入的推理成本,并学会从响应的 usage 字段判断缓存是否命中。

开启提示词缓存可以降低推理成本:命中缓存的输入 token 按各模型的缓存价计费,低于普通输入价,具体价格见实时价格。GPT、Grok、Kimi、DeepSeek、GLM 由上游自动缓存,请求无需修改;Claude 只缓存标记了 cache_control 的内容,未标记的内容按普通输入价计费;Gemini 当前不返回缓存字段。CA 原样透传缓存参数,是否命中以响应的用量字段为准。

查看缓存用量

响应的 usage 中包含本次请求写入缓存与从缓存读取的 token 数,未命中时为 0 或不出现。若两个数始终为 0,说明缓存未开启,或内容短于模型的最低缓存长度。

Usage 字段

协议字段含义
Anthropicusage.cache_creation_input_tokens本次写入缓存的输入 token 数
Anthropicusage.cache_read_input_tokens本次从缓存读取的输入 token 数
Anthropicusage.cache_creation.ephemeral_5m_input_tokens / ephemeral_1h_input_tokens按缓存时长拆分的写入量
OpenAIusage.prompt_tokens_details.cached_tokens命中缓存的提示词 token 数

账单侧对应查询单次请求用量里的 cached_write_tokenscached_read_tokens

OpenAI

GPT 系列的缓存由上游自动处理,请求中无需任何参数。相同内容再次请求时,usage.prompt_tokens_details.cached_tokens 大于 0。

Grok

自动缓存,请求中无需任何参数。命中时 usage.prompt_tokens_details.cached_tokens 大于 0。

Moonshot Kimi

自动缓存,请求中无需任何参数。命中时 usage.prompt_tokens_details.cached_tokens 大于 0。

Anthropic Claude

Claude 只缓存标记了 cache_control 的内容。将其添加到 system 或消息内容块上,与 Anthropic 官方格式一致:

json
{
  "model": "claude-sonnet-5",
  "max_tokens": 256,
  "system": [
    { "type": "text", "text": "<很长的系统提示词>", "cache_control": { "type": "ephemeral" } }
  ],
  "messages": [{ "role": "user", "content": "你好" }]
}
没有 cache_control 的请求,cache_creation_input_tokenscache_read_input_tokens 始终为 0,全部输入按普通输入价计费。

最低 Token 要求

内容低于上游模型的最低缓存长度时不会被缓存:cache_creation_input_tokenscache_read_input_tokens 都为 0,请求照常成功。

DeepSeek

自动缓存,请求中无需任何参数。命中时 usage.prompt_tokens_details.cached_tokens 大于 0。

Z.AI GLM

自动缓存,请求中无需任何参数。命中时 usage.prompt_tokens_details.cached_tokens 大于 0,实测 glm-5.3glm-5.2 重复请求命中。

Google Gemini

Gemini 原生接口和 OpenAI 兼容接口的响应里都没有缓存字段,全部输入按普通输入价计费。

50 篇文档。文中出现的模型名与价格以模型广场的实时数据为准。