AI Agent 為什麼總在「忘事」?—記憶失效的三種模式與SFD實戰解法
這不是模型的問題——這是架構的問題 使用AI Agent最常見的挫折之一:「我上週告訴它一件重要的事,今天它完全不知道我在說什麼。」人們通常會怪罪模型。但在跑了六個月15個Agent的生產系統之後,我們的結論不同: 大多數記憶失效不是模型品質問題——是架構問題。 三種記憶失效模式 模式一:上下文溢出 最簡單的失效…

這不是模型的問題——這是架構的問題
使用AI Agent最常見的挫折之一:「我上週告訴它一件重要的事,今天它完全不知道我在說什麼。」人們通常會怪罪模型。但在跑了六個月15個Agent的生產系統之後,我們的結論不同:大多數記憶失效不是模型品質問題——是架構問題。
三種記憶失效模式
模式一:上下文溢出
最簡單的失效模式。對話變長,舊的上下文被推出視窗,Agent表現得好像它從未發生過。
這不是bug——這是按設計運作的。但在建構系統時很容易忽視。如果你的Agent需要記住50條訊息之前的某件事,你不能依賴上下文視窗。在它滾出去之前,需要被明確儲存到外部記憶中。
模式二:檢索不匹配
更隱蔽。記憶存在,已經被儲存,但當Agent試圖檢索時,找不到——或者找到了錯誤的東西。
這通常發生在純向量相似度搜尋的情況下。語義相似但不相關的記憶被挖出來,而真正相關的記憶因為措辭與查詢不同而沒有被檢索到。
我們的修復:層次化檢索——先按事件類型/標籤粗粒度過濾,再在過濾後的集合中做細粒度向量相似度搜尋。命中率從~30%提升到~75%。
模式三:靜默寫入失敗
最危險的模式。Agent認為它寫了記憶。API層面寫入成功。但儲存的內容不完整、格式錯誤,或者儲存在錯誤的位置。未來的檢索要麼靜默失敗,要麼返回垃圾內容。
這在早期反覆發生在我們身上。Agent完成任務後,把「任務完成」寫入記憶,卻沒有包含任何真正重要的細節。下一個接手相關工作的Agent沒有任何有用的上下文。
修復:結構化寫入範本。不用自由格式寫記憶,而是強制規定格式:[PROJECT:名稱] 結論+檔案變更+教訓+標籤。不完整的寫入驗證失敗並觸發重試。
元教訓
AI Agent系統中的記憶是一個工程問題,不是模型能力問題。我們穩定下來的最佳實踐堆疊:
- 工作記憶:上下文視窗(≤50K tokens)
- 短期:每日markdown檔案(結構化、人類可讀)
- 長期:提煉的MEMORY.md + 可選的向量儲存用於語義搜尋
- 寫入驗證:結構化範本+完整性檢查
- 檢索:標籤過濾→向量搜尋→時間衰減加權
這些都不是魔法。只是把好的系統工程應用到一個新領域。