rtk - LLMのトークン消費を60〜90%削減するCLIプロキシ
(github.com/rtk-ai)- AIコーディングツールが実行するCLIコマンドの出力をLLMに渡す前にフィルタリング・圧縮し、トークンを60〜90%削減する単一のRustバイナリ(Windows/macOS/Linux)
- git、grep、ls、cargo test など100以上のコマンドをサポートし、コマンド出力をLLMコンテキストに渡す前に、スマートフィルタリング・グルーピング・トランケーション・重複排除の4つの戦略を適用
- Claude Code、Codex、Cursor、Gemini CLI など10種類のAIコーディングツールをサポートし、フック(hook)をインストールするとbashコマンドを自動的にrtkの同名コマンドへ透過的に書き換え
- このフックはBashツール呼び出しにのみ適用され、Claude Codeの組み込みツールである
Read、Grep、Globなどはこのフックをバイパスするため、RTKフィルタリングを適用するにはシェルコマンドまたは明示的なrtkコマンドを使う必要がある
- このフックはBashツール呼び出しにのみ適用され、Claude Codeの組み込みツールである
- 30分のClaude Codeセッション基準の想定削減量は、標準の約118,000トークンに対して約23,900トークン(約80%削減)
cargo test/npm test、pytest、go testなどのテストランナーでは最大90%まで削減
- 始め方
# 1. インストール rtk init -g # Claude Code / Copilot (default) rtk init -g --gemini # Gemini CLI rtk init -g --codex # Codex (OpenAI) rtk init -g --agent cursor # Cursor # 2. その後AIツールを再起動 git status # これで rtk git status として動作 - Apache-2.0ライセンス
9件のコメント
結局は品質とのトレードオフで、失われた品質を復元するためにかえってトークンをより多く使う構造になってしまうのではないか、という懸念もあります。
以前使ってみましたが、Claudeがrtkによる問題を解決するためにかえって多くのトークンを消費してしまうので、削除しました。
(例えば、
curlでJSONリクエストを送ると無効なJSONを生成してjqがエラーを出し、それをClaudeがデバッグしながらトークンを溶かしたあげく、結局は生のcurlリクエストを再度受け取ってjqでパースするような状況です)それでも発想自体は良い試みだと思うので、安定化したら使ってみる価値はありそうです。
本当に減るのかはよく分からない。agent に
rtk ls..コマンドを使うよう何度も案内したのに、使ってくれない個人的にも使ってみてはいるのですが、rtk の圧縮のせいで Claude Code が必要なコンテキストをコマンドの結果から確保できない場合もあり、ケースバイケースな気がしますね。
私もその部分は残念に感じていました!
最近のアップデートで、full output を別ファイルとして残して、LLM が必要なら読めるようになりました〜
ほかのユーザーの利用事例では、少し副作用があるようですね。
早いうちに克服して、うまく適用されることを願っています。
https://reddit.com/r/ClaudeCode/…
うまく減らしてくれるなら、かなり良さそうですね!
いいアイデアですね。
ただ、学習は一般的なCLI出力を基準に行われているはずなので、こうしてcondenseすると出力が以前のようにうまく出るのか少し懸念があります。
一度使ってみます
contextmodeと…比較してみる必要がありそうですね