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