遇見 Memory OS:基於 Hermes Agent 的六層開源記憶棧
Memory OS 是一個新的 MIT 許可庫,為 Hermes Agent 增加了六層記憶,包括向量資料庫、結構化事實和自動整理的百科。它完全本地執行,需要 Docker、Qdrant、Redis,並注重 token 效率。
Hermes Agent 已經具備跨會話記憶能力。Nous Research 的開源智慧體附帶策劃的記憶檔案和全文會話搜尋。但一個新的社群專案認為內建記憶對嚴肅工作來說過於淺薄。一個名為“Memory OS”的新庫已由開發者 ClaudioDrews 以 MIT 許可證釋出。它在 Hermes 之上堆疊了六層記憶,增加了向量資料庫、結構化事實和自動策劃的知識百科。該專案雖新但潛力巨大,其架構展示了代理記憶如何分層構建。
Memory OS 並非一個可以隨意開關的 Hermes 外掛。它是一個與 Hermes Agent 自身記憶並行的分層系統。Hermes 已經提供工作區檔案和會話資料庫。Memory OS 保留了這些,並在此基礎上增加了四層。完整棧使用 Docker、Qdrant、Redis 和 Python 3.11+ 本地執行。它適用於 Hermes 支援的任何 LLM 提供商,包括 OpenRouter、OpenAI、Anthropic 和 Ollama。README 將其描述為“記憶作業系統”,而非單一功能。
六層結構從檔案到向量:第一層工作區包含 MEMORY.md、USER.md 和 CREATIVE.md,每輪注入系統提示。第二層會話使用 state.db(帶 FTS5 全文搜尋的 SQLite 資料庫)記錄對話歷史。第三層結構化事實將持久事實儲存在 memory_store.db 中,使用 SQLite、HRR、FTS5 和信任評分,並透過反饋迴圈隨時間調整信任評分。第四層 Fabric 是 Icarus 外掛的重度分支,新增了基於 LLM 的會話提取,提供 16 個工具用於跨會話召回。第五層向量資料庫基於 Qdrant,使用 4096 維餘弦向量加 BM25 稀疏搜尋。第六層 LLM 百科是一個自動策劃的概念、實體和比較庫,透過持續攝入過程回注到 Qdrant。
檢索流程:在 pre_llm_call 階段,Memory OS 執行所謂的外科召回,同時從 Fabric、Qdrant、會話和事實四個源拉取資訊。每個源透過相關性門控後才到達模型。每會話去重防止相同上下文重複出現。社交過濾器忽略瑣碎訊息。在 post_llm_call 和 on_session_end 階段,系統自動提取和捕獲新知識。其目標是 token 效率,而非填滿上下文視窗。
降級級聯與清理:第 5 層的檢索使用四級降級:先嚐試混合搜尋,然後是稠密向量、詞彙搜尋,最後是 SQLite。若某一方法失敗,下一方法接管。Memory OS 還執行每週衰減掃描以淘汰陳舊條目,語義去重合並餘弦相似度超過 0.92 的近似記憶。這些維護步驟旨在防止記憶在長期使用中膨脹。
Memory OS 定位與雲記憶服務(如 mem0、Zep、Letta)對立,主張記憶基礎設施應執行在本地機器上。記憶資料保持本地,無需記憶訂閱。LLM 呼叫仍可連線任意提供商。Hermes 本身已支援八種外部記憶提供商,但 Memory OS 並非其中之一,而是社群構建的獨立堆疊。對於有資料駐留規則團隊,本地記憶儲存很重要。
優勢:清晰的分層設計分離檔案、會話、事實、向量和百科;全本地基礎設施無需雲記憶訂閱;提供商無關,匹配 Hermes Agent 的靈活性;透過門控源和每會話去重實現 token 高效檢索。侷限性:全新,提交次數少;Fabric 分支與上游不相容;設定較重,需要 Docker、Qdrant、Redis 和 ARQ Worker;無已釋出的召回質量、延遲或 token 節省基準。
關鍵要點:Memory OS 是一個社群構建的 MIT 許可堆疊,在 Hermes Agent 上增加六層記憶。它結合工作區檔案、FTS5 會話搜尋、信任評分事實、Fabric 分支、Qdrant 向量和自動策劃的 LLM 百科。檢索在 pre_llm_call 階段進行門控去重召回,捕獲在 post_llm_call 和 on_session_end 階段進行。記憶基礎設施全本地且提供商無關,但 LLM 呼叫仍需連線所選提供商。