开启提示词缓存可以降低推理成本:命中缓存的输入 token 按各模型的缓存价计费,低于普通输入价,具体价格见实时价格。GPT、Grok、Kimi、DeepSeek、GLM 由上游自动缓存,请求无需修改;Claude 只缓存标记了 cache_control 的内容,未标记的内容按普通输入价计费;Gemini 当前不返回缓存字段。CA 原样透传缓存参数,是否命中以响应的用量字段为准。
查看缓存用量
响应的 usage 中包含本次请求写入缓存与从缓存读取的 token 数,未命中时为 0 或不出现。若两个数始终为 0,说明缓存未开启,或内容短于模型的最低缓存长度。
Usage 字段
| 协议 | 字段 | 含义 |
|---|---|---|
| Anthropic | usage.cache_creation_input_tokens | 本次写入缓存的输入 token 数 |
| Anthropic | usage.cache_read_input_tokens | 本次从缓存读取的输入 token 数 |
| Anthropic | usage.cache_creation.ephemeral_5m_input_tokens / ephemeral_1h_input_tokens | 按缓存时长拆分的写入量 |
| OpenAI | usage.prompt_tokens_details.cached_tokens | 命中缓存的提示词 token 数 |
账单侧对应查询单次请求用量里的 cached_write_tokens 与 cached_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 官方格式一致:
{
"model": "claude-sonnet-5",
"max_tokens": 256,
"system": [
{ "type": "text", "text": "<很长的系统提示词>", "cache_control": { "type": "ephemeral" } }
],
"messages": [{ "role": "user", "content": "你好" }]
}cache_control 的请求,cache_creation_input_tokens 与 cache_read_input_tokens 始终为 0,全部输入按普通输入价计费。最低 Token 要求
内容低于上游模型的最低缓存长度时不会被缓存:cache_creation_input_tokens 与 cache_read_input_tokens 都为 0,请求照常成功。
DeepSeek
自动缓存,请求中无需任何参数。命中时 usage.prompt_tokens_details.cached_tokens 大于 0。
Z.AI GLM
自动缓存,请求中无需任何参数。命中时 usage.prompt_tokens_details.cached_tokens 大于 0,实测 glm-5.3 与 glm-5.2 重复请求命中。
Google Gemini
Gemini 原生接口和 OpenAI 兼容接口的响应里都没有缓存字段,全部输入按普通输入价计费。