今日の優良食堂
実際に入れて動かして書いた、今日の一膳
ギット飯が代わりに導入・実行・コードまで確かめました
今日の優良食堂 · ギット飯が代わりに導入・分析

rtk-ai/rtk

シェルコマンドの出力を圧縮してLLMに送るRustツール、最大90%削減します

`rtk init -g`を1回実行するだけで、git・cargo・pytestなど100種類以上のコマンド出力が裏側で自動的に圧縮され、Claude CodeやGitHub Copilotに渡るcontext tokensが最大90%減るのを体感できます。プロンプト修正や追加設定は不要で、Rustバイナリなので10ミリ秒以下のオーバーヘッドしかなく、AWS CLI・docker・kubectlのような大量出力コマンドでもAIの応答が詰まらず進みます。`rtk gain`ダッシュボードでは削減できたトークン量とコマンド履歴が数字で確認でき、CI/CDの自動エージェント作業でログ量を絞ってコストを抑えたい場面でも、今すぐ自分の環境で試してその効果を確かめたくなります。

01 / 概要
何をするものか一文で言うと
ひとことでシェルコマンドの出力を圧縮してLLMに送るRustツール、最大90%削減します

rtkはRustで書かれた単一バイナリのCLIプロキシです。git status、cargo test、npm testなどのコマンド出力をLLMに渡す前にフィルタリング・圧縮し、エージェントが読むbash出力バイトを削減します。100種類以上のコマンドに対応し、Claude Code・Cursor・Codexなど複数のAIツール向けフックを同梱しています。

02 / 構造
どう動くのか中核のしくみ
読み方動きの流れを図と一緒にほどきました。

仕組みは3段階です。まずエージェント側のフック(PreToolUse等)がBashツール呼び出しを検知し、`rtk rewrite`にコマンド文字列を渡します。src/hooks/rewrite_cmd.rsがこれを受け取り、レジストリと照合して終了コードで判定を返します(0=自動書き換え、1=対象外でそのまま実行、2=拒否ルール一致、3=承認要求つき書き換え)。次に`git status`のようなコマンドは`rtk git status`に置き換わり、実際にはsrc/cmds配下の各コマンドモジュール(git・js・jvm・go・dotnet・phpなど)が生の出力を解析し、失敗のみ表示や件数集約など専用ロジックで圧縮します。最後にcore/trackingがSQLiteに削減バイト数を記録し、src/analytics配下の`rtk gain`や`rtk session`が読み取り専用でダッシュボード化します。トークン数はbytes÷4の概算であり、専用トークナイザは同梱していないとREADMEに明記されています。

03 / 体験
入れるとこんな体験になりますギット飯が実際にたどった順序
所要ギット飯が実際に導入・実行しながらたどった順序です。
  1. STEP 01

    `brew install rtk`または`install.sh`でバイナリを導入すると、単一実行ファイルとして`~/.local/bin`などに配置されます。

  2. STEP 02

    `rtk --version`と`rtk gain`を実行し、バージョン表示と空の削減ダッシュボードが出ることを確認します(crates.ioの同名パッケージと取り違えると`rtk gain`が失敗する点に注意、とREADMEにあります)。

  3. STEP 03

    `rtk init -g`(Claude Code向けなど)を実行すると、対象エージェントのフック設定ファイルが生成されます。

  4. STEP 04

    エージェントを再起動後、通常どおり`git status`を打つと、フックが裏で`rtk git status`に書き換え、40行の出力が3行程度に圧縮されて渡される、とdocs/guide/index.mdの図で説明されています。

  5. STEP 05

    `rtk gain --daily`や`rtk discover`を叩くと、日別の削減率やRTKを経由せず素通りしたコマンド(見逃した節約分)が一覧表示されます。

04 / 成果物
何が手に入るのか導入後に手元に残るもの

手に入るのは、対応コマンドの出力バイト削減率を可視化するダッシュボード(`rtk gain`)と、実際にエージェントへ渡るbash出力が短くなるという体験です。ただしREADME自身が、バイト削減率とAPI課金の削減率は同じではないと明言しており、絶対トークン数はbytes÷4の概算にすぎません。

05 / 注意
ここは先に知っておいてください先に知っておくとよいこと
正直なところ誰にでも合うとは言いにくいところです。
01

フックが効くのはBashツール呼び出しのみで、Claude CodeのRead・Grep・Globなど組み込みツールは自動書き換えの対象外、とREADMEに明記されています。

02

報告されるトークン数はbytes÷4の概算であり、実際の課金トークナイザとは異なるため、絶対値ではなく削減率の参考値として扱うべきです。

03

crates.ioに同名の別プロジェクト(Rust Type Kit)が存在するため、`cargo install`時は`--git`指定でリポジトリから直接入れる必要があります。

04

対応コマンドはgit・cargo・npm・go・dotnet・phpなど多岐にわたりますが、リストにない独自スクリプトやコマンドは当然圧縮対象外です。

06 / 結論
ギット飯の結論食べてみる価値のある一膳か
ギット飯の最終判断優良食堂

日常的にClaude CodeやCursorなどのエージェント経由でgit・test・lint系コマンドを多用し、bash出力でコンテキストを消費しがちな開発者には向いています。単一Rustバイナリで導入コストが低く、`rtk gain`で効果を数値確認できる設計も実務向きです。ソースコード(cmds配下の各言語モジュール、core/tracking、analytics)とREADMEの記述が一致しており、削減率と課金削減を意図的に区別して誠実に説明している点は、実測せずとも一定の信頼を置ける根拠になります。一方で、対応コマンド以外や組み込みツール経由の呼び出しには効果が及ばない点は事前に理解しておくべきです。

今日の残りの一膳
SUBSCRIBER LIBRARY
これまでに検証した優良食堂を一堂に

4 つの関門を通った優良食堂がすべてバックナンバーに集まっています。いちばん新しい一膳はどなたでも無料で読め、それより前の優良食堂の検証の根拠・詳しい解説は ギット飯 プレミアムのご購読ですでに開いています。

優良食堂バックナンバー →
リポジトリ詳細🧪 ひと言で味見する