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 和文件存储实现完整的会话历史管理。
相关
- 项目
- 项目
- 项目
- 项目
- 项目