canwhite/Krebs

An agent focused on attention management

解决的问题

Krebs 是一个自托管 AI 网关,旨在管理长期交互和复杂任务,而不会丢失原始目标。它通过实施积极的上下文压缩、持久化内存和自主子代理,解决了 LLM 中的「上下文漂移」和令牌限制耗尽问题。

工作原理

Krebs 作为用户与 LLM(如 DeepSeek 或 Claude)之间的中间层。它采用多层方法来保持连贯性:

  • 注意力管理:监控令牌使用量,并在对话增长时触发不同的压缩层(摘要、修剪和坍缩)。
  • 记忆与 RAG:使用两阶段记忆系统(将摘要合并到 MEMORY.md 文件中)和基于 BM25 的 RAG,从过往会话中检索相关信息。
  • 目标约束:系统提取对话的核心目标,并使用混合评分检测代理是否偏离任务,自动注入纠正消息。
  • 自我验证:响应后,代理会将其输出与原始任务进行比对,若检测到不一致则自动重试。
  • 执行环境:提供基于 WASM 的沙箱,确保文件系统写入操作的安全性,同时允许只读 shell 访问。
  • 子代理:主代理可以生成自主子代理来处理特定任务,管理任务队列,并安排重复性任务。

适用人群

适用于希望拥有一个能够处理复杂、多轮对话和自主任务执行的自托管 AI 助手,且具有高可靠性与最小上下文丢失的开发者和高级用户。

主要亮点

  • 多层上下文压缩:基于令牌阈值的自动修剪和摘要。
  • 目标漂移检测:主动监控并纠正对话偏离。
  • 自主子代理:能够启动一整支代理团队进行并行任务管理。
  • WASM 沙箱:安全隔离文件系统写入操作。
  • 可扩展工具链:支持自定义 Lua 脚本和技能文件。
  • 会话持久化:通过 SQLite 和文件存储实现完整的会话历史管理。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目