Cognikernel:为AI编程助手提供本地记忆
Cognikernel是一个开源项目,为Claude Code和Codex等AI编程助手提供持久化、结构化的项目记忆。它通过事件溯源架构记录编程会话中的决策、约束和放弃的方法,并在下次工作时注入紧凑的上下文块,避免代理重复决策。不同于依赖API调用的向量数据库方案,Cognikernel使用本地运行的轻量级编码模型(~130 MB ONNX)在CPU上进行确定性分类,无需离开机器。该系统包括四个钩子表面、混合检索(BM25 + 密集向量)和故障开放可靠性设计。基准测试显示,它可将文件读取次数减少2-4倍,并在复杂项目中降低约20%的令牌成本。
Cognikernel 是一个开源工具,旨在为 AI 编程助手如 Claude Code 和 Codex 提供持久化、结构化的项目记忆。它通过事件溯源架构记录编程会话中的关键决策、约束和已放弃的方案,并在下次会话时自动注入紧凑的上下文块,从而让代理能够直接利用之前的理解,避免重复决策。
独特的记忆机制
Cognikernel 不依赖传统的向量数据库或大语言模型(LLM)进行摘要。相反,它采用一个确定性管道:对会话记录进行清洗、分类,再通过两个本地运行的小型编码模型(ONNX 格式,约 130 MB)评估重要性并检测决策的更新。整个过程在本地 CPU 上毫秒级完成,无需 API 调用,不产生额外费用,且原始数据不离开用户设备。
记忆循环与钩子表面
Cognikernel 的工作流程是一个闭环:观察 → 提取 → 合并 → 存储 → 检索 → 组装 → 注入。它通过四个钩子表面与编程会话交互:SessionStart(注入决策块)、UserPromptSubmit(相关记忆召回)、PreToolUse(读写效率门控)和 Stop(捕获决策)。每个钩子都采用故障开放设计,即使记忆系统出错也不会中断会话。
记忆类型与检索
记忆被划分为类型:决策、硬/软约束、已放弃方法等。每种类型有独立的排名和渲染方式。决策键支持后续覆盖(最新胜出),使存储自动合并而非积累矛盾。检索以词汇为主(FTS5 BM25),辅以可选的密集向量嵌入,通过倒数排名融合(RRF)得到最终结果。此外还有专门的“禁止搜索”确保关键约束不会被无关上下文挤占。
跨平台与可靠性
Cognikernel 使用单一 SQLite 数据库,因此 Claude Code 和 Codex 可共享同一套记忆。它支持别名感知的项目路径解析,并提供了 memlora codex-sync 命令以捕获 Codex 会话。系统设计了原子迁移、幂等重放、故障开放钩子和 CI 门控,确保可靠性。
性能优势
在三个实验组(Cognikernel vs. 手动笔记 vs. 无记忆)的四项多会话项目中,Cognikernel 显著减少了文件读取次数(通常为 2-4 倍),并降低了约 20% 的令牌成本(按缓存读写和输出价格加权)。对于依赖频繁重复决策的复杂项目,它使代理能立即获得之前的知识,而非花费大量时间重新发现。
快速开始
项目提供了简单的 CLI 命令:memlora init 注册项目并安装钩子,memlora doctor 检查子系统健康状态,memlora install-heads 下载可选编码器模型。核心功能不依赖外部模型,即使不使用编码器,系统也能通过词汇路径正常工作。
Cognikernel 的设计理念是让 AI 编程助手真正“记住”项目上下文,从而更高效、更智能地辅助开发。