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智慧體記憶文件。