lang
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
ホーム
OPRR
速報
深堀り
イベント
BlockBeats Pro
もっと見る
資金調達情報
特集
オンチェーン生態系
用語
ポッドキャスト
データ
BTC
$96,000
5.73%
ETH
$3,521.91
3.97%
HTX
$0.{5}2273
5.23%
SOL
$198.17
3.05%

1週で3億トークン節約、AnthropicエンジニアのClaude Codeキャッシュガイド

この記事を読むのに必要な時間は 24 分
キャッシュを再利用し、長いセッションで重複計算を減らす
原文タイトル:Anthropic エンジニアが実際にトークンを節約する方法
原著者:Nate Herk
翻訳:Peggy,BlockBeats


編者注:多くの人が Claude Code を使用する際に最も直感的な感触は、トークンの消費が速すぎること、長いセッションが簡単にクォータを消費してしまうことです。しかし、Anthropic エンジニアの視点から見ると、実際にコストに影響を与えるのは、あなたがどれだけのコードを書いたかではなく、システムが既に処理したコンテキストを継続して再利用しているかどうかです。


この記事の中心にあるのは、キャッシュメカニズムを使用してトークンを節約する方法です。著者は1週間で3億トークン以上をキャッシュ再利用し、1日あたりのキャッシュ量は9100万に達しました。トークンをキャッシュするコストは、通常のトークン入力の10%であるため、9100万のキャッシュトークンは実際の請求額であり、それに等しい900万の通常のトークンです。Claude Code の長いセッションがより「耐久性」があるのは、モデルが無料で動作しているためではなく、多くのコンテキストが成功裏に再利用されたためです。


プロンプトキャッシングの鍵は「キャッシュを中断しないこと」です。Claude Code では、システムのプロンプト、ツール定義、CLAUDE.md、プロジェクト規則、および履歴ダイアログを階層化してキャッシュします。後続のリクエストのプレフィックスが一貫している限り、Claude はキャッシュを直接読み取ることができ、全体のコンテキストを再度処理する必要はありません。Anthropic 内部でもプロンプトキャッシュの再利用率を監視しており、これはユーザーのクォータだけでなく、モデルサービスのコストや実行効率に直接影響します。


一般ユーザーにとっては、すべての基礎的な詳細を理解する必要はありません。ただし、いくつかの主要な習慣を身につける必要があります:セッションを1時間以上放置しないでください。タスクを切り替えるときはセッション移行を行ってください。モデルを頻繁に切り替えないようにしてください。大きなドキュメントは対話に貼り付けるのではなく、プロジェクトにまとめるようにしてください。


この記事は、トークンを節約するコツを語るものではなく、むしろよりエンジニアリング思考に近い Claude Code の使用方法を提供するものです:コンテキストを資産管理と見なし、キャッシュを継続して再利用し、長いセッションで重複した計算を減らすことです。


以下は原文です:


今週は3億トークン、1日に9100万トークン節約しました、1週間で3億を超える。



私は何も設定を変更していません。これは単にプロンプトキャッシュがバックグラウンドで正常に機能しているだけです。


しかし、キャッシュが何であるか、およびキャッシュを「壊さない」ようにする方法を理解した後、同じ使用料金で私のセッションがより長く続くことに気づきました。そこで、Claude Codeのプロンプトキャッシングの80/20入門ガイドを作成しました。このガイドはAPIの深い詳細を取り扱っていません。


要点


トークンをキャッシュするコストは通常の入力トークンの10%のみです。9100万トークンをキャッシュすると、実際の請求額は約900万トークン相当です。


Claude Codeサブスクリプション版のキャッシュTTLは1時間です。APIのデフォルトは5分です。サブエージェントは常に5分です。


キャッシュには3つのレベルがあります:システムレベル、プロジェクトレベル、セッションレベル。


途中でセッションモデルを切り替えることはキャッシュを壊します。これには「opus plan」モードを有効にすることも含まれます。


キャッシュの請求はどのように計算されますか?


キャッシュされたトークンごとのコストは通常の入力トークンの10%です。



つまり、私のダッシュボードにある9100万トークンのキャッシュヒットが表示された日には、実際の請求額は約900万トークンに相当するということです。これは、キャッシュがない場合と比較して、Claude Codeを長時間使用するとセッションがほぼ「無料」に延長されるように感じさせる理由でもあります。


ダッシュボードには、特に注目すべき2つの数字があります:


キャッシュ作成:キャッシュにコンテンツを書き込む際に発生する一時的なコスト。次の対話で活用されます。
キャッシュ読み取り:Claudeが再利用するキャッシュ内のトークン。たとえば、CLAUDE.md、ツール定義、以前のメッセージなど。再入力処理と比較して、コストは10倍安くなります。



キャッシュ読み取り数が多い場合、キャッシュを効果的に活用していることを示し、数値が低い場合は同じコンテキストに対して繰り返し支払っていることを意味します。


AnthropicのThariqは次のように述べています:「実際にはプロンプトキャッシュのヒット率を監視し、ヒット率が低い場合、アラートがトリガーされ、SEVレベルのインシデントが発生します。」


彼はとても良い X 記事 も書いています。キャッシュヒット率が高い場合、次の四つのことが同時に起こります:Claude Code の体感速度が向上し、Anthropic のサービスコストが低下し、あなたのサブスクリプション枠も耐久性が増し、長時間のエンコードセッションも現実味を帯びます。


しかし、ヒット率が非常に低い場合、誰もが損失を被ります。



ですので、双方のインセンティブは実は一致しています:Anthropic はあなたのキャッシュヒット率が高くなることを望んでおり、あなた自身もヒット率が高くなることを望んでいます。本当に足を引っ張るのは、見過ごされがちでありながらキャッシュを静かにリセットするいくつかの小さな習慣だけです。


キャッシュは対話ごとにどのように成長しますか?


キャッシュは prefix matching に依存しています、つまり「接頭辞一致」です。


あまり技術的な詳細には陥らず、理解する必要があるのは一つだけです:ある位置より前の内容がすでにキャッシュされた内容と完全に一致している限り、Claude はその部分のキャッシュトークンを再利用できます。


新しいセッションは、おおよそ以下のように展開されます:



Claude Code ドキュメントによれば、新しいセッションは通常以下のように進行します:


第1ラウンド:まだキャッシュが存在しません。システムの提示ワード、あなたのプロジェクトコンテキスト(例:CLAUDE.md、memory、ルール)、そしてあなたの最初のメッセージ全てが再処理され、キャッシュに書き込まれます。


第2ラウンド:第1ラウンドでの全ての内容はすでにキャッシュされています。Claude は新しい返信と次のメッセージの処理だけで済みます。このラウンドのコストはずっと低くなります。


第3ラウンド:ロジックは同様です。以前の対話はまだキャッシュされており、最新の対話だけが再処理される必要があります。


キャッシュ自体は三層に分かれます:



Thariq さんの X 記事から:


システム層(System layer):基本的な命令、ツールの定義(read、write、bash、grep、glob)、および出力スタイルを含みます。この層はグローバルキャッシュです。


プロジェクトレイヤー(Project layer):CLAUD.md、メモリ、プロジェクト規則を含みます。このレイヤーはプロジェクトキャッシュに従います。


会話レイヤー(Conversation):応答とメッセージを含み、各会話のラウンドごとに増加していきます。


途中でシステムレイヤーまたはプロジェクトレイヤーの内容が変更された場合、全体を最初からキャッシュし直す必要があります。これが最も「高価な」操作です。想像してみてください:16番目のメッセージまでチャットしていて、突然システムのヒントワードが変更されたり、途中で1時間停止された場合、1番目のメッセージからのすべてのトークンを再処理する必要があります。


1時間と5分の混乱


これは最も誤解されやすい部分です。


Claude Code サブスクリプション版:デフォルトのTTLは1時間です。


Claude API:デフォルトのTTLは5分です。これを1時間に引き上げることで追加コストが発生します。
どのプランのSub-agentも:常に5分です。

Claude.ai ウェブチャット:公式に記録されていません。おそらくサブスクリプション版と同じですが、まだ確認していません。


数ヶ月前、多くの人がClaudeサブスクリプションのクオータを急速に消費していることに不満を抱いていました。当時、ある人はAnthropicが静かにTTLを1時間から5分に短縮したと考え、ユーザーに通知しなかったと信じていました。しかし、実際には、Claude CodeのTTLは引き続き1時間です。


問題は、Claude CodeとAPIのドキュメントが個別に公開されていたことで、これら2つが本来まったく異なるものであることから、多くの混乱が生じました。


サブエージェントのワークフローを大規模に実行しているか、APIを直接利用している場合、5分という数字は非常に重要です。しかし、Claude Codeユーザーの95%にとって本当に関心を持つべきなのは、実際には1時間のウィンドウだけです。


95%のユーザーをカバーする3つの習慣


以下は、日常的に本当に役立つと考える部分です。


長時間停止しない


1時間以上アイドル状態が続いた場合、以前の内容はキャッシュからほぼ期限切れになっています。次のメッセージはキャッシュを再構築します。このような状況では、すでに「冷めた」古い会話を続けるよりも、明確な引き継ぎを行い、新しい会話を開始したほうが通常はコストが低くなります。


タスク切り替え時には、直接リスタートしてください


/compact または /clear はキャッシュを破壊するため、このタイミングで本当にリセットするのが最善です。


私自身、セッション移行スキルを作成しました。これは /compact の代わりとなるものです。これにより、私たちがすでに完了した作業や保留中の決定事項、重要なファイルなどが要約され、次にどこから続行すべきかが示されます。その後、私は /clear を実行し、この要約をペーストして、中断なしに進行できます。


compact コマンドは時々非常に遅く実行されることがあります。一方、この移行スキルは通常、1分未満で完了します。


Claude チャットでは、大きなドキュメントはできるだけ Projects に格納してください


Claude.ai 上のキャッシュメカニズムには非常に詳細な公式説明がありませんが、Projects は明らかに通常の会話スレッドとは異なる最適化方法を採用しています。したがって、非常に大きなドキュメントを貼り付ける場合は、直接スレッドに挿入せずに、Projects に格納することをお勧めします。


どの操作が静かにキャッシュを破壊するのか?


いくつかの操作は、はっきりとした警告なしにキャッシュを完全にリセットします。


モデルの切り替え:キャッシュはプレフィックス一致に依存しており、各モデルには独自のキャッシュがあります。モデルを切り替えると、次回のリクエストは、全くキャッシュヒットせずに完全な履歴を再読み込みします。


Opus プラン モード:この設定はプランニング段階では Opus を使用し、実行段階では Sonnet を使用します。以前はいくつかのトークン最適化ビデオでこれを推奨しましたが、その理由があります。ただし、プランの切り替えは、本質的にはモデルの切り替えであり、キャッシュを再構築することを意味します。長期的には、セッションクオータを延長するのに役立ちますが、内部で何が起こっているかを理解する必要があります。


セッション中の CLAUDE.md の編集は許可されています:この変更はすぐには有効にならず、次回の再起動まで適用されません。したがって、現在実行中のキャッシュには影響しません。


私の無料トークンダッシュボード


私が前に示したスクリーンショットは、トークンダッシュボードから取得しました。



https://github.com/nateherkai/token-dashboard


これは非常にシンプルな GitHub リポジトリです。リンクを Claude Code に渡して、彼にローカルの localhost で展開させると、すべての過去のセッション履歴を読み込んでから統計を開始する代わりに、テーブルをリードしてくれます。最初からすべてにアクセスできるようになります。各日の input、output、cache 作成、および cache 読み取りデータが即座に確認できます。


ただし、一点注意が必要です。このダッシュボードはローカルデバイス上の Token データの統計を行います。デスクトップからノートパソコンに切り替えれば、数字は完全に一致しなくなります。各デバイスには独自の統計ビューがあります。


Summary


プロンプトキャッシングは非常に掘り下げて研究できる領域です。Thariq の記事はここよりも詳細に説明されていますので、全体像を知りたい場合はぜひ読んでみてください。


ただし、すべての詳細を完全に理解する必要はありません。重要なのは 80/20 ルールを把握することだけです:キャッシュされた Token は通常の Token よりも 10 倍安い;Claude Code の TTL は 1 時間;モデルの切り替えはキャッシュを破壊する;タスク間でスムーズな引継ぎを行うことが、通常は古いセッションを「期限切れ」にしてから利用するよりも効率的であることが多い。


[Original Article Link]



BlockBeats の公式コミュニティに参加しよう:

Telegram 公式チャンネル:https://t.me/theblockbeats

Telegram 交流グループ:https://t.me/BlockBeats_App

Twitter 公式アカウント:https://twitter.com/BlockBeatsAsia

举报 訂正/通報
ライブラリを選択
新しいライブラリを追加
キャンセル
完了
新しいライブラリを追加
自分のみが閲覧可
公開
保存
訂正/通報
送信