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 Agent 中的「工具過載」問題。當 Agent 的系統提示詞中包含過多工具或複雜指令時,由於 Agent 可能會選擇錯誤的工具或偏離任務,會導致 Token 成本增加且模型準確度下降。Ratel 透過確保 Agent 僅接收與當前對話輪次相關的工具與技能來防止這種情況。

工作原理

Ratel 不是預先載入所有功能,而是使用一個將工具與技能索引到目錄中的上下文工程層。Agent 使用 search_capabilities 工具來尋找相關功能,然後根據需要載入特定的工具或技能內容。

預設情況下,它使用 BM25 搜尋演算法,根據元數據、名稱與描述進行快速、確定性的檢索。它還支援透過嵌入端點或程序內模型進行選配的語義與混合排序,且無需單獨的向量資料庫。

適用對象

希望在處理大量可用工具與技能時,減少 Token 使用量並提高模型可靠性的 AI Agent 開發者。

亮點

  • Token 效率:透過避免在每次呼叫中發送未使用的工具 Schema 來降低成本。
  • 準確性恢復:透過移除經常使 LLM 困惑的無關上下文來提高模型效能。
  • 無基礎設施開銷:無需專用向量資料庫即可運作。
  • 多語言支援:提供 TypeScript 與 Python 的 SDK,核心檢索引擎由 Rust 編寫。