ratel-ai/ratel

Context engineering for AI agents. ~80% fewer tokens. Fix tool overload. Skills and memory with in-process BM25 and semantic retrieval. Progressive Disclosure. No vector DB.

何を解決するか

AIエージェントはしばしば「ツール過多」に悩まされる。システムプロンプトに多くのツールスキーマや指示を含めると、トークン使用量が増加しコストが高くなるだけでなく、モデルがタスクから逸脱したり、誤ったツールを選択したりする可能性も高まる。Ratelは、会話の現在のターンに必要なツールとスキルのみをインジェクトするコンテキストエンジニアリングレイヤーを提供することで、こうした問題を防ぐ。

仕組み

すべての機能を事前に読み込むのではなく、Ratelはツールとスキルをカタログにインデックス化する。エージェントが行動を起こす必要があるとき、search_capabilitiesツールを使って関連する機能を検索する。その後、ツールはIDで呼び出され、スキルの説明(プレイブック)はget_skill_contentを通じて必要に応じてのみ読み込まれる。

デフォルトでは、ツール名、説明、引数を対象とした高速かつ決定論的な検索のためにBM25検索を使用する。ユーザーは任意で、埋め込みエンドポイントやインプロセスモデルを用いてセマンティック検索またはハイブリッドランキングを有効化できる。

対象ユーザー

ツールとスキルの段階的公開を管理することで、トークンコストを削減し、モデルの信頼性を向上させたいAIエージェント開発者。

特長

  • トークン効率: 使用されないツールスキーマを毎回プロンプトに注入しないため、コスト削減が可能。
  • インフラストラクチャの負担なし: 専用のベクトルデータベースを必要としない。
  • 多言語対応: TypeScriptおよびPython用のSDKを提供しており、コアの検索エンジンはRustで実装されている。
  • 柔軟な検索: 機能発見にBM25、セマンティック、ハイブリッド検索をサポート。

"このアプローチにより、モデルが不要な情報を処理するリスクを大幅に低減でき、結果としてより正確な意思決定が可能になる。" — @johndoe

関連

  • プロジェクト
  • Dispatch
  • プロジェクト
  • プロジェクト
  • プロジェクト