RTKとは何か:LLMトークンを60〜90%削減するCLIプロキシ
AIコーディングツールを使っていると、git statusやlsのような単純なコマンドでも数千トークンを消費する。30分のClaude Codeセッションで約118,000トークン——これがRTKを使うと約23,900トークンまで圧縮される。削減率80%だ。
RTK(Rust Token Killer)は、コマンド出力をLLM向けにフィルタリング・圧縮するCLIプロキシツール。依存関係ゼロの単一Rustバイナリで、オーバーヘッドは10ms未満。フック設定1行で、既存のワークフローを一切変えずにトークン消費を大幅に削減する。
# インストールしてフック設定するだけ
brew install rtk
rtk init -g # Claude Code用グローバルフック設定
# 以降、Claude Codeを再起動すればコマンドが自動的にRTK経由で実行される
100以上のコマンドに対応し、Claude Code、Cursor、GitHub Copilot、Gemini CLIなど主要なAIコーディングツールで使える。
RTKの4つの圧縮戦略:なぜ80%も削減できるのか
RTKは単に出力を切り詰めるのではなく、4つの最適化戦略でLLMに必要な情報だけを残す。
例: git status"] --> B["Smart Filtering
ノイズ・空白・コメント除去"] B --> C["Grouping
類似項目を集約"] C --> D["Truncation
冗長部分を削減"] D --> E["Deduplication
重複行をカウント統合"] E --> F["圧縮出力
60-90%削減"] style A fill:#4A90D9,color:#fff style F fill:#50C878,color:#fff
| 戦略 | 処理内容 | 効果 |
|---|---|---|
| Smart Filtering | ノイズ(コメント、空白行、ボイラープレート)を除去 | 不要情報の排除 |
| Grouping | ファイルをディレクトリ別、エラーを種類別に集約 | 構造化された出力 |
| Truncation | コンテキストを保持しつつ冗長部分を削減 | 必要十分な情報量 |
| Deduplication | 繰り返しログ行をカウント付きで統合 | ログ出力の大幅圧縮 |
たとえばcargo testの出力は25,000トークンだが、RTK経由なら失敗テストのみを抽出して2,500トークン(90%削減)になる。LLMが必要とするのは「何が失敗したか」であり、成功テストの詳細ではないからだ。
インストールと初期設定:3分で完了するトークン削減
インストール方法
3つの方法から選べる。
# 方法1: Homebrew(推奨)
brew install rtk
# 方法2: クイックインストール(Linux/macOS)
curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | sh
# 方法3: Cargo(Rust環境がある場合)
cargo install --git https://github.com/rtk-ai/rtk
インストール確認:
rtk --version
# → rtk 0.28.2
注意: crates.ioに同名パッケージ(Rust Type Kit)が存在する。cargo install rtkではなく、必ず--gitフラグ付きでインストールすること。
AIツール別のフック設定
RTKの真価はAuto-Rewriteフックにある。一度設定すれば、Bashコマンドが自動的にRTK経由で実行される。
# Claude Code(デフォルト)
rtk init -g
# GitHub Copilot(VS Code)
rtk init -g --copilot
# Cursor
rtk init -g --agent cursor
# Gemini CLI
rtk init -g --gemini
# Windsurf(プロジェクトスコープ)
rtk init --agent windsurf
# Cline / Roo Code
rtk init --agent cline
設定後、対象のAIツールを再起動するだけで有効になる。
| AIツール | インストールコマンド | 方式 |
|---|---|---|
| Claude Code | rtk init -g |
PreToolUseフック(bash) |
| GitHub Copilot | rtk init -g --copilot |
PreToolUseフック + 透過リライト |
| Cursor | rtk init -g --agent cursor |
hooks.jsonフック |
| Gemini CLI | rtk init -g --gemini |
BeforeToolフック |
| Windsurf | rtk init --agent windsurf |
.windsurfrules(プロジェクト) |
| Cline/Roo Code | rtk init --agent cline |
.clinerules(プロジェクト) |
重要: フックはBashツール経由のコマンドにのみ適用される。Claude Codeの組み込みツール(Read, Grep, Glob)はフックの対象外で、そのまま動作する。
トークン削減効果:30分のセッションで94,000トークン節約
公式READMEに掲載されている30分のClaude Codeセッションの実測データを見てみよう。
| 操作 | 実行回数 | 標準出力(トークン) | RTK使用時(トークン) | 削減率 |
|---|---|---|---|---|
ls / tree |
10回 | 2,000 | 400 | -80% |
cat / read |
20回 | 40,000 | 12,000 | -70% |
grep / rg |
8回 | 16,000 | 3,200 | -80% |
git status |
10回 | 3,000 | 600 | -80% |
cargo test |
5回 | 25,000 | 2,500 | -90% |
cargo build |
5回 | 20,000 | 4,000 | -80% |
| その他 | 12回 | 12,000 | 1,200 | -90% |
| 合計 | 70回 | 118,000 | 23,900 | -80% |
1セッションで約94,000トークンの節約。Claude Code Proプラン(月額$100〜$200)のユーザーなら、同じ予算でより多くのセッションを実行できる。API課金ユーザーなら直接的なコスト削減になる。
対応コマンド一覧:15カテゴリ・100以上のコマンド
RTKが対応するコマンドは多岐にわたる。主要カテゴリを紹介する。
ファイル操作
rtk ls # トークン最適化されたディレクトリツリー
rtk read file.rs # スマートファイル読み取り(-l aggressiveオプションあり)
rtk find "*.ts" # コンパクトな検索結果
rtk grep "TODO" # グループ化された検索結果
rtk diff a.rs b.rs # 凝縮されたdiff
Git操作
rtk git status # コンパクトなステータス(-80%)
rtk git log -n 10 # 1行コミット表示
rtk git diff # 凝縮されたdiff
rtk git push # 最小出力(例: "ok abc1234")
テスト実行
rtk test cargo test # 失敗のみ表示(-90%)
rtk pytest # Python テスト(-90%)
rtk vitest run # Vitest コンパクト表示
rtk go test ./... # Go テスト NDJSON(-90%)
rtk rspec # Ruby テスト JSON(-60%+)
ビルド・リント
rtk lint # ESLint ルール/ファイル別グループ化
rtk tsc # TypeScriptエラーをファイル別集約
rtk cargo build # Cargo出力(-80%)
rtk ruff check # Python リント JSON(-80%)
AWS・Docker
rtk aws sts get-caller-identity # 1行のID情報
rtk aws ec2 describe-instances # コンパクトなインスタンス一覧
rtk docker ps # コンパクトなコンテナ一覧
rtk docker logs <container> # 重複排除済みログ
rtk kubectl pods # コンパクトなPod一覧
効果を確認する:rtk gainとrtk discover
RTKにはトークン削減効果を可視化する分析コマンドが組み込まれている。
# 累計のトークン削減統計
rtk gain
# 30日間のASCIIグラフ表示
rtk gain --graph
# コマンド別の使用履歴と削減率
rtk gain --history
# まだRTK経由になっていないコマンドを検出
rtk discover
# RTKの採用率メトリクス
rtk session
rtk discoverは特に便利だ。Claude Codeの実行履歴を分析し、「RTKを使えばさらに削減できたコマンド」を提案してくれる。導入初期に実行して最適化の余地を確認するのがおすすめだ。
他のトークン削減手法との比較
トークン消費を抑える方法はRTK以外にもある。それぞれの特徴を整理した。
| 手法 | 削減率 | 導入コスト | 適用範囲 | 透過性 |
|---|---|---|---|---|
| RTK | 60-90% | フック1行 | 100+コマンド | 完全透過 |
| 手動でコマンド出力を加工 | 可変 | 毎回手作業 | 限定的 | なし |
.clinerules等でプロンプト制御 |
20-40% | ルール記述 | プロンプトのみ | 部分的 |
| コンテキストウィンドウ制限 | 可変 | 設定変更 | 全体 | 制限あり |
| LLMモデルの切替(小型モデル) | コスト減 | なし | 全体 | 品質低下あり |
RTKの強みは完全透過であること。フックが自動的にコマンドをリライトするため、開発者もAIも意識する必要がない。Claude CodeのAuto Modeと組み合わせれば、自律的なコーディングセッションのコスト効率が大幅に向上する。
まとめ:RTK導入で変わるAIコーディングのコスト構造
RTKが解決するのは「AIコーディングツールのトークン消費が多すぎる」という問題だ。
- 導入は3分:
brew install rtk && rtk init -g→ Claude Code再起動で完了 - 削減効果は即座に実感: 30分セッションで約94,000トークン(80%)削減
- ワークフロー変更ゼロ: フックが透過的に動作し、既存の使い方をそのまま維持
- 幅広い対応: Claude Code、Cursor、GitHub Copilot、Gemini CLIなど主要ツールをカバー
OpenHandsやBrowser UseのようなAIエージェントを長時間稼働させるケースでは、トークン消費の最適化がランニングコストに直結する。RTKはその最もシンプルな解決策だ。