TokenSave logo TokenSave

Claude Code キャッシュは1時間:休憩後は507%高い

Jonhisking · 2026年10月20日

Claude Code キャッシュは1時間:休憩後は507%高い

Claude Code でしばらく作業してから昼休みに入り、戻ってメッセージを送ると、最初の返事がやけに遅く、使用量もぐっと減っている。そんな経験をした人は多いはずです。原因としてよく挙げられるのがプロンプトキャッシュです。Claude Code のキャッシュは一定時間が過ぎると消え、そのあとの最初のメッセージは会話全体を処理し直す必要があります。

ところが、その「一定時間」が何分なのかは記事によって違います。5分という記事もあれば、1時間という記事もあります。2026年4月には、キャッシュの有効時間が1時間から5分に縮んだというユーザーの分析が出て話題になり、Anthropic はメインの会話には1時間のキャッシュを使っていると答えました。キャッシュが切れると費用が大きく跳ね上がるという記事もありますが、実際に測った数字はなかなか見つかりません。

そこで、実際に待ってみました。同じゲームを作らせたあと、休憩時間を0分から65分まで変えて同じ修正を頼み、そのメッセージがキャッシュをどれだけ読み、どれだけ書いたか、費用はいくらだったかを比べました。測定日は2026年10月20日、Claude Code 2.1.295 と Claude Opus 5.5 を使いました。

🧮 エージェント費用計算機を開く →

どうやって測ったか

サブスクのプランでログインした Claude Code を、ヘッドレスモード(-p)で動かしました。モデルは Opus 5.5、effort は medium、MCP サーバーはつないでいません。まず「キーボードとマウスで遊べるブロック崩しゲームを index.html 1つで作って」と頼み、ゲームを作らせます。そのあと決めた時間だけ待ってから、同じ会話を続けて(--resume)「ボールを赤く、少し速くして」という小さな修正を頼みました。

休憩時間は0分、4分、6分、15分、30分、55分、65分の7通りです。キャッシュが5分なら4分と6分の間で、1時間なら55分と65分の間で、費用が急に跳ね上がるはずです。休憩時間ごとに別のセッションを開いて1分以内に一斉にスタートし、同じ実験を2回行いました。トークン数は Claude Code が残すモデル呼び出しごとの使用量の記録から、費用は結果と一緒に返る API 定価換算の金額(total_cost_usd)から取っています。金額は1ドル=158円で換算し、円を先に、ドルを括弧に書いています。

結果:55分までは変わらず、65分で+507%

結果:55分までは変わらず、65分で+507%: 休憩時間, キャッシュから読み込み, キャッシュに新しく書き込み, 次のメッセージの費用, キャッシュ

休憩後に送ったメッセージの最初のモデル呼び出しで、キャッシュから読んだトークンと新しく書いたトークン、そしてそのメッセージ全体の費用です。2回測った平均です。

休憩時間 キャッシュから読み込み キャッシュに新しく書き込み 次のメッセージの費用 キャッシュ
0分 41,436 496 約6.2円($0.039) 有効
4分 43,232 466 約6.6円($0.042) 有効
6分 42,440 496 約6.6円($0.042) 有効
15分 43,076 502 約6.5円($0.041) 有効
30分 42,636 494 約6.8円($0.043) 有効
55分 43,183 502 約6.8円($0.043) 有効
65分 15,925 27,460 約40.0円($0.253) 期限切れ

55分までは何も変わりませんでした。 0分休んでも55分休んでも、最初の呼び出しは約4万3千トークンをキャッシュから読み、新しく書いたのは数百トークンだけでした。メッセージの費用も平均$0.042で同じです。

65分休むと、キャッシュの期限が切れていました。 最初の呼び出しで27,460トークンをキャッシュに書き直す必要があり、同じメッセージが$0.253と507%高くなりました。2回の測定とも同じ結果です。キャッシュが5分なら逃していたはずの6分や15分の休憩でも、追加の費用はかかりませんでした。

なぜ1時間なのか

なぜ1時間なのか: ログイン方法, メインの会話, サブエージェント・要約(compact)など

使用量の記録を見ると、今回の実行で Claude Code が書いたキャッシュはすべて ephemeral_1h、つまり1時間のものでした。Anthropic API の標準のキャッシュは5分ですが、Claude Code は条件によって1時間のキャッシュを要求します。公式ドキュメントにまとめられている初期設定は次のとおりです。

ログイン方法 メインの会話 サブエージェント・要約(compact)など
サブスク、プランに含まれる使用量の範囲内 1時間 5分
サブスクで使用量クレジットを使っている間 5分 5分
API キー、クラウドプロバイダー 5分 5分

サブスクでも、プランに含まれる使用量を超えて使用量クレジットを使い始めると、メインの会話も5分に切り替わります。公式ドキュメントは、このときはキャッシュ書き込みの単価が安い5分のキャッシュを使うと説明しています。4月の議論のときも、Anthropic はキャッシュの時間をリクエストごとに決めており、メインの会話には1時間のキャッシュを使うと説明していました(Byline Network の報道による)。

1時間のキャッシュはタダではありません。Opus 5.5 の場合、料金は次のように違います。

トークンの種類 100万トークンあたり 通常の入力との差
通常の入力 $4 基準
キャッシュ書き込み(5分) $5 +25%
キャッシュ書き込み(1時間) $8 +100%
キャッシュ読み込み $0.20 -95%

1時間のキャッシュは書き込むときに高い代わりに、一度書けば1時間のあいだ95%安く読めます。メッセージの合間に数分ずつ考えたりコードを確かめたりする人には、5分のキャッシュより有利なしくみです。

会話が大きいとどれだけ高くなるか

今回のゲームは、会話全体が約4万トークンの小さなプロジェクトでした。キャッシュが切れたときに書き直す量は会話の大きさに比例するので、会話が大きいほど休憩の代償も大きくなります。Opus 5.5 の料金で、会話全体を読むときと書き直すときだけを計算すると次のようになります(出力や新しく読むファイルは除く)。

会話の大きさ キャッシュが有効なとき(読み込み) キャッシュが切れたとき(書き直し)
4万トークン 約1.3円($0.008) 約51円($0.32)
10万トークン 約3.2円($0.02) 約126円($0.80)
20万トークン 約6.3円($0.04) 約253円($1.60)

同じ日に測った長い会話の実験では、修正依頼30件を1つのセッションで続けると、会話は20万トークンを超えました。その規模のセッションを1時間以上空けると、戻って送る最初のメッセージ1件に、書き直しの費用だけで$1.60かかります。会話が小さいセッションなら、期限が切れても数十円なので、あまり気にする必要はありません。

席を立つ前にできること

席を立つ前にできること: 1時間以内ならそのまま休む。 サブスクなら、55分までは費用が変わりませんでした。; 長く休んで同じ作業を続けるなら、先に /compact。 公式ドキュメントによると、/compact はキャッシュが有効なうちなら会話

休憩そのものは減らせないので、長く休むときにできることをまとめました。今回実際に測ったのは休憩時間ごとの費用だけで、以下の方法の効果は公式ドキュメントの説明にもとづいています。

キャッシュの時間を自分で決める方法

公式ドキュメントによると、バージョン2.1.242から、キャッシュの有効時間を自分で選べます。メインの会話は promptCacheTtl の設定か CLAUDE_CODE_PROMPT_CACHE_TTL の環境変数で、サブエージェントなどほかのリクエストは subagentPromptCacheTtl で決め、値は 5m か 1h だけを受け付けます。

API キーで Claude Code を使っていて、メッセージの間隔がよく5分を超えるなら、promptCacheTtl を 1h にすることを検討する価値があります。逆に、短く集中して終わらせる使い方なら、書き込みの単価が安い5分のキャッシュのほうが向いています。いま自分のキャッシュが何分なのかは、ターミナルで次のように確かめられます。

claude -p "hello" --output-format json

結果の usage.cache_creation の中で、ephemeral_1h_input_tokens に数字があれば1時間、ephemeral_5m_input_tokens にあれば5分のキャッシュです。

同じ日に測った長い会話の実験

休憩時間と一緒に、同じゲームに修正依頼30件を3つのやり方で送る実験もしました。1つのセッションで続けると平均$4.16、15件目のあとに /compact を使うと13%増え、依頼ごとに新しいセッションを開くと129%増えました。新しいセッションも毎回キャッシュを最初から書き直す必要があって高くついたもので、しくみはこの記事の65分の休憩と同じです。詳しい数字は長い会話と新しい会話の実測データにあります。

自分のセッションが実際に日付やプロジェクト別にいくら使ったかは、使用量アナライザーに ~/.claude/projects フォルダを入れると確認できます。1日の作業量からサブスクと API を比べるなら、エージェント費用計算機を使ってみてください。

今回の測定の限界

よくある質問

Claude Code のキャッシュは何分もちますか? サブスクでログインしていて、プランに含まれる使用量の範囲内なら、メインの会話は1時間です。今回の測定でも55分までは有効で、65分では切れていました。API キー、クラウドプロバイダー、使用量クレジットを使っている間は標準で5分です。

キャッシュは最後のメッセージから1時間ですか? 公式ドキュメントによると、キャッシュを読むリクエストがあるたびに時間がリセットされます。作業を続けている間はキャッシュが保たれ、最後のリクエストから1時間リクエストがなければ期限切れになります。

休憩の前に /compact をすれば節約できますか? 公式ドキュメントは、キャッシュが有効なうちに要約するほうが安く、要約のあとは短い要約だけを書き直せばよいと説明しています。今回の測定では、このケースを直接は測っていません。同じ日の実験で、休憩なしに途中で /compact を使った場合はかえって13%増えたので、休憩の直前のように理由があるときに使うのがよさそうです。

サブスクならキャッシュの期限切れは関係ないのでは? 料金が別にかかるわけではありませんが、使用量の上限がそのぶん多く減ります。今回の小さなゲームでも、メッセージ1件が$0.042ぶんから$0.253ぶんに増え、大きなセッションほど差は広がります。

サブエージェントも1時間のキャッシュを使いますか? いいえ。公式ドキュメントによると、サブエージェントや要約(compact)のリクエストなど、メインの会話の外のリクエストはサブスクでも標準で5分です。subagentPromptCacheTtl で変えられます。

まとめ

サブスクの Claude Code で、同じ会話を0分から65分まで休んでから続けてみたところ、55分までは次のメッセージの費用が$0.042でまったく同じでした。65分休むとキャッシュの期限が切れ、同じメッセージが$0.253と507%高くなりました。使用量の記録で確かめたキャッシュは1時間のものでした。

1時間以内の休憩は気にしなくて大丈夫です。それより長く休む予定で会話が大きいなら、席を立つ前に /compact で小さくしておくか、戻ってから /clear で新しく始めることを考えてみてください。測定は小さなプロジェクト1つで2回行ったものなので、会話の大きさやバージョンによって数字は変わる可能性があります。元の記録と CSV は休憩時間とキャッシュの実測データから CC BY 4.0 でダウンロードできます。

出典

関連記事

1日のタスク数と大きさを入れて、Claude Code の API 費用を Pro・Max と比べてみましょう。

エージェント費用計算機を開く →