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 編寫。