私は42回のClaude Codeセッションを分析しました。私のトークンの69%は無駄でした。

Dev.to / 2026/4/8

💬 オピニオンDeveloper Stack & InfrastructureIdeas & Deep AnalysisTools & Practical Usage

要点

  • 著者は42回のClaude Codeセッションを測定し、ターンが進むにつれてトークン使用量が急激に増加することを確認しました。最悪ケースでは664ターンで、27.3倍の「無駄係数」が発生し、192Mトークンを消費しました。
  • Claude Codeの根本的な問題は、各ターンで会話履歴全体が再送されるため、コストが直線的に増えていく一方で、有用な進捗はそれに見合って増えないことです。
  • 手動でセッションをローテーションすればクォータの使用量は減らせますが、情報の引き継ぎには損失が伴います。97件の重要な事実のうち引き継ぎ後に残ったのは35件だけで(約46%の保持率)、コマンド、エラー、ファイルの読み取りといった重要な文脈が落ちてしまいます。
  • この記事では、Claude Codeのバージョン2.1.69〜2.1.89におけるプロンプトキャッシュの不具合を報告しています。この範囲ではキャッシュが失敗し得ており、キャッシュ比率が0%になる例も示されています。
  • 問題に対処するため、著者は「clauditor」を構築しました。これはCLIツールで、ライフサイクルフックを介して組み込み、無駄な継続をブロックし、既知のツールエラーを防ぎ、問題のある自律的なツール挙動を監視・ブロックします。

あなたがClaude Codeで入力するすべてのターンごとに、コストは前のターンより高くなります。200ターン目では、同じ作業に対して10倍を支払っています。664ターン目では27.3倍です。

私はこれらの数字を当て推量したわけではありません。自分の42回のセッションにわたって計測しました:

  • 最悪のセッション:664ターン、27.3倍の無駄率192Mトークンを消費
  • 42回中20回のセッションが5x以上の無駄で実行
  • セッション全体で:744Mトークン消費。ローテーションありだと:233M。この場合、クォータが69%少なくて済む
  • さらに、Claude Code 2.1.69〜2.1.89におけるプロンプトキャッシュのバグも見つけました。私のセッション42回のうち15回でキャッシュが壊れていました。なかでも1回は196ターンをキャッシュ比率0%で実行していました

ではなぜこうなるのでしょうか?そして、それを直すために私は何を作ったのでしょうか?

問題:すべてのターンで毎回“全部を再送”してしまう

Claude Codeは、毎ターンごとにあなたの会話履歴全体を再送します。コストは直線的に増えますが、有用な出力は一定のままです。

最悪のセッションからの実データ:

セッション内のポイント トークン/ターン 無駄率
ターン1 ~20K 1x
ターン100 ~100K 5x
ターン200 ~200K 10x
ターン400 ~350K 17x
ターン664(終了) ~551K 27.3x

これが、20分でレート制限に当たってしまう理由です。あなたはより多くの作業をしているのではなく、同じ作業をするのに毎ターン直線的により多く支払っているのです。

なぜ手動ローテーションは失敗するのか

セッションを手動でローテーションできますが、コンテキストを失い、何をしていたのかを改めて説明するための時間が無駄になります。最適なローテーション地点がわかることはありません。毎回フローが途切れます。そしてセッション間の引き継ぎはロスが生じます。重要な詳細が落ちます。

どれくらいロスがあるのか?私は測定しました。最後のセッションでローテーションしたとき、97件の事実のうち35件しか引き継ぎで生き残りませんでした。テキスト類似度スコアリングを使った46%の保存率です。トークンの観点では、再発見のオーバーヘッドは最初の10ターンに相当する8%程度なので、元のコスト自体は致命的ではありません。問題はどの事実が落ちるかです。コマンドの実行(6/44は保持)、エラー(0/3)、ファイル読み取り(0/5)。次のセッションは、何が失敗し、なぜ失敗したのかを知りません。

Clauditorがこれを修正する方法

私はclauditorを作りました。CLIツールで、7つのライフサイクルフックを通じてClaude Codeにフックします:

  • UserPromptSubmit が膨れ上がったセッションをブロックし、トークンを無駄にする「continue」プロンプトを検出
  • PreToolUse は、起こる前に既知のエラーを防ぐ
  • PostToolUse はツール呼び出しを監視し、無駄が大きい自律作業中にブロックする
  • PreCompact / PostCompact はコンパクション中に何が失われるかを測定する
  • SessionStart はトラッキングを初期化し、新しいセッションのためにローテーションのコンテキストを読み込む
  • Stop は無駄の分析付きの最終セッションレポートを生成する

リアルタイムにあなたの無駄率を計算し、効率が閾値を下回るとセッションをブロックして、freshなセッションを開始するように促します。ローテーションするときは、次のセッションが中断したところから引き継げるように、構造化された引き継ぎテンプレートを生成します:

## タスク
ダッシュボードAPIのOAuth2フローを実装する

## 完了
- トークン用のデータベーススキーマ ✓
- トークン更新エンドポイント ✓
- リフレッシュフローのユニットテスト(14パス) ✓

## 失敗したアプローチ
- passport.jsを試したが、ミドルウェアチェーンと両立しなかった
- Redisのセッションストアが、高負荷時にレースコンディションを引き起こした

## 現在の状態
対応中:認可コードフロー
ブロック中:リダイレクトURIのCORS設定
次のステップ:nginx.confに許可オリジンを追加する

これは、実際に重要なものを保ちます。構造化された判断、失敗、次のステップです。ロスのある要約ではありません。

ローテーションの経済性

多くの人が見落としているのはこの部分です。ローテーションは単に無駄を止めるだけでなく、ネットでプラスになります。

  • ローテーションは平均でターンあたりのトークンを65%節約
  • 再発見のコストは約17Kトークン。最初の10ターンに対するオーバーヘッドは8%程度
  • 無駄が10xのとき、ROIは400xです。あなたは17Kトークンでコンテキストを再発見するだけで済み、200K+/ターンで実行し続けることによる“何百万トークンもの”節約が得られます

私のデータでは、clauditorは無駄なクォータ消費がそれ以上増えるのを防ぐために10セッションをブロックしました。42回すべてでローテーションしていた場合、私は744Mではなく233Mトークンを使っていたはずです。あなたの数字はセッションの長さによって変わります。自分自身の確認はclauditor reportを実行してください。

誰も知らなかったバグ

clauditorを作っている最中に、Claude Codeのバージョン2.1.69〜2.1.89にプロンプトキャッシュのバグがあり、10〜20倍のトークン消費につながっていることを発見しました。

clauditor doctorを自分のセッションに実行すると、キャッシュが劣化している14セッションが見つかりました。最悪なのは:キャッシュ比率0%で196ターン実行していたケースです。つまり、ゼロのキャッシュで、すべてのトークンが定価で課金されていたということです。別のセッションでは、セッション途中でキャッシュが100%から20%へ落ちました。

私はバグを見つける目的で始めたわけではありません。しかし、このレベルの粒度でトークン使用量を測定すると、異常が見えるようになるのです。影響を受けているかどうか確認するにはclauditor doctorを実行してください。

インストールする

# npm
npm install -g @iyadhk/clauditor && clauditor install

# Homebrew
brew tap IyadhKhalfallah/clauditor && brew install clauditor && clauditor install

# Zero install
npx @iyadhk/clauditor

その後、実行します:

  • clauditor report:セッション間の無駄率を確認する
  • clauditor doctor:あなたのClaude Codeのバージョンがキャッシュのバグに影響されていないか確認する
  • clauditor handoff-report:前回のローテーションで、どれくらいの知識を失ったかを測定する

272 GitHubスター、6,000+ダウンロード、275テスト、MITライセンス。 ローカルで動作し、クラウド依存はありません。

GitHub:github.com/IyadhKhalfallah/clauditor
Website:clauditor.ai

あなたの最悪の無駄率は? clauditor reportを実行して、数値をコメント欄に書いてください。私の27.3xと比べてどうなるか気になります。