2026 年的 agent memory 生態已經分化成六條互不相容的技術路線:自我編輯的 memory block(Letta)、LLM 抽取更新管線(Mem0)、雙時間軸知識圖(Zep/Graphiti)、ECL 圖譜管線(Cognee)、框架內建的分型記憶儲存(LangMem/LangGraph),以及以 Markdown 檔案為真源的檔案原生記憶(OpenClaw、Hermes、Claude 的 memory 目錄)。它們對「記憶是什麼」的答案不同,因此不能互相替換,也不能靠比較分數選型。

這個專欄的目的是可重新套用:讀完之後,你應該能把一套記憶架構搬到一個新的 AI 專案上,而且知道每個設計決策換掉會付什麼代價。因此重心不在框架導覽,而在 從六個框架抽出的共通模式與參考架構,以及 可以直接照抄的介面與資料結構草案。框架逐一拆解的部分,每一篇都以「可抽取的模式」收尾——那才是搬得走的東西。

與既有 AI memory 專欄的關係

站內已有 AI memory(Agent Memory 架構),它以 @wquguru 的〈Agent Memory 架构全景〉為一手來源,處理的是分層概念與治理原則:規則記憶、常駐畫像、證據鏈、反思與技能沉澱,以及那篇文章的立場檢視。

這個專欄是它的續篇,分工明確:

  • 舊專欄回答「記憶該分成哪幾層、為什麼」——概念框架與治理原則,以及對單一作者主張的客觀檢視。
  • 這個專欄回答「2026 年有哪些具體框架、各自怎麼實作、我要在新專案裡怎麼組一套」——機制拆解、橫向比較、可複用藍圖、介面草案、選型決策樹。

兩者刻意不重複。舊專欄已完整處理的長上下文 vs RAG 分工、規則檔(CLAUDE.md/AGENTS.md)的定位、EverOS 的設計與利益揭露,這裡只在需要對照時引用,不再展開。如果你還沒讀過舊專欄的 長上下文、RAG 與記憶的分工,建議先讀那一篇——它解釋了為什麼 context window 變大並不會讓這整個問題消失。


三個能力階段

一、建立共同語彙

不同框架用同一個詞指不同的東西(Letta 的 archival memory 與 Mem0 的 long-term memory 不是同一個概念)。沒有統一詞彙,比較就沒有意義。

  1. 記憶分類學:working/episodic/semantic/procedural,以及 user memory vs agent memory

二、拆解各框架的實際機制

每一篇的結構相同:核心機制 → 儲存後端 → 寫入策略 → 召回策略 → 優缺點 → 適合場景 → 可抽取的模式

  1. Letta(MemGPT):memory block、self-editing 與 sleep-time compute
  2. Mem0:extract-update 管線與 ADD/UPDATE/DELETE/NOOP
  3. Zep/Graphiti:雙時間軸知識圖與事實失效
  4. Cognee:ECL 管線、ontology 與圖+向量混合檢索
  5. LangMem/LangGraph:checkpointer、Store 與 hot path vs background
  6. Claude 的 memory tool 與 context engineering、ChatGPT 的 saved memories 與 Dreaming
  7. 檔案原生路線:OpenClaw 與 Hermes Agent

三、組出自己的架構

  1. 橫向比較:儲存、寫入時機、召回方式、遺忘、成本、可觀測性
  2. 可複用架構藍圖:決策樹、參考架構與五條管線
  3. 介面與 schema 草案:語言中立定義 + TypeScript 具體實作
  4. 評測與可觀測性:LoCoMo/LongMemEval 的用處與極限,以及自建 eval
  5. 實作陷阱與解法:記憶污染、召回不準、無限膨脹、PII、多 agent 共享、一致性
  6. 選型指南:依專案類型給建議
  7. 客觀檢視:主張 vs 可佐證、待解問題與延伸資源

「我想在新專案做到…」索引

我想達成的目標去哪一篇
統一團隊對「記憶」的用詞記憶分類學
決定要不要自己做記憶層選型指南決策樹
從零設計一套記憶架構可複用藍圖
拿到可以直接照抄的介面定義介面與 schema 草案
設計寫入管線(該記什麼、怎麼去重)寫入管線Mem0 的四種操作
設計召回管線(怎麼選要注入什麼)召回管線
處理「舊事實被新事實取代」雙時間軸與事實失效
讓記憶不要無限膨脹壓縮與遺忘無限膨脹
讓 agent 自己決定記什麼self-editingperiodic nudge
讓多個 agent 共用記憶block 共享多 agent 共享
做多跳推理(跨事實串接)時序知識圖Cognee
讓記憶可被人類讀、可 diff、可進 Git檔案原生路線
控制記憶的 token 成本成本欄context engineering
建立記憶品質的量測評測與可觀測性
防記憶投毒與 PII 洩漏陷阱與解法
從一個框架搬到另一個介面草案(抽象層)
判斷 RAG 夠不夠、需不需要 memory分類學舊專欄:長上下文、RAG 與記憶的分工

「我卡在…」問題索引

我遇到的問題去哪一篇
記憶越存越多,召回品質反而下降無限膨脹與召回不準
agent 記住了錯的事,而且改不掉記憶污染事實失效
同一件事有新舊兩個版本,agent 用了舊的雙時間軸
記憶注入吃掉太多 token,成本失控成本預算分配
不知道 agent 到底記住了什麼可觀測性檔案原生
benchmark 分數很高但實際用起來很差benchmark 的極限
選了一個框架,之後想換但綁太深抽象層設計
多個 agent 各記一套,彼此矛盾一致性
使用者要求刪除自己的資料,但不知道存在哪PII 與可刪除性

怎麼用這個專欄

要在新專案做技術選型:01 → 09 → 14 → 10。先建立詞彙,直接看比較表與選型建議,再回到藍圖確認細節。不需要讀完六篇框架拆解——選定之後再讀對應的那一篇。

要自己實作記憶層:01 → 10 → 11 → 13 → 12。藍圖給結構、介面草案給程式碼起點、陷阱篇給防呆、評測篇給驗收標準。框架拆解在這條路上的用途是抄設計,不是抄相依。

已經有記憶層但效果不好:13 → 12 → 09。先用陷阱篇對照症狀,再建立量測,最後才考慮換框架。換框架很少是第一步的正確答案。

要理解概念全貌:先去舊專欄 AI memory(Agent Memory 架構),那裡的分層框架比這裡完整。

這個領域移動得很快。框架的 API 會變、benchmark 分數會被刷掉、預設值會調整;但記憶層次、寫入管線的四個階段、雙時間軸這些結構性的東西不會。 這個專欄刻意把重量放在後者,前者一律標明版本與日期。


與其他專欄的連結


🔍 待解問題 / 持續追蹤

  • 記憶層的可攜性幾乎不存在。 六個框架的資料模型互不相容,遷移基本上等於重跑一次寫入管線。有沒有可能出現一個中立的交換格式?目前沒有任何跡象。
  • benchmark 與實用性的落差被公開量化了,但沒有被解決。 在 LoCoMo 上接近滿分的方案,在需要「用記憶做決策」的評測上掉到 40–60%。這個落差的成因是 benchmark 只測被動召回,還是這些方案真的只做得到被動召回?
  • 「該記什麼」目前沒有理論。 所有框架都用一個 LLM prompt 判斷重要性(Mem0 的 extraction、Hermes 的 periodic nudge、Letta 的 sleep-time agent)。這是把問題丟給模型,不是解決它。rate-distortion 視角的研究剛出現,還沒有可落地的判準。
  • 遺忘幾乎沒有人認真做。 多數框架的「遺忘」是覆寫或標記失效,不是真的移除。長跑數年的 agent 的儲存成長曲線與召回品質衰減曲線,沒有公開資料。
  • 多 agent 共享記憶的一致性模型是空白的。 分散式系統有成熟的一致性層級定義,agent memory 沒有對應的討論;Letta 的 block 共享是最接近的實作,但它沒有處理併發寫入的語意。
  • 記憶投毒的防禦目前都在讀寫兩端做過濾,沒有處理「合法來源寫入了語意上有害的內容」這個核心情況。OWASP 在 2026 年把它列入 Agentic AI Top 10(ASI06),這代表問題被承認,不代表被解決。
  • 成本結構不透明。 幾乎所有框架都在寫入路徑上呼叫 LLM(抽取、判斷、圖譜化),這使記憶的成本與對話量成正比而非與召回量成正比。這個成本在多數比較文章中沒有被量化。

🕒 更新紀錄

  • 2026-09-04 — 專欄建立。hub + 15 篇原子筆記,分「共同語彙/框架拆解/組出自己的架構」三階段。涵蓋 Letta(MemGPT)、Mem0、Zep/Graphiti、Cognee、LangMem/LangGraph、Claude memory tool 與 context engineering、ChatGPT saved memories/Dreaming、OpenClaw、Hermes Agent 共九個實體。核心產出為 可複用架構藍圖介面/schema 草案。定位為 既有 AI memory 專欄 的續篇,概念分層不重複展開。全程區分官方文件事實、論文結果、廠商自我宣稱與我的設計主張,分級表見 主張 vs 可佐證

此資料夾下有 15 條筆記。