Claude 缓存

Claude Token 缓存命中与计费

按 usage 字段分别核对普通输入、缓存创建和缓存读取,不按总上下文一刀切。

由 Claude Agent 技术团队 维护 · 发布于 2026-07-14 · 更新于 2026-09-05

三个输入字段

字段含义计费口径
input_tokens未命中缓存的普通输入按普通输入倍率
cache_creation_input_tokens本次新写入缓存的输入按缓存创建倍率
cache_read_input_tokens本次从已有缓存读取的输入按缓存读取倍率

总上下文很大不等于每次都按完整普通输入计费。应以当次响应 usage 和控制台日志中的三个字段分别核对。

示例

假设请求上下文为 100,000 tokens,其中 90,000 命中缓存:普通输入只计算未命中的 10,000,另外 90,000 按缓存读取倍率计算。如果前缀发生变化导致未命中,则对应内容会重新进入普通输入或缓存创建。

提高命中率

  • 保持 system prompt 和历史前缀稳定。
  • 把频繁变化的内容放在请求后部。
  • 核对上游返回的缓存字段,不用总输入量反推账单。

常见问题

缓存读取会不会按完整输入计费?

不会。缓存读取和普通输入是不同 usage 字段,并按各自倍率计算。

为什么有时重新产生缓存创建?

系统前缀变化、缓存过期或路由变化都可能导致重新写入。