AI News HubLIVE
サイト内リライト2 分で読了

Tokencompress: AIエージェントのツールコンテキストを刈り込むサブ2msのGo CLI/MCPサイドカー

Tokencompress は、ゼロ依存でサブミリ秒(サブ2ms)の Go 製 CLI/MCP サイドカーです。AIエージェントのコンテキストウィンドウに入る前に、JSON・ターミナルログ・HTML などの生のツール出力を刈り込み、2回目の LLM 要約ターンなしで LLM コンテキストのトークン消費を60〜80%削減します。

ソースHacker News AI著者: ProffessorD

Tokencompress は、AIエージェントがツールを実行する際に発生する大量の生データを圧縮するために設計された軽量ツールです。Go で書かれており、外部依存関係がなく、非常に高速で、ラテンシーは 2ms 未満(サブミリ秒ともされています)です。CLI のパイプフィルターまたは MCP サイドカーとして動作し、データがモデルのコンテキストウィンドウに入る前に圧縮処理を行います。

AIエージェントが API を呼び出したり、ターミナルコマンドを実行したり、Web ページをスクレイピングしたりすると、未解析のデータが何千行も返されることがあります。たとえば、1000 要素の JSON 配列は 15,000 トークン以上を消費し、冗長なスタックトレースはフレームワークのノイズや node_modules のパスで溢れ、生の HTML には CSS やスクリプト、ナビゲーションメニューが含まれます。これらは API コストの増加、応答時間の低下、そしてエージェントがタスク中に幻覚やツール呼び出しの繰り返しを起こす「コンテキスト腐敗」を引き起こします。

Tokencompress は決定的なフィルタリングを提供します。JSON モードでは代表的なスキーマ例を保持し、冗長な配列項目をメタデータ(: N)に置き換えます。ログモードでは内部フレームワークのパスを除去し、根本エラーメッセージ、ユーザーのファイルパス、実行行だけを返します。HTML モードではスクリプトやスタイル、ナビゲーション要素を除去し、読みやすいテキストまたは Markdown に変換します。さらに、セッションごとにツール出力をハッシュ化し、同じツール結果が連続して2回届いた場合には警告ヘッダーを先頭に挿入します。

インストールは make build でコンパイルし、/usr/local/bin に移動するだけです。利用例としては、cat large_response.json | tokencompress --mode json で大きな JSON を圧縮、cat app.log | tokencompress --mode log --log-internal-marker "mycompany/internal" でスタックトレースを整理、curl -s https://example.com | tokencompress --mode html で HTML をクリーニングできます。MCP 統合は Claude Desktop の設定に mcpServers エントリを追加するだけで完了します。

作者によるベンチマークでは、500 項目の JSON 配列は約 12,500 トークンから約 850 トークンへ(93.2% 削減)、Python スタックトレースは約 3,200 から約 410 へ(87.1% 削減)、HTML スクレイピングは約 18,000 から約 2,100 へ(88.3% 削減)と報告されています。これらの圧縮はすべてルールベースで行われ、2回目の LLM 呼び出しを必要としないため、追加レイテンシはごくわずかです。

このプロジェクトは MIT ライセンスで公開されており、オープンソースおよび商用エージェント環境で自由に利用できます。カスタム統合や専用パーサーが必要な場合は、作者による有償のコンサルティングおよびカスタム開発サービスも用意されています。