はじめに
Claude Code や GitHub Copilot を使ったコード生成サービスを利用している人は多いでしょう。
契約によっては使い放題ではなくトークン課金型のものも存在します。トークン課金型でコード生成サービスを日常的に利用していると、気が付かないうちに大量のトークンを消費してしまうことがあります。特に大規模なリポジトリでの開発や長時間のセッションでは、入力・出力トークンの両方が積み重なり、想定以上のコストになるケースも珍しくありません。
そこで、次の条件を満たすトークン削減ツールを調査し、実際に導入してみました。
- 既存の生成AI開発フローへの影響が少なそう
- トークン削減効果が 重複しない(コンフリクトしない)
- 導入が簡単そう
以下の2つのツールを利用することにしました。
- 入力トークンを削減する:RTK
- 出力トークンを削減する:Caveman(現時点ではClaude Code専用)
どちらも無料で導入でき、数分で試せます。
RTK
RTK は、Claude Code や GitHub Copilot が実行するシェルコマンドの出力を最適化し、不要な情報を削減することで入力トークン数を削減するツールです。
grep や rg* でソースコードを検索する処理で大きくトークン数を削減できるようで、ソースコードが巨大になるほど効果を実感しやすいと考えられます。
- 名前: rtk
- GitHub: https://github.com/rtk-ai/rtk
インストール
curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | sh
初期設定
rtk init -g
動作原理
RTK はシェルコマンドの実行をフックし、生成AIが利用するコマンドの出力を最適化します。例えば次のような処理が行われます。
git status
↓
rtk git status
↓
不要な情報を削減した git status の結果を返却
AI が参照する情報量を減らすことで、入力トークン数を削減します。
削減効果の確認
RTK には削減効果を確認するコマンドが用意されています。
rtk gain
実際の削減例
筆者の環境では、ソースコードを大量に生成するというよりも、
- 不具合解析
- ログ調査
- 原因切り分け
- TRY & ERROR を繰り返す検証作業
といった利用が中心でした。
その結果、RTK では非常に大きな削減効果を確認できました。
RTK Token Savings (Global Scope)
════════════════════════════════════════════════════════════
Total commands: 1349
Input tokens: 2.7M
Output tokens: 652.2K
Tokens saved: 2.1M (76.4%)
Total exec time: 73m9s (avg 3.3s)
Efficiency meter: ██████████████████░░░░░░ 76.4%
By Command
────────────────────────────────────────────────────────────────────────
# Command Count Saved Avg% Time Impact
────────────────────────────────────────────────────────────────────────
1. rtk grep 352 1.2M 11.7% 491ms ██████████
2. rtk:toml ps aux 3 180.2K 98.6% 91ms ██░░░░░░░░
3. rtk pytest tests/ -q ... 1 167.5K 99.6% 11m20s █░░░░░░░░░
4. rtk pytest tests/ --t... 1 156.7K 99.6% 10m29s █░░░░░░░░░
5. rtk read 92 112.7K 25.3% 3ms █░░░░░░░░░
6. rtk git log --oneline... 1 60.0K 98.9% 1.8s █░░░░░░░░░
7. rtk pytest tests/test... 3 20.6K 95.0% 51.6s ░░░░░░░░░░
8. rtk git show 07b3383 ... 2 15.7K 38.2% 94ms ░░░░░░░░░░
9. rtk git show 57850c0 ... 2 13.8K 86.4% 67ms ░░░░░░░░░░
10. rtk find 25 11.8K 71.7% 24ms ░░░░░░░░░░
────────────────────────────────────────────────────────────────────────
- 約 2.1M トークン削減
- 削減率 約 76.4%
という結果になりました。
Caveman(Claude Code限定)
Caveman は Claude Code の出力を簡潔にすることで、出力トークン数を削減するツールです。RTK が入力トークンを削減するのに対し、Caveman は出力トークンの削減を目的としています。
- 名前: caveman
- GitHub: https://github.com/JuliusBrussee/caveman
インストール
curl -fsSL https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.sh | bash
利用方法
Claude Code 内で以下を実行します。
/caveman
動作原理
Claude Code の回答スタイルを変更し、説明や装飾を最小限に抑えた出力へ変換します。
Claude Code
↓
Caveman
↓
簡潔な回答へ変換
↓
出力トークン削減
削減効果の確認
以下のコマンドで統計情報を確認できます。ただしセッションごとの統計情報しか出力できません。
/ caveman-stats
実際の削減例
こちらも同様に、不具合解析や調査作業が中心のセッションで計測しました。
Caveman Stats
──────────────────────────────────
Turns: 442
Output tokens: 381,623
Cache-read tokens: 79,790,530
Est. without caveman: 1,090,351
Est. tokens saved: 708,728 (~65%)
Est. saved (USD): ~$53.15
推定では、
- 約 70 万トークン削減
- 削減率 約 65%
- Claude Opus 4 基準で約 53 ドル相当
という結果になりました。
入力と出力の両方を削減する
2つのツールはトークン削減対象が異なります。
- RTK: 入力トークン
- Caveman: 出力トークン
そのため、Claude Code 利用者であれば両方を導入することで相乗効果が期待できます。
実際に使ってみた感想
今回の計測は、コードを大量生成する開発というよりも、
- 不具合解析
- ログ調査
- 原因切り分け
- TRY & ERROR の繰り返し
- AIとの長時間の対話
が中心でした。
そのため、入力情報を削減する RTK と、回答を簡潔化する Caveman の両方が非常に相性良く機能しました。特に「AIと会話しながら問題を掘り下げる」ような利用スタイルでは、想像以上にトークン削減効果が大きいと感じています。
まとめ
生成AIによる開発では、モデルの性能向上だけでなくトークン消費の最適化も重要になってきています。今回紹介したツールはどちらも導入コストが低く、既存のワークフローを大きく変更せずに利用できます。
Claude Code を日常的に利用している場合は、
- RTK で入力トークンを削減する
- Caveman で出力トークンを削減する
という組み合わせから試してみる価値は十分あると思います。