[開発者向け]Claude Codeのセッションはなぜコストが変わるのか——トークン消費を抑える6つのコツ

目次

はじめに

 Anthropicは2026年8月14日、公式ブログで「Maximizing the value of your Claude Code sessions」を公開しました。同じタスクでも進め方によってトークン消費量が変わる仕組みを解説し、セッションを効率よく運用するための具体的なコツを紹介する内容です。本稿ではその要点を整理してお伝えします。

参考記事

関連記事

あわせて読みたい
[ニュース解説]Claude Opus 4.8が登場——誠実さが4倍向上、fast modeは3倍の価格効率に はじめに  Anthropicが2026年5月28日、主力モデルの新バージョン「Claude Opus 4.8」をリリースしました。前バージョンの Opus 4.7 から性能・安全性・コスト効率の3面...
あわせて読みたい
[ニュース解説]Claude Codeはこうして生まれた——Anthropic開発陣が語る誕生秘話 はじめに  Anthropicは2026年、公式サイトにて「The Making of Claude Code」と題したオーラルヒストリーを公開しました。本稿では、開発陣や社外ユーザーの証言をもと...
あわせて読みたい
[開発者向け]GitHub Agentic Workflowsのトークンコストを最大79%削減——GitHubが自社実践で公開した計... はじめに  GitHubが2026年5月7日、同社が自社リポジトリで運用しているエージェントワークフローのトークン使用量を大幅削減した取り組みをブログで公開しました。本稿...

要点

  • Claude Codeのトークン単価は、使用モデル・入力/出力の別・プロンプトキャッシュの有無という3つの要素で決まる
  • 出力トークンは、生成が1トークンずつ逐次処理される decode フェーズにあたるため、入力トークンの約5倍の価格で処理される
  • プロンプトキャッシュの読み込みは通常の入力価格の0.1倍だが、モデルやeffortの切り替え、/compact、一定時間の放置などによって無効化される
  • セッション中に読み込んだファイルやコマンド出力は、以後のすべてのターンに繰り返し送信され続けるため、長いセッションほどコストが積み上がる
  • @メンションでのファイル指定や、ノイズの多い出力をサブエージェントに任せることで、コンテキストの肥大化を抑えられる

詳細解説

トークンの価格を決める3つの要素

 Anthropicの解説によれば、Claude Codeで課金対象になっているのは実質的に推論(GPUやTPUがトークンを処理する時間)そのものであり、その時間は使用モデル・入力か出力か・キャッシュされているかの3点で決まるとされています。リクエストはまずシステムプロンプトや会話履歴を読み込む「prefill」フェーズ、続いて応答を1トークンずつ生成する「decode」フェーズを経ますが、decodeはGPUを長く占有するため、出力トークンは入力トークンのおよそ5倍の価格になるとされています。

 どのくらいの規模のモデルを使うかによって、この単価そのものも変わってきます。難易度の高い作業には大きめのモデルを、定型的な作業には小さめのモデルを充てるという使い分けが、コストを左右する前提だと考えられます。

プロンプトキャッシュの仕組みと壊れやすさ

 リクエストの冒頭が直前のリクエストと完全に一致する場合、その部分はサーバー側に保持された状態を再利用でき、これがプロンプトキャッシュと呼ばれる仕組みです。キャッシュからの読み込みは通常の入力価格の0.1倍で済む一方、新規にキャッシュへ書き込む部分は通常より高く(最大2倍)なるとされています。Claude Codeはこのキャッシュ管理を自動で行うため、利用者が明示的に操作する必要はありません。

 ただし、キャッシュはリクエストの先頭から完全一致していないと機能しません。記事では、モデルの切り替え、effortレベルの変更、fast modeのオン、/compactの実行、そして一定時間(サブスクリプションで1時間、APIキーで5分。ENABLE_PROMPT_CACHING_1H=1で1時間に延長可能)の放置がキャッシュを無効化する要因として挙げられています。モデルやeffortの変更は会話の途中で行うと確認を求められる仕様になっているのも、こうした事情によるものと考えられます。切り替え自体を避ける必要はなく、セッションの開始直後や /clear の直後といった、コストの低いタイミングで行うのが妥当だとされています。

コンテキストを膨らませないための工夫

 セッション中に一度でも会話に加わったファイルやコマンド出力は、以後のすべてのターンで繰り返し送信されます。読み込み自体はキャッシュで安く済みますが、ゼロではなく、モデルが毎ターン目を通す対象が増えるという点でも負荷になります。

 ファイルを名前で伝えると、Claudeはそれを探すために検索や読み込みを行いますが、@ファイル名 の形でメンションすると、そのファイルはメッセージに直接添付されるため、読み込みの手間そのものを省けます。同様に、テストやビルドの出力が大量に流れる場合は、静音オプション(quiet flag)を付けるかサブエージェントに実行を任せることで、不要な出力がセッションに残り続けるのを防げるとされています。なお、コマンド出力が30,000文字を超えると、Claude Codeは自動的にファイルへ書き出し、会話には要約とパスのみを残す仕組みも備わっています(BASH_MAX_OUTPUT_LENGTH で調整可能)。

長いセッションの管理と使い分け

 新しい作業に取りかかる際は /clear で会話を空にし、同じ作業の中で前半部分が不要になった段階では /compact で要約するという使い分けが推奨されています。/compact は会話全体を短い要約に書き換えるため必ずコストが発生しますが、直前の数ターンだけを取り消したい場合は /rewind を使えば、それより前の部分はキャッシュされたまま残るため安く済むとされています。

 Claude Codeは開発者コミュニティの反応を受けながら急速に育ってきた経緯があり、長時間のセッションで大量のファイルやログを扱う場面も増えています。そうした重い作業を主要な会話から切り離したい場合には、サブエージェントの利用が有効です。サブエージェントは専用のコンテキストウィンドウを持ち、ツール定義やCLAUDE.mdは引き継ぐものの元の会話履歴は持たず、作業が終わると報告内容だけが本流のセッションに返される仕組みです。ログの精査のように出力量は多いが残す必要のない作業に向いており、頻繁に任せる処理には model: haiku のように専用モデルを指定したサブエージェント定義を用意しておくと、本セッションと同じモデルで実行されるのを避けられます。

まとめ

 Claude Codeのコスト効率は、価格の仕組みを踏まえ、コンテキストを必要最小限に絞ることで変わってくると考えられます。effortレベルの選び方は、fast modeの価格効率を扱った過去記事もあわせてご覧ください。

この記事が気に入ったら
フォローしてね!

  • URLをコピーしました!
  • URLをコピーしました!
目次