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
- 项目
- 项目
- 项目
- 项目