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 编写。