Show HN: Ratel - エージェントに無制限のツールとスキルを、コンテキストの肥大化なしで
RatelはAIエージェント向けのコンテキストエンジニアリング層で、BM25インデックスを使用して各ターンに関連するツールとスキルのみを選択し、トークン消費を最大80%削減し、精度を向上させます。ベクターDBは不要です。
Ratelは、AIエージェント向けのコンテキストエンジニアリング層であり、ツールの過負荷によるトークンの浪費と精度低下の問題を解決します。従来の方法では、エージェントは毎回の呼び出しですべてのツールスキーマとスキルの説明をシステムプロンプトとして送信する必要があり、多くの無駄なトークンにコストがかかり、モデルは長いコンテキストでエラーを起こしやすくなりました。Ratelはプログレッシブディスクロージャー(段階的開示)メカニズムにより、現在のターンに必要なツールとスキルのみを注入し、トークン消費を最大80%削減し、ツール過負荷による精度低下を回復します。
Ratelのワークフローは、search_capabilitiesツールを使用してツールとスキルのインデックスを検索し、エージェントのニーズに応じて該当する能力のみを注入し、invoke_toolおよびget_skill_contentツールでオンデマンド実行するという3つのステップで構成されます。デフォルトではBM25アルゴリズムを使用した検索を採用しており、これはスキーマ対応のツールメタデータ、スキル名、説明、タグに適用される、ほとんどの検索エンジンと同じアルゴリズムです。さらに、オプションでセマンティックおよびハイブリッドランキングもサポートしており、同一プロセス内でローカル埋め込みモデルを実行します。
Ratelのインストールと使用は非常に簡単です。TypeScriptユーザーはpnpm add @ratel-ai/sdkで、Pythonユーザーはpip install ratel-aiでSDKをインストールします。開発者はToolCatalogとSkillCatalogを作成してツールとスキルを登録し、searchCapabilitiesTool、invokeToolTool、getSkillContentToolなどのツールを介してエージェントフレームワークに統合できます。RatelはVercel AI SDKやPydantic AIなどの人気フレームワークとの統合例も提供しています。
Ratelのベンチマーク結果(benchmark.ratel.sh)は、ローカル、オープンソース、フロンティアモデルの設定を問わず、トークン使用量を大幅に削減し、精度を向上させることを示しています。関連プロジェクトには、ratel-local(コーディングエージェント向けのローカルディストリビューション)とratel-bench(ベンチマークスイート)があります。
ライセンスに関しては、Ratelの中核エンジン(ratel-ai-core)はApache-2.0ライセンス(特許許諾を含む)を採用しており、その他(SDK、テレメトリーヘルパー、例など)はMITライセンスです。プロジェクトはRust、TypeScript、Pythonなどの複数の言語で開発され、クロスプラットフォームでの使用をサポートしています。