
AI Agent 記憶系統的三個難題:壓縮、演化、衝突
這是我們在 OpenClaw 系統實作記憶機制的心得,也是對「讓 AI Agent 學會做夢」一文的延伸。我們不談論文,只談踩過的坑和做出來的解法。 為什麼 AI Agent 需要記憶? 不是所有 LLM 應用都需要記憶。一個回答使用者問題的客服機器人,問完就可以忘了;一個生成文案的工具,用完就走。但當 Agent 需要 長期運行、累積經驗、理解上下文,情況就完全不同了。 我們的 OpenClaw Agent 需要: 記住使用者的偏好(他喜歡高密度資訊,不愛廢話) 記住基礎設施的狀態(哪台機器開了、哪個服務掛過) 記住決策的來龍去脈(當初為什麼選這個方案) 沒有記憶,每次對話都是獨立的瞬間,Agent 永遠是新手。這就是我們要解決的問題。 難題一:壓縮 — context window 有限,保留什麼? 問題 即使是 GPT-5.4 或 Claude 4.6,context window 終究有限。當記憶累積超過臨界點,你不可能把全部東西都塞進去。壓縮不是選項,是必然。 但壓縮代表選擇。選擇本身就是困難的: 哪些對話值得記住? 抽象化(summarization)會不會丟失關鍵細節? 如果壓縮演算法選錯了重要資訊,後果是什麼? 業界做法 常見的壓縮策略有幾種: 方法 說明 缺點 簡單摘要 LLM 產出濃縮版本 容易遺漏細節,無法精確檢索 向量檢索 存 embedding, query 時召回 只能搜「相似」,無法知道「重要」 優先級排序 依重要性決定保留顆粒度 依賴準確的優先級判斷 我們的做法 我們採用 三層記憶架構,用「分層」取代「一次性壓縮」: daily memory(便簽)→ MEMORY.md(長期)→ reference/(結構化知識) daily memory:每天的 raw 紀錄,像貼在冰箱上的便利貼 MEMORY.md:萃取後的長期知識,需要主動維護 reference/:結構化資料(設定檔、API 文件、流程 SOP) 同時搭配 P 級優先級: ...
