メインコンテンツへスキップ

Claude Code のキャッシュミスと token コスト:1 回の turn が急に高く見える理由

A
10 分で読めますClaude Code

Claude Code の cache miss は独立した追加料金ではありません。経路、cache creation、cache read、直前の無効化要因、請求面をそろえてから判断します。

Claude Code のキャッシュミスと token コスト:1 回の turn が急に高く見える理由

Claude Code で cache miss や高い token コストが見えたとき、最初に探すべきものは「未命中という名前の追加料金」ではありません。多くの場合、再利用できるはずの prefix が安い cache read に乗らず、入力が再処理された、または cache creation として再度書き込まれたという意味です。モデルが生成した output tokens は、入力側のキャッシュとは別に通常どおり発生します。

2026 年 5 月 24 日時点の Anthropic の公開価格では、5 分の cache write は基本 input の 1.25 倍、cache read は 0.1 倍です。同じ token 量で見れば 1.25 / 0.1 = 12.5 になります。つまり 12.5x は「書き込みと読み取りの比較」であり、Claude Code が公式に定義した cache miss 罰金ではありません。

次に確認するのは経路です。その数字は Claude のサブスクリプション利用量なのか、API key の従量課金なのか、Agent SDK の推定値なのか、Bedrock、Vertex、Foundry、gateway の記録なのか。経路を決めずに /compact を打つ、モデルを変える、バグだと決める、という順番にすると証拠が壊れます。まず cache_creation_input_tokenscache_read_input_tokens、モデル、MCP、バージョン、時刻、請求面をそろえます。

まず見るもの:経路、フィールド、直前の変更

問い短い答え集める証拠
cache miss は別料金かいいえ。安い read が起きず、prefix が再処理または再書き込みされた状態です。同じ経路の cache creation と cache read。
なぜ 12.5x と言われるのか5 分 write は 1.25x、read は 0.1x。同量なら 1.25 / 0.1 = 12.5 です。Anthropic の価格表と usage フィールド。
最初に確認することどの経路の数字か。subscription、API key、SDK、cloud provider、gateway を混ぜないこと。/status/cost、Console、Usage and Cost API、provider invoice。
疑わしいパターン同じような turn で high creation、low read が続き、model、MCP、route、時間間隔が安定している。隣接 turn の比較、MCP 一覧、model、version、時刻。
先にやらないこと原因不明のまま compact、provider 変更、bug 断定をしないこと。まず prefix を変えた行動を特定します。

経路そのものが曖昧なら、先に Claude Code API key とサブスクリプション課金 を確認してください。MCP 定義や tool context が大きすぎるなら Claude Code MCP context overload が近い問題です。キャッシュミスは入力側の再利用に関する説明であり、限度額、プラン窓、プロバイダー請求の全体像を一つで解決するものではありません。

12.5x は write/read の倍率で読む

Claude API pricing は、通常 input、cache write、cache read、output を分けています。現在の公開説明では、5 分 cache write が 1.25x、1 時間 cache write が 2x、cache read が 0.1x です。

text
5-minute cache write / cache read = 1.25 / 0.1 = 12.5 1-hour cache write / cache read = 2.0 / 0.1 = 20

この式は同じ prefix の token 量を比較するときだけ意味があります。前回は read だったのに今回は write になった、あるいは read されると思った prefix が creation 側に出た、という読み方です。新しい会話、model の切り替え、MCP server の接続や切断、長い idle、Claude Code の更新、/compact の直後に一度 creation が増えることは、正常な説明で足りる場合があります。

コスト差が目立つのは prefix が大きいときです。長い会話履歴、プロジェクト context、tool result、MCP server definitions、subagent context、file pack、大きな system prompt が早い位置にあると、read できなかっただけで 1 turn が重く見えます。小さな miss はノイズかもしれませんが、大きな creation が似た turn で繰り返されるなら調査対象です。

token の分類帳:total だけでは原因が見えない

Claude Code cache creation と cache read token の分類帳

高い turn を total tokens だけで見ると、量はわかっても原因がわかりません。Claude Code の数字は token class に分けて読んだほうが安全です。

メーター意味使い方
通常 input tokensキャッシュから読まれず、モデルが直接処理した入力。キャッシュがない、または一部だけ一致した場合の基礎コスト。
cache_creation_input_tokensprompt cache に書かれた、または creation 側で処理された token。1 回の expected write は普通。連続 high creation が重要です。
cache_read_input_tokens既存 cache entry から読まれた token。read が高く creation が低ければ再利用は概ね効いています。
output tokensモデルが生成した返答。入力側キャッシュが効いても output は無料になりません。
subscription usageplan、seat、limit window、reset の使用量。API invoice と直接比較しないこと。
/cost と SDK cost fieldsローカルまたはクライアント側の推定値。傾向確認には便利ですが、正式請求より弱い証拠です。
Console、Usage and Cost API、provider invoiceその経路の権威ある請求面。最終的な金額確認や support packet に使います。

Agent SDK cost trackingtotal_cost_usdcostUSD を estimate として扱います。推定値は runaway session の早期発見には役立ちますが、最終的な請求証拠としては Claude Console、Usage and Cost API、provider invoice など経路ごとの公式面に戻ります。

経路が曖昧なときは、まず最小確認をします。

bash
claude /status /cost

/status は現在の account や route を見るため、/cost は API 風の費用監視に使うためのものです。請求を確定する証拠は、その run を生んだ経路に属します。

何が Claude Code のキャッシュを壊すのか

Claude Code の model MCP compact route 変更による cache invalidator matrix

Claude Code prompt caching の要点は prefix matching です。リクエストの早い位置が変わると、その後ろが似ていても以前の cache entry に一致しないことがあります。したがって、問題は「token が多い」だけでなく、「高い turn の直前に prefix の形が変わったか」です。

直前の行動リスク次に確認すること
model の切り替えspike 前後の model と timestamp を比較。
MCP server の接続/切断tool definitions が早い prefix を変える可能性。
tool 全体の denywhole-tool denial は available tool context を変えます。
/compactconversation context を書き換え、reuse を切ることがあります。
Claude Code の upgradeprompt shape や cache scope が変わる可能性。
provider、API route、gateway の変更cache scope と billing owner が変わります。
長い idle gapTTL が切れて次の read に間に合わない可能性。
subagent、fork、worktree、directory changecontext が path、process、agent scope で分かれる可能性。
ファイル編集低めcontext は増えますが、必ず早い prefix を壊すとは限りません。
output style や permission mode の変更低めtiming が一致する場合だけ記録します。
/recap や rewind低め便利な操作ですが、usage fields は確認します。

安全な解釈は控えめです。意味のある context change のあとに cache write が出るのは自然です。stable route、stable model、stable MCP setup、短い時間差、似た prompt shape でも high creation が続くなら、異常として扱う価値があります。

経路ごとの証拠を混ぜない

同じ Claude Code 作業でも、数字は別々の契約から来ることがあります。subscription login、API key、Agent SDK、cloud provider、gateway はどれも usage や cost を表示し得ますが、同じメーターではありません。

経路数字が意味し得るもの強い証拠
Claude subscription loginplan/seat usage、limit window、reset timing、included usage。Help Center の usage 説明、account status、/status、plan message。
Claude API key従量課金 API token billing。Claude Console、Usage and Cost API、project billing settings。
Agent SDKSDK message 由来の usage と cost estimate。SDK fields と Console/Usage and Cost API の照合。
Bedrock、Vertex、Foundryprovider 経由の model use、provider billing、cache support boundary。cloud provider invoice と route-specific logs。
Gatewaygateway usage と upstream pass-through behavior。gateway logs と可能なら upstream billing。

Claude Code costsHelp Center usage article は、subscription usage と API billing を分けるために重要です。subscription limit message で API spend を証明しないこと。SDK estimate で subscription seat の請求を証明しないこと。

実際の症状が limit window の中断なら、Claude Code rate limit または Claude Code rate limit reached を参照してください。cache math は入力側消費の説明であり、quota recovery 全体の代わりではありません。

修正の順序:小さく変えて次の turn で測る

Claude Code cache miss の修正階段と support packet

一度の高コスト turn を見て、すぐに全体の作業設計を変える必要はありません。1 つずつ変え、次の似た turn で測ります。

  1. 経路を特定する。 subscription usage、API key billing、SDK estimate、provider route、gateway route のどれか。
  2. cache fields を読む。 数回の似た turn で cache_creation_input_tokenscache_read_input_tokens を比較。
  3. invalidator を名付ける。 model、MCP、whole-tool denial、/compact、upgrade、provider、TTL、subagent、fork、worktree、directory scope。
  4. 早い prefix を安定させる。 同じ作業中に model や MCP setup を頻繁に変えない。
  5. 無関係な仕事は /clear で分ける。 関係ない context が早い位置に残るほど prefix は大きく不安定になります。
  6. /compact は自然な切れ目で使う。 会話が大きすぎるときは有効ですが、cache miss への最初の反応ではありません。
  7. 1-hour TTL は cadence で判断する。 write が高くなるため、後続 read が十分あるときだけ意味があります。
  8. 次の似た turn を検証する。 成功なら repeated creation が下がり、read が増えます。

同時に model 変更、MCP 削減、compact、gateway 変更をすると、下がった理由がわかりません。修正は小さく、証拠は同じ経路で比較します。

疑わしい spike の証拠セット

「cache bug かもしれない」という報告より、同じ経路と同じ context shape を比較できる証拠のほうが有用です。

証拠重要な理由
timestamp と timezoneusage record と invoice を合わせられます。
Claude Code versionupgrade は prompt shape を変える可能性があります。
modelmodel switch は高リスクの invalidator です。
active routesubscription、API key、SDK、provider、gateway を混ぜません。
MCP server list の前後connect/disconnect は早い prefix を変えます。
tool permission changeswhole-tool denial は tool context を変えます。
/compact/clear/recap、rewind historyconversation shape の解釈に関わります。
cache_creation_input_tokenscache_read_input_tokenswrite/read の中核証拠です。
似た hit/miss turn の比較単独スクリーンショットより強い証拠です。
billing surfaceConsole、Usage and Cost API、provider invoice、subscription usage。

context change の直後に 1 回 write が出た程度では、bug と呼ぶには弱いです。stable route、stable model、stable MCP setup、短い時間差、似た input shape でも high creation が繰り返されるなら、support packet としてまとめる価値があります。

よくある質問

Claude Code の cache miss は別料金ですか?

いいえ。再利用できる prefix が cache read で安く読まれず、再処理または再書き込みされた状態として読むのが安全です。別料金名を探すより、token class と route を確認してください。

なぜ 12.5x と言われますか?

Anthropic の現在の倍率では、5-minute cache write が 1.25x、cache read が 0.1x です。同じ token 量なら 1.25 / 0.1 = 12.5 になります。

cache miss を証明するフィールドはどれですか?

cache_creation_input_tokenscache_read_input_tokens から始めます。creation が高く read が低い場合、prefix が安く再利用されていない可能性があります。1 回より複数の似た turn の比較が重要です。

/compact は token コストを下げますか?

場合によります。大きすぎる conversation を自然な境界で縮めるには役立ちますが、context を書き換えるため cache reuse を切ることもあります。

1-hour TTL は使うべきですか?

route が対応し、後続 read が高い write multiplier を回収できるときだけです。長い TTL は自動的に安くなる機能ではありません。

/cost は Claude の請求書ですか?

いいえ。/cost や SDK cost fields は監視に便利な推定値です。最終証拠は Claude Console、Usage and Cost API、provider invoice、gateway record、または subscription usage surface です。

いつ cache bug を疑えますか?

timestamp、version、model、route、MCP setup、permission changes、cache fields、似た hit/miss turn、billing surface が同じ経路でそろったあとです。それ以前は普通の invalidation や TTL expiry のほうがよくあります。

Share:

laozhang.ai

One API, All AI Models

AI Image

Gemini 3 Pro Image

$0.05/img
80% OFF
AI Video

Sora 2 · Veo 3.1

$0.15/video
Async API
AI Chat

GPT · Claude · Gemini

200+ models
Official Price
Served 100K+ developers
|@laozhang_cn|Get $0.1