Claude Codeのトークン消費を頑張って下げるメモ

Claude Codeのトークン消費量が苦しいので、少しでも減らすための試行錯誤。

RTK でコマンド出力を圧縮する

RTKは CLI コマンドの出力をフィルタする Rust 製のプロキシ。

github.com

git commandとかの出力をAIに読ませるように最小限の情報だけtrimしていい感じに抽出してくれる便利なやつ。

# 普通のやつ 
$ git diff --staged
diff --git a/test.txt b/test.txt
new file mode 100644
index 0000000..9f00003
--- /dev/null
+++ b/test.txt
@@ -0,0 +1,2 @@
+
+hello world

# rtkを噛ませたやつ
$ rtk git diff --staged
test.txt | 2 ++
 1 file changed, 2 insertions(+)

--- Changes ---

test.txt
  @@ -0,0 +1,2 @@
  +
  +hello world
  +2 -0

自分はこれをhooksのPreToolUseに噛ませて、Claude Codeのセッション内だけでrtkを利用してコマンドを実行できるようにしている。 例えばClaude が git status を実行しようとしたら rtk git status に差し替えるとか。

// .claude/settings.json
{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [{ "type": "command", "command": "bash rtk-rewrite.sh" }]
      }
    ]
  }
}

rtk gain でプロジェクト単位の節約量を確認できる。コマンド出力の結果だけなので、全体の使用量に対しては小さいかもだが複数プロジェクトでぶん回している場合はチリつもで結構なトークン量になりそうな気はしている。

探索・調査 → Gemini CLIへ

Web Searchやマルチモーダル、コードベース探索を可能な限りGeminiに振る。 PreToolUse の hook で、Claude が広範なファイル探索をしようとしたらブロックして「Gemini CLI を使え」と返す感じにスクリプトを組んでいる。設定ファイルの読み取りや特定の関数検索は通して、**/*.ts みたいな広い探索だけブロック。

レビュー・デバッグ → Codex CLI

gemini同様planのReviewや実装の後のレビューにはCodexを利用している。

今であれば公式Pluginの/codex:review --backgroundがユースケースにあっていそうな気はする。

github.com

サブエージェントのモデルを使い分ける

Claude Code のサブエージェントは独立したコンテキストウィンドウで動くので、メインのコンテキストを消費しない。 code.claude.com

公式ドキュメントにはサブエージェントごとのモデル指定が推奨されているので、Gemini/CodexはHaikuで実行するようにしている。

Control costs by routing tasks to faster, cheaper models like Haiku

サブエージェントは .claude/agents/ の YAML frontmatter で個別にモデルを指定できる。

---
name: gemini-explore
model: haiku
---
サブエージェント モデル 用途
gemini-explore Haiku Gemini CLI 経由の情報収集。CLI を呼ぶだけなので軽量で十分
codex-debugger Sonnet Codex CLI 経由のエラー診断
general-purpose Opus コード実装・編集

tmuxマルチペインのモデル分け

プロジェクトによるが、6ペイン構成で1Projectを扱うようにしてる。

ペイン モデル 役割
Worker x2 Opus 設計・計画・実装
Dispatcher Sonnet Issue の分解とWorker への振り分け
Issue Scout Sonnet UX/NFR 観点のIssue起票
PR Gate Sonnet PR のスコアリングレビューとマージゲート
Monitor Haiku babysit・ヘルスチェック

claude --model haiku でセッションを起動するだけなので、設定は簡単。監視系のペインは Haiku で十分で、Opus の 1/5 のコストで回せる。