Claude Code を使い続けると、トークン消費が思いのほか速く、使用制限に達してしまうことがある。その主な原因のひとつが、ターミナルコマンドの出力だ。git status や npm install が吐き出すプログレスバー・警告・ログといったノイズが、そのままコンテキストに流れ込んでいる。
この問題を解決するツールが RTK(Rust Token Killer) だ。
RTK とは
RTK は Claude Code とターミナルの間に挟む「CLI プロキシ」ツール。Rust 製の単一バイナリで、依存関係ゼロのオープンソースプロジェクトだ。
- GitHub: rtk-ai/rtk
- 公式サイト: https://www.rtk-ai.app/
コマンドを透過的にラップして出力をフィルタリングし、LLM のコンテキストに送る情報量を大幅に削減する。実測で 60〜90% のトークン削減、1,000 万トークン以上の削減(89% 削減)を達成した事例も報告されている。
4 つの最適化戦略
RTK は以下の戦略でターミナル出力を圧縮する:
| 戦略 | 内容 |
|---|---|
| スマートフィルタリング | ANSI エスケープコード、スピナー、プログレスバーを除去 |
| グルーピング | 関連する出力をまとめて集約 |
| 重複除去 | 繰り返しパターンを排除 |
| トランケーション | エラーは保持しつつ、冗長な成功出力を切り詰め |
オーバーヘッドは 1 コマンドあたり 10ms 未満で、100 以上の開発コマンドに対応している。
セットアップ
| |
-g フラグでグローバルインストール。Claude Code / GitHub Copilot との統合も自動で設定される。
インストール後、RTK はコマンドを透過的に書き換える。たとえば git status は内部で rtk git status として実行され、Claude には圧縮済みの出力が渡される。ユーザーが意識する必要はない。
Claude Code ビルトイン機能との棲み分け(2026年4月時点)
Claude Code 自体もトークン効率の改善を重ねており、RTK と機能が重複する部分がある。現状の棲み分けを整理する。
| 機能 | Claude Code ビルトイン | RTK |
|---|---|---|
| 長い出力のトランケーション | あり(一定行数で自動切り詰め) | あり(スマートに切り詰め) |
| コンテキスト圧縮 | あり(会話全体を自動圧縮) | なし(コマンド出力のみ対象) |
| プロンプトキャッシュ | あり(5分 TTL) | なし |
| ANSI エスケープ除去 | なし | あり |
| プログレスバー・スピナー除去 | なし | あり |
| 重複出力パターンの集約 | なし | あり |
Claude Code のトランケーションは「長すぎる出力を末尾から切る」シンプルな仕組みだ。一方、RTK は出力の中身を理解してノイズだけを選択的に除去する。npm install のプログレスバーや docker build のレイヤーキャッシュログなど、人間が読み飛ばすような出力を的確にフィルタできる点が RTK の強みだ。
ただし、Claude Code のコンテキスト圧縮やプロンプトキャッシュが効いている現在、RTK 公称の「60〜90% 削減」という数字はそのまま当てはまらない可能性がある。実際の効果はワークロード(ビルド系コマンドが多いか、ファイル操作が中心か)によって大きく変わる。
RTK が特に効果的なケース:
npm install/pip installなど大量のログを出すパッケージ管理コマンドdocker buildのレイヤーごとの出力cargo build/makeなどの長いビルドログ- CI/CD 的なタスクを Claude Code に任せる場面
逆に、ファイルの読み書きや git 操作が中心のワークフローでは効果は限定的だ。
まとめ
Claude Code の使用制限が気になっているなら、RTK は試す価値がある選択肢だ。依存関係ゼロの単一バイナリなので導入コストも低く、rtk init -g の一発で動き始める。
Claude Code 自体のトークン効率は大幅に改善されているが、RTK はビルトイン機能がカバーしない「出力ノイズの選択的除去」を担う。特にビルド系コマンドを多用するプロジェクトでは、コンテキスト品質の向上を通じてエージェントの判断精度にも貢献する。