AI工程師必讀:七種智能體記憶類型技術指南
大型語言模型默認無狀態,智能體需要記憶來保留上下文。本文詳細解析了七種記憶類型——工作記憶、語義記憶、情節記憶、程序記憶、檢索記憶、參數記憶和前瞻記憶,包括每種記憶存儲的內容、位置和實現時機。附帶對比表和Python代碼示例。
大型語言模型(LLM)默認是無狀態的。每次API調用都從零開始,模型在返回響應後會忘記你的上一條消息。對於單個問題這沒問題,但當你構建智能體時,這種設計就失效了。智能體需要規劃、調用工具並在多個步驟中運行,它們必須記住信息。記憶正是解決這一問題的基礎設施,它將無狀態模型轉變為能夠保留上下文、從經驗中學習並隨時間行動的系統。
什麼是智能體記憶?記憶是任何能在模型推理過程中傳遞信息的機制。部分記憶存在於上下文窗口內,部分存在於外部數據庫或模型權重中。每種類型針對不同類別的信息以不同時長進行存儲。記憶按形式(參數化:存儲在權重中;非參數化:存儲為文本)和時標(短期或長期)進行分類。下面介紹的七種類型恰好映射到這兩個軸上。
七種智能體記憶類型:
- 上下文/工作記憶(短期):模型當前在其上下文窗口內能看到的所有內容,包括系統提示、最近消息、工具輸出和推理步驟。它相當於RAM,快速且必要,但暫時且容量有限。其他每種記憶類型都在爭奪這裏的空間。
- 語義記憶(長期):持久存儲事實、偏好和領域知識。例如“用户更喜歡Python而非JavaScript”。這些知識與學習時間無關,是智能體關於用户或話題的有組織的百科全書。
- 情節記憶(長期):記錄特定過去事件、完整對話和任務運行。記錄什麼有效、什麼失敗。智能體用它從經驗中學習,如Reflexion和ExpeL系統會撰寫事後總結並存儲結論供未來使用。
- 程序記憶(長期):智能體關於如何做事情的知識,涵蓋技能、工具使用模式、工作流程和行為規則。處理第一百次密碼重置的支持智能體不會重新推理工作流,而是執行已學會的程序。
- 外部/檢索記憶(短期+長期):存儲在模型外部的向量數據庫中的知識,在推理時通過相似性搜索拉入上下文。這是將RAG應用於智能體歷史或文檔的方式。檢索質量很快成為瓶頸。
- 參數記憶(長期):在訓練期間直接嵌入模型權重的知識,包含語言、推理模式和通用世界知識。模型不進行查找,而是從學習到的關聯中生成。其缺點是訓練後凍結。
- 前瞻記憶(短期+長期):智能體記住未來意圖和計劃目標的能力,跟蹤已計劃但尚未執行的任務。對於長週期和多步規劃智能體至關重要,否則智能體將忘記自己的承諾。
對比:這七種記憶在時標、位置和典型實現上各有不同。下表展示了每種類型的映射(此處描述,原文有表):工作記憶位於上下文窗口,短期,存儲提示、消息、工具輸出;語義記憶在外部存儲,長期,存儲事實偏好;情節記憶在外部存儲,長期,存儲事件日誌;程序記憶在提示或權重中,長期,存儲技能規則;檢索記憶在向量數據庫,兩者兼有,存儲文檔;參數記憶在模型權重,長期,存儲世界知識;前瞻記憶在狀態存儲,兩者兼有,存儲未來意圖。
使用場景:每種記憶解決具體產品需求。編碼助手在單個會話中使用工作記憶;個人助手需要語義記憶記住用户偏好;研究智能體需要情節記憶改進;旅行預訂智能體需要程序記憶掌握流程;文檔聊天機器人需要檢索記憶;長期項目智能體需要前瞻記憶。一個綜合性例子:自治市場分析智能體同時使用所有七種記憶——參數記憶提供基礎推理,檢索記憶拉取市場數據,語義記憶提供用户格式偏好,情節記憶回憶可靠來源,程序記憶驅動章節順序,前瞻記憶安排後續任務,工作記憶將所有內容組裝到活動上下文。
實現:下面是一個最小記憶棧的Python草圖(文中提供了代碼示例,此處簡述)。在實際生產中,長期存儲會遷移到向量數據庫,但模式保持不變:寫入長期記憶,檢索到工作記憶,然後進行推理。
如何分層:不要一次性構建所有七種。從工作記憶開始,添加語義記憶以滿足跨會話記住用户的需求,之後根據需求逐步加入情節、程序和前瞻記憶。參數記憶和檢索記憶通常已經存在(基礎模型和RAG)。
參考文獻:CoALA框架(arXiv:2309.02427)、AI時代記憶調查(arXiv:2512.13564)、從人類記憶到AI記憶調查(arXiv:2504.15965)、LangChain LangMem、MongoDB、Redis、Neo4j智能體記憶文檔。