<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>RTK on KnightLiブログ</title>
        <link>https://knightli.com/ja/tags/rtk/</link>
        <description>Recent content in RTK on KnightLiブログ</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>ja</language>
        <lastBuildDate>Wed, 27 May 2026 13:52:01 +0800</lastBuildDate><atom:link href="https://knightli.com/ja/tags/rtk/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>RTK：AIコーディングエージェントのtokenを節約するCLIプロキシ</title>
        <link>https://knightli.com/ja/2026/05/27/rtk-ai-cli-proxy-token-savings/</link>
        <pubDate>Wed, 27 May 2026 13:52:01 +0800</pubDate>
        
        <guid>https://knightli.com/ja/2026/05/27/rtk-ai-cli-proxy-token-savings/</guid>
        <description>&lt;p&gt;&lt;code&gt;rtk-ai/rtk&lt;/code&gt; は、AIコーディングエージェント向けのコマンドラインプロキシです。考え方はかなり直接的です。多くの agent は開発中に &lt;code&gt;ls&lt;/code&gt;、&lt;code&gt;cat&lt;/code&gt;、&lt;code&gt;grep&lt;/code&gt;、&lt;code&gt;git status&lt;/code&gt;、&lt;code&gt;git diff&lt;/code&gt;、テストコマンド、ビルドコマンドを頻繁に呼び出しますが、その生の出力は長く、重複も多くなりがちです。RTK は、その出力が LLM のコンテキストに入る前にフィルタリングと圧縮を行い、モデルがより短く有用な結果を読めるようにします。&lt;/p&gt;
&lt;p&gt;プロジェクト： &lt;a class=&#34;link&#34; href=&#34;https://github.com/rtk-ai/rtk&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;rtk-ai/rtk&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;解決しようとしている問題&#34;&gt;解決しようとしている問題
&lt;/h2&gt;&lt;p&gt;AIコーディングツールで本当に高くつくのは、モデル呼び出し回数だけではありません。コンテキストに詰め込まれる無効な情報もコストになります。&lt;/p&gt;
&lt;p&gt;たとえば：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ls -la&lt;/code&gt; は大量の権限、時刻、無関係なファイルを出力することがあります。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git diff&lt;/code&gt; には重複したコンテキストが多く含まれることがあります。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pytest&lt;/code&gt;、&lt;code&gt;cargo test&lt;/code&gt;、&lt;code&gt;npm test&lt;/code&gt; が失敗したときに重要なのは、失敗したケースとスタックトレースであり、すべての成功項目ではありません。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;docker ps&lt;/code&gt;、&lt;code&gt;kubectl pods&lt;/code&gt;、&lt;code&gt;aws&lt;/code&gt; コマンドはフィールドが多い一方、agent が必要とするのは少数の重要情報だけです。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これらの出力がそのままモデルのコンテキストに入ると、token はすぐに消費されます。RTK の目的はこれらのコマンドを置き換えることではなく、コマンドと AIコーディングエージェントの間に「圧縮プロキシ」を挟むことです。&lt;/p&gt;
&lt;h2 id=&#34;rtk-の基本的な動き&#34;&gt;RTK の基本的な動き
&lt;/h2&gt;&lt;p&gt;RTK の README では、コマンド出力が LLM context に届く前に結果をフィルタリングして圧縮するツールとして説明されています。Rust 製の単一バイナリで、多くの一般的な開発コマンドに対応し、低オーバーヘッドを強調しています。&lt;/p&gt;
&lt;p&gt;主に次の4つの処理を行います。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Smart Filtering&lt;/strong&gt;：コメント、空白、定型文、価値の低いノイズを取り除く。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Grouping&lt;/strong&gt;：ディレクトリ、エラー種別、ステータスなどで似た項目をまとめる。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Truncation&lt;/strong&gt;：重要なコンテキストを残し、重複や重要度の低い部分を切る。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Deduplication&lt;/strong&gt;：重複ログを短いカウント表現に折りたたむ。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;agent から見ると、コマンド自体は見慣れた開発コマンドのままです。変わるのは、モデルに返される結果が短くなる点です。&lt;/p&gt;
&lt;h2 id=&#34;対応しているコマンド&#34;&gt;対応しているコマンド
&lt;/h2&gt;&lt;p&gt;RTK が対象にするのは、日常的な開発現場でよく使うコマンドです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ファイル確認：&lt;code&gt;rtk ls&lt;/code&gt;、&lt;code&gt;rtk read&lt;/code&gt;、&lt;code&gt;rtk find&lt;/code&gt;、&lt;code&gt;rtk grep&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Git：&lt;code&gt;rtk git status&lt;/code&gt;、&lt;code&gt;rtk git log&lt;/code&gt;、&lt;code&gt;rtk git diff&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;GitHub CLI：&lt;code&gt;rtk gh pr list&lt;/code&gt;、&lt;code&gt;rtk gh pr view&lt;/code&gt;、&lt;code&gt;rtk gh issue list&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;テスト：&lt;code&gt;rtk pytest&lt;/code&gt;、&lt;code&gt;rtk go test&lt;/code&gt;、&lt;code&gt;rtk cargo test&lt;/code&gt;、&lt;code&gt;rtk vitest&lt;/code&gt;、&lt;code&gt;rtk playwright test&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;ビルドと lint：&lt;code&gt;rtk lint&lt;/code&gt;、&lt;code&gt;rtk tsc&lt;/code&gt;、&lt;code&gt;rtk next build&lt;/code&gt;、&lt;code&gt;rtk cargo clippy&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;コンテナとクラウド：&lt;code&gt;rtk docker ps&lt;/code&gt;、&lt;code&gt;rtk docker logs&lt;/code&gt;、&lt;code&gt;rtk kubectl pods&lt;/code&gt;、&lt;code&gt;rtk aws sts get-caller-identity&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;データとログ：&lt;code&gt;rtk json&lt;/code&gt;、&lt;code&gt;rtk deps&lt;/code&gt;、&lt;code&gt;rtk env&lt;/code&gt;、&lt;code&gt;rtk log&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;この種のツールは、agent がコマンド出力を高頻度で読む場面に向いています。コードを書くためのツールではなく、agent が読むノイズを減らすためのツールです。&lt;/p&gt;
&lt;h2 id=&#34;インストールと接続方法&#34;&gt;インストールと接続方法
&lt;/h2&gt;&lt;p&gt;README にはいくつかのインストール方法が示されています。&lt;/p&gt;
&lt;p&gt;Homebrew：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;brew install rtk
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Linux/macOS のクイックインストール：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Cargo：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cargo install --git https://github.com/rtk-ai/rtk
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;インストール後は、まずバージョンと統計情報を確認できます。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rtk --version
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rtk gain
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;AIコーディングツールに接続するには、初期化コマンドを使います。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rtk init -g
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rtk init -g --gemini
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rtk init -g --codex
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rtk init -g --agent cursor
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rtk init --agent windsurf
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rtk init --agent cline
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;初期化後は、対応する AI ツールを再起動する必要があります。hook に対応した agent では、Bash コマンドが実行前に書き換えられます。たとえば &lt;code&gt;git status&lt;/code&gt; は &lt;code&gt;rtk git status&lt;/code&gt; になり、agent は圧縮された出力を受け取ります。&lt;/p&gt;
&lt;h2 id=&#34;注意点&#34;&gt;注意点
&lt;/h2&gt;&lt;p&gt;RTK の効果は、agent が本当に shell コマンド経由で情報を読んでいるかに左右されます。&lt;/p&gt;
&lt;p&gt;README では、Claude Code の組み込み &lt;code&gt;Read&lt;/code&gt;、&lt;code&gt;Grep&lt;/code&gt;、&lt;code&gt;Glob&lt;/code&gt; のようなツールは Bash hook を通らないため、RTK によって自動的には書き換えられないと説明されています。RTK を介入させるには、&lt;code&gt;cat&lt;/code&gt;、&lt;code&gt;head&lt;/code&gt;、&lt;code&gt;tail&lt;/code&gt;、&lt;code&gt;rg&lt;/code&gt;、&lt;code&gt;grep&lt;/code&gt;、&lt;code&gt;find&lt;/code&gt; などの shell コマンドを使うか、&lt;code&gt;rtk read&lt;/code&gt;、&lt;code&gt;rtk grep&lt;/code&gt;、&lt;code&gt;rtk find&lt;/code&gt; を直接呼び出す必要があります。&lt;/p&gt;
&lt;p&gt;ここは重要です。RTK はすべての agent I/O を透明に圧縮するものではありません。shell コマンド層のプロキシに近いものです。&lt;/p&gt;
&lt;p&gt;Windows ユーザーについても、README では &lt;code&gt;rtk.exe&lt;/code&gt; をダブルクリックするのではなく、PATH に置いて Command Prompt、PowerShell、Windows Terminal から使うことを推奨しています。完全な hook 体験が欲しい場合は、WSL の方が自然だとも述べています。&lt;/p&gt;
&lt;h2 id=&#34;向いているユーザー&#34;&gt;向いているユーザー
&lt;/h2&gt;&lt;p&gt;RTK は次の3種類のユーザーに向いています。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;AIコーディングを多用するユーザー&lt;/strong&gt;：毎日 agent に多くの &lt;code&gt;git&lt;/code&gt;、&lt;code&gt;rg&lt;/code&gt;、テスト、ビルドコマンドを実行させる人。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;大規模リポジトリのユーザー&lt;/strong&gt;：コマンド出力が数百行になり、agent が無関係なコンテキストに埋もれがちなチーム。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;token コストとコンテキストウィンドウを気にする人&lt;/strong&gt;：モデルの注意を失敗、変更、重要ファイルに向けたい人。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;プロジェクトが小さい場合や、agent が主に IDE 組み込みツールでファイルを読む場合、RTK の効果はそれほど強く感じないかもしれません。真価を発揮するのは、コマンドライン出力が長く、かつ頻繁に発生する開発フローです。&lt;/p&gt;
&lt;h2 id=&#34;私の見方&#34;&gt;私の見方
&lt;/h2&gt;&lt;p&gt;RTK の方向性は実用的です。多くの AIコーディングワークフローは、より強いモデル、より大きなコンテキスト、より長いタスクに注目しています。しかし開発現場にはもっと素朴な問題があります。agent は必要以上に多くのものを読んでしまうことが多いのです。&lt;/p&gt;
&lt;p&gt;コマンド出力を先に圧縮してからモデルに渡せば、token 消費を減らせますし、ノイズによってモデルが誤った方向へ引っ張られる可能性も下げられます。&lt;/p&gt;
&lt;p&gt;ただし魔法のスイッチではありません。RTK をうまく使うには、agent の作業を shell コマンド寄りにし、現在のツールで hook が本当に効いているか確認する必要があります。Codex、Claude Code、Gemini CLI、Cursor、Windsurf のような場面では、RTK は試す価値のある「コンテキスト節流器」です。開発コマンド自体は変えずに、agent が読む結果をよりきれいにします。&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
