Claude Code を使い続けると、トークン消費が思いのほか速く、使用制限に達してしまうことがある。その主な原因のひとつが、ターミナルコマンドの出力だ。git statusnpm install が吐き出すプログレスバー・警告・ログといったノイズが、そのままコンテキストに流れ込んでいる。

この問題を解決するツールが RTK(Rust Token Killer) だ。

RTK とは

RTK は Claude Code とターミナルの間に挟む「CLI プロキシ」ツール。Rust 製の単一バイナリで、依存関係ゼロのオープンソースプロジェクトだ。

コマンドを透過的にラップして出力をフィルタリングし、LLM のコンテキストに送る情報量を大幅に削減する。実測で 60〜90% のトークン削減、1,000 万トークン以上の削減(89% 削減)を達成した事例も報告されている。

4 つの最適化戦略

RTK は以下の戦略でターミナル出力を圧縮する:

戦略内容
スマートフィルタリングANSI エスケープコード、スピナー、プログレスバーを除去
グルーピング関連する出力をまとめて集約
重複除去繰り返しパターンを排除
トランケーションエラーは保持しつつ、冗長な成功出力を切り詰め

オーバーヘッドは 1 コマンドあたり 10ms 未満で、100 以上の開発コマンドに対応している。

セットアップ

1
rtk init -g

-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 はビルトイン機能がカバーしない「出力ノイズの選択的除去」を担う。特にビルド系コマンドを多用するプロジェクトでは、コンテキスト品質の向上を通じてエージェントの判断精度にも貢献する。