AI Agent 如何擁有記憶?從原理到實踐的詳細指南

AI Agent 如何擁有記憶?從原理到實踐的詳細指南

@lxfater
簡體中文4 天前 · 2026年5月13日

AI 功能

388K
562
168
37
1.1K

TL;DR

本指南解析了 AI Agent 的記憶機制,並比較了基礎會話管理與採用語意整合及技能萃取技術的進階企業級框架(如 EverOS)。

最近,Agent 的長期記憶變得非常熱門,大家都在討論記憶系統。

但當你去看那些解釋時,大多只是丟給你一堆術語:向量資料庫、RAG、上下文視窗、壓縮、情節記憶……

看完之後,你還是無法確切說出它到底怎麼運作的,對吧?

這不是你的問題,大多數文章都假設你已經有基礎了。

然而,Agent 記憶系統目前是面試中最熱門的話題。如果你不懂,無論在工作還是面試中都會處於劣勢。

處於劣勢。所以,在這篇文章中,我會換個方式,從基礎開始,不堆疊術語!我會盡力讓每個人都能理解!

力讓每個人都能我保證看完之後,你就能自己回答這三個問題:

什麼是問題:

什麼記憶系統?

我們如何理解 OpenClaw 的記憶系統?

企業級解決方案長什麼樣子?我選擇了 EverOS(github.com/EverMind-AI/EverOS

铁锤人 - inline image

這篇文章很長,我花了好幾天寫。如果你有朋友對 Agent 記憶感興趣,可以先收藏,之後轉發給他們。

Agent 記憶系統的基礎知識

這部分主要說明 Agent 如何在單一會話內以及跨不同會話之間維持記憶。如果你已經懂了,可以直接跳過。

首先,大型模型的兩次 API 呼叫之間是沒有記憶的。這是什麼意思?

例如:如果你在第一次呼叫時說你喜歡吃橘子,但第二次呼叫時沒有在提示詞中加上「我喜歡吃橘子」,模型就不會記得你的偏好。

那麼 Agent 在對話中是如何維持記憶的呢?

首先,每次你提問時,底層系統會把你之前的整個對話歷史都發送過去。模型看到這些,就確保了短期記憶。

但當對話歷史變得太長,超過模型的最大上下文視窗時,它就會壓縮歷史。它會總結目前的對話歷史,然後塞回提示詞中,創造空間繼續對話。

這就是模型在單次長對話中維持記憶的原理。如果你有點困惑,可以看下面的圖:

铁锤人 - inline image

現在你知道單一會話中如何維持記憶了,但不同聊天會話之間呢?

這就是長期記憶系統登場的時候了!!

它的作用是在你的上下文被壓縮時,或者你要求記住某件事時,把重要資訊儲存在一個儲存空間裡。

然後,當你開始一個新對話時,它會在適當的時候提取相關資訊並加入到提示詞中。

透過「以新換舊」,它創造了記住很多東西的假象。這類似於人類的工作記憶和長期記憶。

铁锤人 - inline image

好了,有了這些記憶的記憶基礎知識後,我們可以繼續了解什麼是記憶系統。

下面,我會給你一個概念框架。如果你看完,我保證你對任何記憶系統方案都會有基本了解。

記憶系統

市面上至少有幾十種聲稱能賦予 Agent 長期記憶的方案。我們要怎麼研究這麼多?

接下來,我會拆解一篇論文,讓你對 Agent 長期記憶有基本認識,然後比較 OpenClaw 和其他記憶框架的差異,幫助你更好理解。

Google 在 2025 年 11 月發表了一篇論文,標題是「Context Engineering, Sessions and Memory」。

在這篇論文中,他們遵循半世紀前的認知科學方法,將 Agent 記憶分為三類:

三類:

  • 情節記憶(Episodic Memory):昨天發生了什麼事,上次討論了什麼。
  • 語義記憶(Semantic Memory):語義記憶(Semantic Memory):你的名字是什麼、你喜歡什麼、你的身份是什麼。
  • 程序性記憶(Procedural Memory):如何完成任務、流程是什麼。

這三種記憶共同構成了 Agent 的記憶。

铁锤人 - inline image

但這只是故事的一半;另一半是如何維護和使用記憶。

就像人類一樣,Agent 無法記住所有事情。因此,記憶系統需要一個可靠的方法,從對話歷史中提取重要資訊,然後儲存。

我把這一步稱為提取(Extraction)。

此外,我們還需要組織和合併記憶。

例如:

三個月前,我說我在大理,但後來我搬到成都。如果這些資訊沒有合併,記憶中就會出現矛盾的條目。

正確的做法是,在我搬到了成都是在我搬家後,將記憶更新為「使用者在成都」。

我把這一步稱為更新(Updating)。

還有檢索(Retrieval)步驟,涉及很多方法:關鍵字搜尋、語義搜尋、混合搜尋,或使用大型模型來檢索。

所以,要理解一個記憶系統,你只需要理解這兩個面向:

  1. 記憶分為多少類別,每類儲存什麼?
  2. 記憶如何提取、更新和檢索?
铁锤人 - inline image

現在,用這個框架,我們來弄清楚 OpenClaw 的長期記憶是怎麼實現的。

OpenClaw 的記憶分為多少類別,每類儲存什麼?

它的記憶分為以下三種:

  1. memory.md(記憶):屬於語義記憶,儲存你的身份、偏好和穩定的事實。
  1. daily logs(日誌):屬於情節記憶,記錄每天發生的事,按日期組織。它只新增條目,從不刪除。
  1. session snapshots(會話快照):屬於情節層,當你使用 /new 或 /reset 命令開始新會話時,它會總結舊對話中最後 15 條「有意義」的訊息,並儲存為 markdown 檔案。
铁锤人 - inline image

提取、更新和檢索是如何進行的?

提取發生在三種情況:

  1. 當對話即將被壓縮時:有價值的資訊被寫入 daily logs。
  2. 當你使用 /new 或 /reset 開始新會話時:有價值的資訊儲存到 session snapshots。
  3. 當使用者要求記住某事時:系統決定儲存到哪種記憶類型。

檢索發生在兩種情況:

  1. 當開始新對話時:memory.md 會自動注入提示詞中,同時也會讀取今天和昨天的 daily logs 昨天的 daily logs 以獲取近期上下文。
  2. 當 OpenClaw 覺得需要檢查記憶時:它會呼叫記憶搜尋,透過混合搜尋(關鍵字 + 向量)找到記憶位置,然後透過記憶讀取(memory get)讀取檔案內容。

更新何時發生?我個人理解是在提取時,決定要記住什麼的時候。

如果你還是不太懂,可以看下面的圖:

铁锤人 - inline image

現在你對記憶系統有了一些了解,但老實說,OpenClaw 的系統有幾個問題:

  1. 消耗大量 token。
  2. 如果 Markdown 不見了,記憶就消失了。
  3. 經常忘記事情。

然而,真正的企業級記憶系統有許多最佳化來確保穩定性。背後的技術值得每個熱愛科技的人了解。

接下來,我來分析企業級 Agent 記憶系統!!

企業級 Agent 記憶系統

在 AI 時代,每個程式設計師都應該了解企業級 Agent 記憶系統的技術,否則你會失去競爭力。

為什麼?

因為大型模型會持續蠶食我們的程式設計工作。唯一的選擇就是為它們建立配套系統。

為了更容易解釋,我選一個名為 EverOS 的開源方案來拆解。

如果你打算從這個專案開始學習 Agent 記憶系統,歡迎給它一顆星:

github.com/EverMind-AI/EverOS

正如我之前所說,要理解一個記憶系統,只需要回答兩個問題。

EverOS 如何回答它們?

問題 1:記憶如何分類?

一般框架有 3 類,但 EverOS 進一步細分,如下所示:

铁锤人 - inline image
  1. 語義記憶(Semantic Memory)關於你是誰的長期記憶,分為兩層:
  2. 穩定特質(Stable Traits):你是夜貓子、程式設計師、住北京——這些長時間不變的事。
  3. 暫時狀態(Temporary States):你今天熬夜了、這週很忙、上週感冒了。
  1. 情節記憶(Episodic Memory)分為三種:
  2. Episode:對話或任務的濃縮總結,不是日誌。例如:使用者問如何部署模型,卡在環境變數上,花了 30 分鐘。
  3. EventLog:從對話中提取關鍵事實,每個都有時間戳。例如:2026-05-10 使用者買了 Mac mini,2026-05-12 使用者連結了 GitHub。
  4. Foresight:與時間相關的「下一步行動」——你說過要做的事,或它推斷你之後會涉及的事,有到期時間來提醒。例如:下週五前發送提案。
  1. 程序性記憶(Procedural Memory)分為兩種:
  2. Agent Case:完成任務後,記錄「意圖 + 逐步動作 + 品質分數」。例如:發送郵件——它檢查聯絡人、草擬、要求確認、然後發送——這整套被歸檔,並附帶品質分數。
  3. Agent Skill(提煉技能):多次執行類似任務後,它會自動從這些歸檔中提煉出通用方法,並附帶成熟度分數。做得越多,越可靠。例如:5 次郵件任務後,它學會在決定正式或隨意語氣之前,先檢查收件人是否為關鍵人物。

如你所見,EverOS 將原本的 3 類拆分為 類拆成 6 類,可以更精確地儲存,更有效地記憶。

而且,它更像人類記憶——它預測未來,並總結/提煉技能。

問題 2:記憶如何提取、更新和檢索?

記憶如何提取?

EverOS 自動判斷「這段是否結束」。結束後,它會切斷並打包成一個記憶單元。

每個單元包含 4 件事:

  • Plot(情節):討論和做了什麼——濃縮總結,不是逐字記錄。
  • Key Facts(關鍵事實):內部哪些事實值得單獨記錄。
  • Foresight(預見):你說過要做或它推測你會做的事,有到期時間來提醒。
  • Context Tags(上下文標籤):何時、何地、可信度如何、當時的情緒。

你只管聊天,它處理分段細節。

铁锤人 - inline image

記憶如何更新?

例如:

一個月前,你告訴 AI:我打算開始健身。兩週後,你說:我一直很忙,沒去健身房。今天你說:算了,我不健身了。

普通解決方案把三條都塞進日誌。模型檢索到哪條,就認為哪條是事實。但實際上答案應該是最新那條。

EverOS 依賴「語義整合(Semantic Consolidation)」,做三件事:

  • 自動判斷哪條是最新的(健身停止了)。
  • 合併重複或指涉同一事件的事項。
  • 維護使用者檔案,將穩定偏好與暫時狀態分開(正式名稱為 Profile Evolution)。

詳細如下所示:

铁锤人 - inline image

記憶如何檢索?

EverOS 提供 4 種檢索方法,可根據場景選擇:

  • 關鍵字:精確匹配,適合特定名稱或 ID。
  • 向量搜尋:語義匹配——不同詞但意思相同可以匹配。
  • 混合:關鍵字 + 向量一起,然後通過重新排序模型過濾——推薦預設。
  • Agentic:用於複雜的多部分問題;LLM 判斷搜尋什麼以及如何搜尋,迭代直到找到(混合不夠用時使用)。

但 4 種方法不是關鍵,關鍵是檢索邏輯。

普通解決方案是被動的——你給關鍵字,它返回匹配文件,結束。

EverOS 主動重建上下文:

  1. 分析你這次想做什麼。
  2. 啟動相關的主題場景。
  3. 過濾過期資訊(例如一年前的偏好可能無效)。
  4. 迭代搜尋,直到收集到足夠資訊。

普通解決方案像搜尋引擎,搜一次就結束。EverOS 反覆從不同角度尋找,直到找到足夠資訊。

铁锤人 - inline image

EverOS 在長期記憶基準 LoCoMo 上(使用 GPT-4o-mini)達到了 93.05% 的總體準確率,比對照方案 Zep(85.22%)高出近 8 個百分點。

看完這部分,你應該對生產級的 Agent 部分,你應該對生產級的 Agent 記憶系統有很好的概念。但它們如何在實際工程中落地,你可以用它們做什麼?

實際生產實作

我繼續用這個開源專案來說明,原因有兩個:API 免費開放,而且倉庫裡有 20 個真實案例——非常適合討論實作!!

免費開放 API

EverOS 的 Cloud API 是免費開放的。

铁锤人 - inline image

三步驟開始:

  1. 在瀏覽器中打開 everos.evermind.ai 註冊,頁面會給你一個 API Key,儲存起來。
  2. 透過命令列安裝 SDK:pip install everos
  3. 在 Python 中實例化客戶端,開始使用。

EverOS 不僅免費試用,還支援最近流行的技能自我進化(Skill Self-Evolution)功能!!

如何使用技能自我進化?

當 Agent 重複執行類似任務時,EverOS 會自動將經驗提煉成可重複使用的技能。下次遇到類似任務時,直接使用技能,而不是從頭開始。

在程式碼中使用它需要串聯 3 個 API:

兩點注意:

  • 第一次餵入軌跡時,只會產生一個 case(單一任務的歸檔)。技能只有在多次類似任務後才會被聚類和提煉。
  • 你必須使用 /memories/agent 端點;普通的 /memories 不會提取技能。

如果你不懂技能自我進化功能,可以看下面的圖:

铁锤人 - inline image

我簡要提到了程式碼用法,但作為 Agent 基礎設施,這個專案有極其寶貴的真實使用案例。

而且這些案例都是開源的,可以直接學習!!

20 個真實使用案例

倉庫的 README 列出了 20 個使用案例,這裡列舉幾個:

  • MemoCare(阿茲海默症記憶助手):為認知衰退患者提供永不遺忘的外部記憶——這是最暖心的公益專案之一。
  • Claude Code 外掛:為 Claude Code 添加長期記憶,跨會話記住。
  • Game of Thrones:將《權力歐與權力遊戲情節餵給 AI,扮演長期記得自己身份的。
  • OpenHer:AI 女友,情感陪伴 + 記憶演化。
  • Computer-Use with Memory:讓 Agent 控制電腦,並記住每次操作的經驗。
  • Memory Graph Visualization:將記憶系統可視化為圖形。

完整列表在 github.com/EverMind-AI/EverOS 的 README 中。

順便提一下,幾個官方外掛:

API 還不夠,所以 EverOS 將記憶能力打包成幾個開箱即用的外掛:

  • Claude Code 外掛:為 Claude Code 添加長期記憶——每次回覆後自動儲存,每個問題時回憶上下文,並有視覺化的 Memory Hub 面板。一條命令安裝。
  • OpenClaw 外掛:將 EverOS 作為 OpenClaw 的「記憶插槽」——Agent 在執行前自動檢索相關記憶(情節、檔案、案例、技能),並在執行後儲存對話和工具呼叫。
  • OpenClaw 技能:將 EverOS 記憶工具以「技能」形式連接到 OpenClaw / Claude Code,讓 Agent 按需呼叫記憶,而不是永久附加。

回到開頭的三個問題:

什麼是記憶系統?OpenClaw 的記憶系統怎麼樣?企業級解決方案長什麼樣子?

你現在應該有答案了。

EverMind 是一個優秀的專案:

  1. 整個專案是 Apache 2.0 開源,目前有 4500+ 顆星。
  2. EverMind 有深厚的學術和演算法背景,持續發表論文;之前的 MSA 也是一個非常先進的概念。
  3. EverMind 是盛大旗下的 AI Native 公司,資源豐富。

如果你打算從這個專案開始學習 Agent 記憶系統,歡迎給它一顆星:

github.com/EverMind-AI/EverOS

他們月底還有新產品上線,期待!!

這是我第一次嘗試用文章解釋技術概念。為了讓大多數人理解,我省略了許多細節。

涉及的技術很複雜;歡迎在評論中指出錯誤以便修正。

如果你喜歡我的文章,可以收藏、評論、轉發給朋友,並追蹤我。

更多可拆解樣本

近期爆款文章

探索更多爆款文章

為創作者而生。

從全球 𝕏 爆款文章裡發現選題,拆解它為什麼能爆,再把可複用的內容結構變成你的下一篇創作靈感。