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 編程助手真正“記住”項目上下文,從而更高效、更智能地輔助開發。