TL;DR:RTK は Rust で書かれた CLI プロキシツールで、LLM プログラミングツール(Claude Code、Cursor、Gemini CLI など)がコマンドを実行する際、出力を自動的にフィルタリング・圧縮し、トークン消費を 60〜90% 削減します。シングルバイナリ・ゼロ依存・100+ コマンド対応。インストールはワンコマンドだけ。

Claude Code、Cursor、Gemini CLI といった AI プログラミングアシスタントを毎日使っているなら、こんな問題に必ず直面するはずです。AI が git status、ls、cat、cargo test などのコマンドを実行するたびに、生の出力がそのまま LLM のコンテキストウィンドウに押し込まれ、トークンをガンガン消費してしまう。

30 分のコーディングセッションで約 118,000 トークンを消費し、そのうち 94,100 トークンは冗長情報です。

RTK はこの問題を解決するために生まれました。Rust で書かれ、コンパクト(単一バイナリ、ゼロ依存)で、コマンドの実行パスに割り込んで出力をスマートにフィルタリングし、重要な情報だけを残します。30 分のセッションで 118,000 トークンが約 23,900 に — 80% の削減です。

RTK とは?

RTK(Rust Token Killer = Rust 製のトークンキラー)は、あなたと LLM の間に位置する CLI プロキシレイヤーです。LLM ではないし、IDE プラグインでもない。とても賢い「中間人」です。

  RTK なし:                                  RTK あり:

  Claude  --git status-->  shell  -->  git       Claude  --git status-->  RTK  -->  git
    ^                                   |           ^                      |          |
    |        ~2,000 tokens (生出力)      |           |   ~200 tokens         | スマート  |
    +-----------------------------------+           +------ (圧縮出力) ------+----------+

AI ツールがコマンドを実行すると、RTK は以下の処理を行います:

  1. スマートフィルタリング — コメント、空白、定型文を除去
  2. スマートグルーピング — ディレクトリやタイプ別に類似項目を集約(ファイルはディレクトリ別に、エラーは種類別に)
  3. スマート切り詰め — 重要なコンテキストは残し、冗長な内容はカット
  4. 重複マージ — 繰り返しのログ行をカウントにまとめる

プロジェクト情報:

項目 値
GitHub rtk-ai/rtk
言語 Rust
ライセンス Apache 2.0
Stars 68,000+
最新バージョン 0.28.2
依存 なし(単一静的バイナリ)

RTK のインストール

インストールはとてもシンプル。ランタイムへの依存は一切なく、独立したバイナリファイルです。

macOS / Linux

推奨:Homebrew

BASH
brew install rtk

クイックインストールスクリプト:

BASH
curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | sh

~/.local/bin にインストールされます。PATH に追加しておきましょう: bash echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc source ~/.bashrc

Cargo からインストール:

BASH
cargo install --git https://github.com/rtk-ai/rtk

Windows

GitHub Releases から rtk-x86-64-pc-windows-msvc.zip をダウンロードし、rtk.exe を PATH の通ったディレクトリ(例:C:\Users\<ユーザー名>\.local\bin)に配置してください。

⚠️ exe をダブルクリックで実行しないでください。コマンドライン(PowerShell/CMD/Windows Terminal)から実行する必要があります。

インストールの確認

BASH
rtk --version   # "rtk 0.28.2" と表示されれば OK
rtk gain        # トークン節約の統計が表示される

名前の衝突に注意:crates.io には "rtk"(Rust Type Kit)という別のプロジェクトがあります。rtk gain がエラーになる場合は、間違ったパッケージをインストールしています。上記の cargo install --git 方式でインストールしてください。

クイックスタート:3 分で AI ツールに接続

インストール完了後、ワンステップで AI プログラミングツールに RTK を有効化できます:

BASH
# Claude Code / Copilot(デフォルト)
rtk init -g

# Gemini CLI
rtk init -g --gemini

# Codex(OpenAI)
rtk init -g --codex

# Cursor
rtk init -g --agent cursor

# Windsurf
rtk init -g --agent windsurf

# Cline / Roo Code
rtk init --agent cline

# Kilo Code
rtk init --agent kilocode

# Google Antigravity
rtk init --agent antigravity

-g(--global)オプションの役割:AI ツールの設定ファイルを自動的に書き換え、よく使うコマンド(git status など)を rtk git status に置き換えます。AI ツールの再起動後に有効になります。

BASH
# Claude Code 再起動後にテスト
git status  # 自動的に rtk git status に書き換えられる

⚠️ Hook は Bash ツール呼び出しにのみ適用されます。Claude Code の組み込みツール(Read、Grep、Glob など)は Bash hook を通らないため、自動では書き換えられません。これらの場面でも圧縮出力を得たい場合は、シェルコマンド(cat/rg/find)を直接使うか、rtk read、rtk grep、rtk find を手動で呼び出してください。

RTK が対応するコマンド一覧

RTK は 100 以上のコマンドの圧縮出力に対応し、ファイル操作、Git、テスト、ビルド、パッケージ管理、クラウドサービスなど幅広いシーンをカバーします。

ファイル操作

BASH
rtk ls .                        # スマートディレクトリツリー(トークン -80%)
rtk read file.rs                # スマートファイル読み取り
rtk read file.rs -l aggressive  # 関数シグネチャのみ保持(関数本体は除去)
rtk smart file.rs               # 2 行のヒューリスティックコード要約
rtk find "*.rs" .               # 圧縮版 find 結果
rtk grep "pattern" .            # グルーピングされた検索結果
rtk diff file1 file2            # 圧縮 diff(ファイルが異なる場合 exit 1)

Git 操作

BASH
rtk git status                  # コンパクトなステータス
rtk git log -n 10               # ワンラインのコミットログ
rtk git diff                    # 圧縮 diff
rtk git add                     # → "ok"
rtk git commit -m "msg"         # → "ok abc1234"
rtk git push                    # → "ok main"
rtk git pull                    # → "ok 3 files +10 -2"

git push の効果は非常に劇的です:

BASH
# git push(15 行、~200 トークン)          # rtk git push(1 行、~10 トークン)
Enumerating objects: 5, done.             ok main
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 456 bytes | 456.00 KiB/s, done.
...

15 行から 1 行に圧縮。トークン 95% 削減。

テストランナー

BASH
rtk pytest                      # Python テスト(-90%)
rtk cargo test                  # Rust テスト(-90%)
rtk go test                     # Go テスト(NDJSON、-90%)
rtk jest                        # Jest コンパクト出力
rtk vitest                      # Vitest コンパクト出力
rtk playwright test             # E2E テスト結果(失敗のみ)
rtk err <cmd>                   # 任意コマンドからエラーを抽出
rtk test <cmd>                  # 汎用テストラッパー — 失敗のみ(-90%)

ビルド & Lint

BASH
rtk tsc                         # TypeScript エラーをファイル別にグループ化
rtk cargo build                 # Cargo ビルド(-80%)
rtk cargo clippy                # Cargo clippy(-80%)
rtk ruff check                  # Python linting(JSON、-80%)
rtk golangci-lint run           # Go linting(JSON、-85%)
rtk next build                  # Next.js ビルド圧縮
rtk prettier --check .          # フォーマットが必要なファイル

Docker & コンテナ

BASH
rtk docker ps                   # コンパクトなコンテナ一覧
rtk docker images               # コンパクトなイメージ一覧
rtk docker logs <container>     # 重複除去されたログ
rtk kubectl pods                # コンパクトな Pod 一覧
rtk kubectl logs <pod>          # 重複除去されたログ

AWS CLI

BASH
rtk aws sts get-caller-identity # ワンラインの ID 情報
rtk aws ec2 describe-instances  # コンパクトなインスタンス一覧
rtk aws lambda list-functions   # 名前/ランタイム/メモリ(キーは自動フィルタ)
rtk aws s3 ls                   # 切り詰めリスト + tee で復元可能
rtk aws dynamodb scan           # タイプ注釈の展開

データ分析

BASH
rtk json config.json            # 構造表示(値は除去)
rtk deps                        # 依存関係のサマリー
rtk env -f AWS                  # 環境変数のフィルタリング
rtk log app.log                 # 重複除去されたログ
rtk summary <long command>      # ヒューリスティック要約

トークン節約の分析:RTK の効果を確認

RTK には詳細な統計機能が組み込まれており、どのくらいトークンを節約したか一目でわかります:

BASH
rtk gain                        # サマリー統計
rtk gain --graph                # ASCII グラフ(直近 30 日間)
rtk gain --history              # 直近のコマンド履歴
rtk gain --daily                # 日別の詳細
rtk gain --all --format json    # JSON エクスポート(ダッシュボード用)

rtk discover                    # 未活用の節約機会を発見
rtk discover --all --since 7    # 全プロジェクト、直近 7 日間

rtk session                     # 最近のセッションの RTK 採用率を表示

グローバルオプション

BASH
-u, --ultra-compact    # ASCII アイコン + インラインフォーマット(追加のトークン節約)
-v, --verbose          # 詳細度を上げる(-v, -vv, -vvv)

実践:RTK + Claude Code の一日

あなたが Rust プロジェクトのフルタイム開発者だと仮定して、一日のワークフローを見ていきましょう。

朝:コードレビュー

BASH
# 今日のコミットを確認
git log --oneline --since="today"   # rtk がワンラインのコミットサマリーに圧縮

# PR リストをチェック
gh pr list                          # rtk がコンパクトな PR テーブルを出力

# PR の詳細を確認
gh pr view 42                       # rtk が PR 詳細 + チェックステータスを出力

午前:機能開発

BASH
# プロジェクト構造を確認
ls -la                              # rtk のディレクトリツリー(~150 トークン vs ~800)

# コアファイルを確認
read src/main.rs                    # rtk のスマート読み取り(シグネチャ + 重要ロジックを保持)

# テストを実行
cargo test                          # rtk は失敗テストのみ表示(-90%)

# コミット & プッシュ
git commit -m "feat: add auth"      # rtk → "ok abc1234"
git push                            # rtk → "ok main"

午後:CI デバッグ

BASH
# CI の実行結果を確認
gh run list                         # rtk がコンパクトなワークフロー状態を出力

# 失敗を調査
docker ps                           # rtk がコンパクトなコンテナ一覧を出力
docker logs my-container            # rtk が重複除去されたログを出力

# 修正後に再テスト
rtk test pytest                     # 汎用テストラッパー、失敗のみ表示

一日でどのくらい節約できた?

シーン 元のトークン RTK トークン 節約
ディレクトリ/ファイル閲覧 50,000 10,000 -80%
Git 操作 18,100 3,700 -80%
テスト実行 41,000 4,100 -90%
ビルド/Lint 18,000 3,600 -80%
その他 10,000 2,000 -80%
合計 137,100 23,400 -83%

Claude 3.5 Sonnet の $10/百万トークンで計算すると、一日で約 $1.14 の節約。月 20 営業日なら 約$22.8 — 大した金額じゃない? でもチーム 10 人なら?月額$228、年額$2,736 です。

より高価なモデル(Claude Opus など)を使えば、節約額はさらに大きくなります。

アーキテクチャの原理

RTK の設計哲学はとてもシンプルです:LLM にできることはやらない、LLM が見なくていいものだけ処理する。

RUST
// 疑似コード:RTK のコア処理フロー
fn process_command(cmd: &str, output: &str) -> String {
    match cmd_type(cmd) {
        CmdType::GitStatus => compact_git_status(output),
        CmdType::TestRunner => failures_only(output),
        CmdType::FileList => group_by_dir(output),
        CmdType::Logs => deduplicate(output),
        CmdType::Build => errors_only(output),
        _ => heuristic_summary(output),
    }
}

RTK は各コマンドタイプごとに異なる圧縮戦略を適用します:

  • git status:変更ファイルの簡易リストのみ保持、詳細な staged/unstaged の状態説明は除去
  • cargo test:失敗したテストケースのみ表示、合格テストは一行の統計にまとめる
  • ls/find:ディレクトリ別にグループ化、ファイル名のみ表示し、パーミッション/サイズ/日付は表示しない
  • docker logs:重複行を除去、同じログ行は初出 + カウントで表示
  • aws describe-*:メタデータを除去し、重要属性のみ保持(機密情報も自動フィルタリング)

RTK のバイナリはコンパイル後数 MB しかなく、起動オーバーヘッドは 10ms 未満。ほぼ体感ゼロです。

適用シーンと注意点

✅ 非常に効果的

  • AI プログラミングアシスタントのヘビーユーザー:Claude Code、Cursor、Gemini CLI で毎日 4 時間以上作業する
  • 多言語プロジェクト:Rust/Go/Python/TypeScript が混在し、様々なテストランナーをカバー
  • チーム協業:トークン予算を統一し、CI/CD での LLM 呼び出しコストを削減
  • クラウド環境:CI パイプラインで AI ツールを使う場合(トークン課金)

⚠️ 注意点

  • Hook は Bash 呼び出しのみ対象:Claude Code の組み込みツールは RTK を経由しない
  • 過度な圧縮でコンテキストが失われる可能性:複雑な問題のデバッグ時は --verbose で完全な出力を確認したほうがよい
  • 慣れが必要:AI ツールの出力が短くなるので、AI への指示の出し方を調整する必要があるかもしれない

まとめ

RTK は私が知る中で最も実用的で、即効性のある AI プログラミング支援ツールの一つです。派手な宣伝も、派手な UI もない。静かに働く Rust のバイナリが、毎日のトークン節約・コスト削減・スピードアップを実現してくれます。

30 秒でインストール、効果は永続。 これこそオープンソースの精神 — 最小のコードで、最も実用的な課題を解決する。

クイックスタート:

BASH
brew install rtk      # macOS
rtk init -g           # Claude Code 統合を有効化
# Claude Code を再起動して、トークン節約を開始

AI プログラミングツールが毎日何十・何百ものコマンドを実行するなら、RTK は絶対に試す価値があります。68K+ の GitHub Stars がその価値を証明しています — さあ、あなたの番です。


関連リンク: