AI 應用一旦從一次性問答走向長期使用,就會遇到同一個問題:它怎麼記住人、專案、偏好、歷史和狀態變化?
現在的記憶方案已經分成幾條路線。有的像「外置記憶條」,夾在應用和資料庫之間;有的把 Agent 本身改造成帶記憶管理能力的系統;有的強調時間和失效狀態;也有的專門服務使用者畫像、跨文件推理或程式設計助手。
如果只看專案名,很容易混在一起。更實用的判斷方式是:你到底要讓 AI 記住什麼,以及你願意為這份記憶付出多少架構複雜度。
先看結論
| 方案 | 更像什麼 | 適合場景 | 主要代價 |
|---|---|---|---|
| Mem0 | 外置記憶中介層 | 給現有 AI 應用快速加長期記憶 | 需要處理成本、儲存和命中品質 |
| Letta | 自帶記憶的 Agent 執行環境 | 從零做一個越用越懂你的 Agent | 要接受它的 Agent 架構 |
| Zep / Graphiti | 帶時間軸的記憶層 | 客戶檔案、合約狀態、偏好變化 | 架構較重,通常要圖資料庫 |
| Cognee | 文件到知識網的加工層 | 多文件知識庫、跨文件推理 | 資料處理鏈路更複雜 |
| Memobase | 使用者畫像記憶 | AI 陪伴、教育、推薦、C 端產品 | 記的是「人」,不是通用事件流 |
| AgentMemory | 程式設計助手跨會話記憶 | AI 程式設計助手、專案上下文復用 | 更垂直,適用面較窄 |
| Text2Mem | 記憶操作規範 | 給記憶系統定義可驗證操作協議 | 更偏抽象層,不是完整產品替代 |
| ReMe | 文件即記憶 | 希望使用者可直接查看和編輯記憶 | 需要接受透明文件化管理方式 |
| memU | 後台主動記憶 Agent | 希望記憶系統自己持續整理上下文 | 範式更激進,工程不確定性更高 |
Mem0:最百搭的外置記憶層
Mem0 適合當作第一選擇來理解 AI 記憶系統。它的定位不是重寫你的 Agent 架構,而是夾在應用、模型和資料庫之間,幫你把對話、使用者偏好、專案事實等內容抽取成可復用記憶。
它的優勢是通用、生態廣、接入門檻相對低。你已經有一個聊天應用、助手應用或工作流系統,想加一句「它記得我」,通常會先想到這類中介層。
Mem0 的另一個方向是本地版 OpenMemory。這個方向的吸引力在於:記憶可以保存在自己的電腦裡,並在多個工具之間共享。對隱私敏感、又不想每個工具都重新累積上下文的使用者,這一點很重要。
不過 Mem0 不是魔法開關。真正落地時要關心三件事:
- 記憶抽取會不會過度,導致無關資訊越積越多。
- 檢索出來的記憶是否穩定命中當前任務。
- 長期呼叫模型和儲存帶來的成本是否可控。
一句話:想給現有專案快速加記憶,先看 Mem0;想讓記憶系統自己定義 Agent 的執行方式,它還不是最重的那類方案。
Letta:把記憶放進 Agent 本體
Letta 的前身是 MemGPT,它和 Mem0 不是同一種東西。
Mem0 更像外置記憶條,Letta 更像一個帶記憶管理能力的 Agent 執行環境。它把大模型放進一套類似作業系統的框架裡,讓 Agent 自己判斷哪些資訊要留在工作上下文,哪些要歸檔,哪些以後再取回來。
這條路線的好處是記憶和 Agent 行為結合得更深。你不是在一個普通應用外面掛一層記憶,而是在設計一個「本來就會管理自己記憶」的 Agent。
代價也很直接:它更重。你需要把專案放進 Letta 的世界裡,接受它的執行模型、狀態管理方式和開發習慣。
適合 Letta 的場景是:你從零開始做一個長期執行的個人 Agent、研究助手、業務助手,希望它越用越懂使用者,並且願意圍繞它的框架搭系統。
Zep / Graphiti:把時間當成一等公民
很多記憶系統的問題不是「記不住」,而是「記住了舊答案,卻不知道它已經過期」。
Zep / Graphiti 這類方案的關鍵點是時間。它不只是保存一條偏好或事實,還會記錄它在什麼時候成立、什麼時候失效。使用者改口時,舊記憶不一定被硬刪除,而是變成歷史狀態。
這讓它適合處理會變化的關係和事實,例如:
- 客戶資料和跟進階段。
- 合約條款與狀態更新。
- 使用者偏好隨時間變化。
- 「你現在喜歡什麼」和「你三月喜歡什麼」都需要查詢的場景。
這條路線通常會走向圖結構,因為狀態變化、人物關係、事件鏈和時間線天然適合連成網路。好處是證據鏈更清楚,壞處是架構更重,部署和維護成本也更高。
如果你的記憶主要是「當前偏好」,不一定需要這麼重;如果你的記憶經常有版本、時間、失效和追溯需求,Zep / Graphiti 這類方案就很有價值。
Cognee:把文件熬成可推理的知識網
傳統 RAG 更像「按相似度撈片段」。它能找到相似文字,但不一定理解文件之間的關係。
Cognee 的方向是把一堆資料加工成圖譜和向量混合的記憶系統。它不只存片段,還嘗試抽取實體、關係和結構,讓系統能順著關係網繼續推。
這適合大量文件場景,例如:
- 公司內部知識庫。
- 技術文件和專案資料。
- 法務、合約、產品規格等跨文件材料。
- 需要從多個文件裡拼出結論的研究任務。
它的代價也明顯:資料加工鏈路更長,系統元件更多,更新、清洗、去重、關係抽取都需要設計。它不是「給聊天機器人加一點記憶」的輕量路線,更像「把資料庫變成可推理知識網路」。
Memobase:專門記「你是個什麼樣的人」
Memobase 的重點不是記每件事,而是整理使用者畫像。
別人更關注「發生過什麼」,它更關注「這個使用者是什麼樣的人」:興趣、習慣、屬性、偏好、長期特徵。它把這些資訊整理成更清楚的欄位,方便讀取、修改和產品化使用。
這對 C 端產品很有用:
- AI 陪伴需要理解使用者性格和關係邊界。
- 教育產品需要記住學習階段、薄弱點和目標。
- 推薦系統需要穩定、可編輯的偏好畫像。
- 健康、效率、生活類助手需要長期跟隨使用者習慣。
Memobase 的邊界也在這裡。它不是最適合做通用事件追蹤,也不是複雜文件推理系統。它更像「人物卡記憶層」:把使用者是誰、喜歡什麼、習慣怎樣這類資訊整理出來。
AgentMemory:程式設計助手的跨會話記憶
AgentMemory 更垂直,主要解決 AI 程式設計助手的老問題:每開一個新會話,就要重新解釋專案背景。
開發者真正希望保存的不是閒聊記憶,而是:
- 專案的技術棧和目錄結構。
- 約定俗成的程式碼風格。
- 哪些文件不能亂動。
- 常用命令和測試方式。
- 上一次排查到哪裡。
如果這些資訊能跨會話共享給多個程式設計助手,就能減少大量重複提示。AgentMemory 適合純開發場景,尤其是團隊或個人長期維護同一批專案時。
但它不是通用記憶平台。做客服、陪伴、推薦、知識庫時,通常會先看前面幾類方案。
Text2Mem:給記憶系統定義操作指令集
Text2Mem 更像一套記憶操作協議。它關心的是:記憶系統應該怎樣新增、更新、合併、刪除、驗證和輸出結構化結果。
它提出的思路可以概括為三點:
- 用一組原子操作描述記憶變更,而不是讓模型隨意寫。
- 用固定 JSON 契約承載記憶操作,減少不可控輸出。
- 用驗證層檢查結果,避免把錯誤記憶直接寫入系統。
這類方案適合做記憶系統的「控制面」。如果你已經有 Mem0、Zep、Graphiti 或自研記憶層,Text2Mem 的價值可能不在替代它們,而在約束記憶寫入動作。
ReMe:文件即記憶,使用者可以直接看
ReMe 來自阿里 AgentScope 生態,它的關鍵詞是「文件即記憶」。
很多記憶系統的問題是黑盒:使用者不知道系統記住了什麼,也很難直接修改。ReMe 的方向更透明,把記憶變成使用者能看、能改、能管理的文件。
這對可信度很重要。尤其是在個人助手、企業助手和長期 Agent 裡,使用者不一定希望記憶全由系統暗中維護。能直接編輯,意味著使用者可以糾偏,也可以主動整理上下文。
它適合重視可解釋、可控、可遷移的場景。代價是產品設計要跟上:文件結構、權限、同步、衝突處理,都需要認真設計。
memU:讓記憶本身變成後台 Agent
memU 的範式更激進:記憶不只是被動儲存,而是一個持續執行的後台 Agent。
普通記憶系統大多是在對話發生時抽取、查詢、更新。memU 的設想更像是讓記憶層 24/7 工作:主動整理、歸檔、壓縮、更新和準備上下文。
這個方向很有想像力,因為真正長期執行的 Agent 不應該只在使用者說話時才思考記憶。但它也意味著更多工程問題:
- 後台整理會不會誤改重要記憶。
- 主動更新的觸發條件怎麼定義。
- 成本如何控制。
- 使用者如何審計它做過什麼。
如果你在做實驗性 Agent 或個人長期助手,可以關注這個方向;如果是生產系統,仍要先確認可控性和可觀測性。
選型建議
如果你只是想給現有應用加長期記憶,優先看 Mem0。它足夠通用,接入成本也更容易接受。
如果你要從零做一個長期 Agent,而且願意圍繞 Agent 執行環境重構專案,可以看 Letta。它更像「帶記憶的 AI 本體」,不是普通外掛。
如果你的業務強依賴時間、狀態變化和歷史追溯,優先看 Zep / Graphiti。客戶、合約、偏好、關係網路,這些都需要知道「什麼時候成立、什麼時候失效」。
如果你要處理大量資料並做跨文件推理,看 Cognee。它更適合把文件變成知識網,而不是只做相似度檢索。
如果你的產品重點是理解使用者本人,看 Memobase。AI 陪伴、教育、推薦、生活助手,都需要一個可讀可改的使用者畫像層。
如果你關心的是 AI 程式設計助手跨會話記憶,看 AgentMemory。它的場景窄,但問題很真實。
如果你在自研記憶系統,Text2Mem、ReMe、memU 更像三個補充方向:一個管操作規範,一個管透明可編輯,一個把記憶變成主動後台過程。
一個簡單判斷框架
可以按四個問題篩選:
-
記憶對象是什麼?
是使用者畫像、專案背景、對話事實、文件知識,還是會隨時間變化的業務狀態?
-
記憶是否需要時間線?
如果舊狀態也有價值,就不要只做覆蓋式更新。
-
你願意改多少架構?
Mem0 更適合外掛,Letta 更適合重建 Agent 執行方式,Cognee 和 Zep/Graphiti 往往會帶來更重的資料層。
-
使用者需不需要直接編輯記憶?
如果需要透明和可控,ReMe、Memobase 這類思路會更有參考價值。
小結
AI 記憶系統沒有一個統一答案。輕量接入看 Mem0,自帶記憶 Agent 看 Letta,時間狀態看 Zep / Graphiti,跨文件推理看 Cognee,使用者畫像看 Memobase,程式設計助手看 AgentMemory。
更關鍵的是不要先問「哪個最強」,而是先問「我要記住什麼」。記憶對象一變,最合適的技術路線也會變。