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
- 專案
- 專案
- 專案
- 專案