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.

解決的問題

Ratel 解決了 AI 代理中的「工具過載」問題,即在系統提示中提供過多工具模式和指令會增加 token 成本並降低模型準確性。它防止模型因無關選項而混淆,並透過避免提前傳送所有可用能力,降低每次 API 呼叫的費用。

工作原理

Ratel 作為一個上下文工程層,實現了「漸進披露」。它不將所有工具和技能載入提示中,而是將它們索引到目錄中。代理使用 search_capabilities 工具,僅查找當前回合相關的工具和技能。

  • 檢索:預設使用 BM25(關鍵字搜尋)進行基於元資料、名稱和描述的快速、決定性檢索。可透過嵌入端點選擇性啟用語意和混合排名功能。
  • 技能:複雜指令(操作手冊)在代理顯式使用 get_skill_content 工具載入前,保持在上下文之外。
  • 事實:常駐的基準資訊(如品牌語氣或地址)作為事實註冊,並在對話中不存在時才重新注入。

適用對象

需要大量工具和技能庫,但又需在本地、開源或前沿模型上保持高準確性和低 token 消耗的 AI 代理開發者。

主要亮點

  • 無需基礎設施:無需額外的向量資料庫即可運行。
  • 多語言支援:提供 TypeScript 和 Python 的 SDK,核心引擎使用 Rust 編寫。
  • 決定性搜尋:預設使用 BM25,確保可靠的工具發現。
  • 框架相容:包含 Vercel AI SDK 和 Mastra 的適配器。

相關

  • Dispatch
  • 專案
  • 專案
  • 專案
  • 專案