Claude Codeなどのコーディングエージェントは、git statusやcargo testなどコマンドの生の出力をそのままコンテキストに取り込みます。これが積み重なると、1セッションで10万トークンを超えることも珍しくありません。
RTK(Rust Token Killer)はこの問題をコマンドライン上で解決するOSSです。コマンド出力がLLMへ渡る前に介入し、不要な情報を除去・圧縮します。
この記事でわかること
- Claude Codeのどのコマンドがどれだけトークンを消費しているか
- RTKが使うフィルタリング戦略の仕組み
- Homebrew 1行 +
rtk init -gで完結するセットアップ手順 - Cursor・Gemini CLIなど12のAIツールへの対応状況
なぜClaude Codeのトークン消費が膨らむのか
Claude Codeがコードベースを操作するとき、lsでディレクトリを確認し、catでファイルを読み、git diffで差分を確認し、npm testでテストを流します。これらのコマンド出力はそのままコンテキストに入ります。
問題は、AIが実際に必要とする情報はその一部にすぎないことです。定型のヘッダ、余分な空白、何十行にも続く同一パターンのログ——こうしたノイズが大半を占めています。30分のセッションで試算すると、cat・read系だけで4万トークン近くになります。
RTKはコマンドとLLMの間に割り込み、このノイズを刈り込みます。
RTKの仕組み
Rustで書かれた単一バイナリで、外部依存なし、オーバーヘッドは10ms未満です。GitHubスターは4万件超、2026年1月にリリースされて以来急速に普及しています。
フィルタリングには複数の戦略を組み合わせています。スマートフィルタリングはコメント・空白・定型文を除去します。グルーピングはファイルをディレクトリ単位に、エラーを種類別にまとめて情報密度を高めます。トランケーションは重要なコンテキストだけを残して冗長な部分を切り捨てます。重複排除はログの繰り返し行を「×N件」と折りたたみます。
実際のトークン削減量
以下は中規模のTypeScript/Rustプロジェクトで30分のClaude Codeセッションを行った場合の推定値です(公式READMEより)。
| コマンド | 通常 | RTK使用時 | 削減率 |
|---|---|---|---|
ls / tree × 10回 |
2,000 | 400 | -80% |
cat / read × 20回 |
40,000 | 12,000 | -70% |
git status × 10回 |
3,000 | 600 | -80% |
git diff × 5回 |
10,000 | 2,500 | -75% |
git add/commit/push × 8回 |
1,600 | 120 | -92% |
cargo test / npm test × 5回 |
25,000 | 2,500 | -90% |
pytest × 4回 |
8,000 | 800 | -90% |
| 合計 | ~118,000 | ~23,900 | -80% |
特にテスト系は-90%と削減幅が大きくなります。テスト出力は成功行が大量に並ぶ構造のため、重複排除と失敗箇所の抽出が効果的に機能するからです。
インストール
macOSはHomebrewが最も手軽です。
brew install rtk
Linux/macOSでの直接インストールも1コマンドで済みます。インストール先は~/.local/binです。
curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | sh
Rustのツールチェーンがある場合はCargoでも入れられます。
cargo install --git https://github.com/rtk-ai/rtk
インストール後はバージョン確認で動作確認ができます。
rtk --version # rtk 0.38.0 が表示される
rtk gain # これまでのトークン削減量の統計が出る
Claude Codeへの統合
RTKの最大の特徴は「自動書き換えフック」です。初期設定の1コマンドを実行すると、以降は何も変えなくてもすべてのコマンドがRTKを通るようになります。
rtk init -g # Claude Code / GitHub Copilot向けフックをインストール
実行後にClaude Codeを再起動すると有効になります。git statusを実行するたびに透過的にrtk git statusへ書き換えられ、圧縮済みの出力だけがコンテキストに届きます。Claude Code側からは書き換えは見えません。
ひとつ注意点があります。このフックはBashツール呼び出しにのみ作用します。Claude Codeの内蔵ツール(Read・Grep・Glob)はBashフックを経由しないため、自動では適用されません。これらにRTKの出力を使いたい場合は、シェルコマンド(cat・rg・find)か、直接rtk read・rtk grep・rtk findを呼び出す必要があります。
12のAIツールに対応
Claude Code以外にも幅広いツールに対応しています。
rtk init -g --gemini # Gemini CLI
rtk init -g --codex # Codex(OpenAI)
rtk init -g --agent cursor # Cursor
rtk init --agent windsurf # Windsurf
rtk init --agent cline # Cline / Roo Code
Cursor・Windsurf・Clineはプロジェクト単位での設定になります(.cursorrules・.windsurfrules・.clinerulesへ書き込む方式)。
削減量の可視化
rtk gainコマンドで蓄積されたトークン削減量を確認できます。グラフ表示やJSON出力も備えており、API費用に換算した節約額も算出されます。
rtk gain # サマリー統計
rtk gain --graph # ASCIIグラフ(直近30日)
rtk gain --daily # 日別の内訳
v0.38.0(2026年4月29日リリース)では--resetフラグが追加され、統計をリセットできるようになりました。同バージョンからGitLab CLI(glab)コマンドのサポートも入っています。
まとめ
RTKはClaude Codeのコンテキストに入り込むノイズを、透過的なCLIプロキシとして除去するツールです。セットアップはHomebrew 1行とフック登録の1コマンドで完了し、設定後は意識せず使い続けられます。Claude Codeを日常的に使う開発者にとって、導入コストに対してリターンが大きいOSSです。