最近在玩一批 AI Memory / LLM Memory 工具,主要是 mem0、zep、cognee 等等,也順便看了一些跟 LLM Wiki、RAG、Knowledge Graph、Embedding Search、Coding Agent Memory 有關的實作。
一開始其實也沒有特別想解什麼問題,比較像是想試試看:現在市面上主流的 AI memory library,實際用起來體感到底如何?測完後比較大的 takeaway 是,Memory 大家常常在講不同層級的東西,必須先聚焦真正的需求才來選落地的方式。
我目前會先拆以下問題來切入。
第一個是:LLM 什麼時候處理資料? 一種是資料寫進去時就先整理,像是摘要、抽重點、建索引、抽 entity。另一種是先保留原文,等查詢時再整理,甚至只是把相關原文找出來,不急著總結。
第二個是:資料怎麼被搜尋? 一種是 Semantic Search / Embedding / Vector Search,適合找語意相近的內容。一種是 Knowledge Graph,會整理 entity 和 relationship,比較適合看概念、事件、專案之間的關係。
第三個是:工具定位。
- 給工程師用
- 給產品用
- 給個人筆記用
我的結論是:先問你需要的是哪一種 Memory?
- 如果你需要的是 Claude Code 可以串 hook 的 Memory,那可以看 mem0。
- 如果你想要的是受 LLM Wiki 概念影響的 Memory,那可以看 agentmemory。
- 如果你想要自架一套 Memory Knowledge Graph,那可以試試 cognee 或 agentmemory(需要 API KEY)。
- 如果需要比較完整的 Knowledge Graph / temporal memory 設計,可以研究 Zep。
設計決策
你現在需要的是找回原文?整理知識?建立 Knowledge Graph?讓 Coding Agent 記得 Coding Convention?還是純粹跟風 LLM Wiki?
Developer 我會直接推薦 mem0 串 Claude Code Hook 跟各種跨平台的 agent system。
純粹想跟風 LLM Wiki?我認為不需要,直接多整理幾個筆記庫,每次開新的 Session 問問題就好,不需要特別架設一個有 Knowledge Graph 的 LLM Wiki。如果真的覺得自己知識體系真的很龐大,想要 cross reference,也許也可以試試 claude-obsidian。
但是我會想問…那是想建構一個 LLM model 嗎?把這個工作留給 LLM Provider 會不會輕鬆一點?🤫 不過有自己 insight 的筆記被 KG 化應該還是不一樣啦,是吧!😎
#agent