Tokenless は、コンテンツが LLM のコンテキストウィンドウに入る前に冗長性を削減するために、5 つの補完的な戦略を使用します。
-
スキーマ圧縮 (~57%):関数呼び出しのツール定義を合理化し、description のマークダウン構文を削除し、examples および title フィールドを削除し、長すぎる関数とパラメータの説明を切り詰めます。多数のツール定義 (数十の関数呼び出しスキーマ) を含む Agent シナリオで最も効果的です。
-
レスポンス圧縮 (26–78%):API の戻り値とツールの実行結果に 7 つのルールを適用します。価値の低いフィールド (デバッグ/トレース/スタック/ログなど) を削除 (R3)、null 値と空の値を削除 (R4/R5)、4096 文字を超える非常に長い文字列を切り詰め (R1)、32 要素を超える配列を切り詰め (R2)、8 レベルを超えるネストの深さを切り詰めます (R6)。大量のデバッグ情報を含む API レスポンス (Kubernetes API、クラウドリソースのクエリ結果など)、web_fetch の結果 (実測で約 78%)、および深くネストされた JSON 構造といった入力タイプで、最も高い最適化効果を発揮します。
-
TOON エンコーディング (15~40%): JSON をトークン指向のコンパクトな形式に可逆的にエンコードし、引用符、コンマ、波括弧などの JSON 構文のオーバーヘッドを排除します。規則的な構造で、description や resource_id のような同じ長さのキーを持つオブジェクトなど、長いフィールド名を持つデータに対して最も高い最適化効果があります。
-
コマンド書き換え (60–90%):統合された RTK エンジンが 70 以上の CLI コマンドの出力をインテリジェントにフィルタリングし、プログレスバー、ANSI エスケープコード、冗長なログなどノイズとなる情報を排除します。ビルドツールの出力 (cargo/npm/go/pytest)、パッケージマネージャーの出力 (dnf/yum/apt)、ファイル一覧表示コマンド (ls -la, find) の冗長な結果などの入力タイプで、最も高い最適化効果を発揮します。
-
ツール準備状況チェック:ツールを呼び出す前にバイナリ、設定、権限、ネットワークの依存関係を検証し、不足している項目を自動的に修正し、環境に起因する障害を「再試行をスキップ」としてマークすることで、LLM が失敗する可能性が高いコマンドを繰り返し再試行することによるトークンの浪費を防ぎます。
全体として、Tokenless は以下の入力と出力で最も大きな最適化効果を発揮します。広範なツール定義を持つ Agent 設定 (スキーマ圧縮)、デバッグ/冗長フィールドを持つ API レスポンス (レスポンス圧縮)、構造化された JSON データ (TOON エンコーディング)、CI/CD のビルドおよびパッケージ管理コマンドの出力 (RTK 書き換え)。