AI Agents 入門課程 · 第 13 課 / 共 18 課

AI Agent 的記憶管理:短期記憶、長期記憶與自我改進

原文:Microsoft AI Agents for Beginners · MIT 授權

為什麼 AI Agent 需要記憶?

一句話:沒有記憶的 Agent 每次對話都是從零開始;有了記憶,Agent 才能真正從互動中學習、個人化、並長期變得更好。

在討論 AI Agent 的獨特優勢時,兩個核心能力最常被提及:透過工具完成任務的能力,以及隨時間自我改進的能力。而記憶(Memory)正是打造這類自我改進 Agent 的基礎。

什麼是 AI Agent 的記憶?

記憶是讓 Agent 保留並回憶資訊的機制。這些資訊可以是對話細節、使用者偏好、過往行動記錄,甚至是學到的行為模式。

沒有記憶的 AI 應用通常是無狀態(stateless)的——每次互動都從零開始,導致使用者不斷重複說明,體驗極差。Agent 的智慧與其回憶和利用過往資訊的能力密不可分。記憶讓 Agent 做到:

能力說明
反思性 (Reflective)從過往行動與結果中學習
互動性 (Interactive)在對話中維持上下文
主動/被動 (Proactive/Reactive)根據歷史資料預測需求或適切回應
自主性 (Autonomous)利用儲存知識更獨立地運作

記憶的七種類型

1. 工作記憶 (Working Memory)

想像成 Agent 在執行單一任務時的「便條紙」。它只保留計算下一步所需的即時資訊。對 AI Agent 而言,工作記憶會從對話中提取最關鍵的元素——需求、提案、決策和行動項目。

範例:旅遊訂票 Agent 中,工作記憶保存使用者目前的需求,例如「我要訂去巴黎的機票」,作為當前互動的指引。

2. 短期記憶 (Short Term Memory)

在單次對話或會話期間保留資訊,讓 Agent 能回溯對話前面的回合。在 Microsoft Agent Framework 中,這對應到 AgentSession——框架內建的短期記憶。同一 session 內上下文有效,但 session 結束或重啟後不會保留。

範例:使用者問「去巴黎的機票多少錢?」接著問「那住宿呢?」——短期記憶讓 Agent 知道「那」指的是「巴黎」。

3. 長期記憶 (Long Term Memory)

跨越多個對話或會話持續存在的資訊。讓 Agent 記住使用者偏好、歷史互動,實現真正的個人化。通常透過資料庫、向量索引或其他持久化儲存實現。

範例:長期記憶可能儲存「Ben 喜歡滑雪和戶外活動、喜歡山景咖啡、因過去受傷要避開高級雪道」。這些資訊在未來規劃旅行時會自動影響推薦。

4. 人格記憶 (Persona Memory)

幫助 Agent 建立一致的「人格」或「角色」,記住自己的定位和風格,讓互動更流暢、更聚焦。

範例:若旅遊 Agent 設計為「專業滑雪規劃師」,人格記憶會強化這個角色,讓回應語氣符合專家定位。

5. 工作流程/情節記憶 (Episodic Memory)

儲存 Agent 在複雜任務中執行的步驟序列,包括成功與失敗。就像記住特定的「情節」或過往經驗來學習。

範例:若 Agent 嘗試訂某航班但因滿位失敗,情節記憶記錄這次失敗,下次會自動嘗試替代航班或更有條理地告知使用者。

6. 實體記憶 (Entity Memory)

從對話中提取並記住特定實體(人物、地點、事物)和事件,建立對關鍵元素的結構化理解。

範例:從過往對話中提取「巴黎」、「艾菲爾鐵塔」、「Le Chat Noir 餐廳」。未來互動中 Agent 可主動提議「要再訂 Le Chat Noir 嗎?」

7. 結構化 RAG (Structured RAG)

從多種來源(對話、郵件、圖片)提取密集且結構化的資訊,在精確度、召回率和速度上超越傳統 RAG。不像經典 RAG 只依賴語義相似度,結構化 RAG 利用資訊的內在結構。

範例:不只做關鍵字比對,而是從郵件中解析航班細節(目的地、日期、時間、航空公司)並結構化儲存,支援「我週二訂了哪班去巴黎的飛機?」這類精確查詢。

記憶的實作與管理

為 AI Agent 實作記憶涉及系統化的記憶管理流程:生成、儲存、檢索、整合、更新,甚至是「遺忘」(刪除)資訊。其中檢索是最關鍵的環節。

Mem0:持久化記憶層

Mem0 是一個專門的持久化記憶工具,讓無狀態 Agent 變為有狀態。它透過兩階段記憶管線運作:

  1. 提取階段:訊息傳送至 Mem0 服務,由 LLM 摘要對話歷史並提取新記憶
  2. 更新階段:LLM 驅動判斷該新增、修改或刪除哪些記憶,儲存在混合資料儲存(向量 + 圖譜 + 鍵值資料庫)

Mem0 支援多種記憶類型,並可整合圖譜記憶來管理實體間的關係。

本課提供完整 Notebook:13-agent-memory.ipynb

Cognee:語義記憶 + 知識圖譜

Cognee 是開源語義記憶工具,將結構化與非結構化資料轉換為可查詢的知識圖譜(搭配 embeddings)。其雙儲存架構結合向量相似度搜尋與圖譜關係:

本課提供完整 Notebook:13-agent-memory-cognee.ipynb

Azure AI Search 作為記憶後端

除專用記憶工具外,也可用 Azure AI Search 作為記憶儲存和檢索後端,特別適合結構化 RAG。它能:

讓 AI Agent 自我改進

自我改進 Agent 的常見模式是引入一個「知識 Agent」。這個獨立 Agent 觀察使用者與主要 Agent 之間的對話,負責:

  1. 識別有價值資訊:判斷對話中哪些部分值得儲存為通用知識或使用者偏好
  2. 提取與摘要:將對話中的關鍵學習濃縮
  3. 存入知識庫:將提取的資訊持久化(常使用向量資料庫)
  4. 增強未來查詢:新查詢時,知識 Agent 檢索相關儲存資訊並附加到使用者 prompt,為主要 Agent 提供關鍵上下文(類似 RAG)

記憶優化策略

策略做法
延遲管理 (Latency)先用便宜、快速的模型快速判斷資訊是否值得儲存或檢索,只在必要時才觸發複雜的提取/檢索流程,避免拖慢使用者互動
知識庫維護對持續成長的知識庫,將不常用資訊移至「冷儲存」以控制成本

本課重點回顧

  1. 記憶是 Agent 自我改進的基礎——沒有記憶的 Agent 只是無狀態的問答機,有了記憶才能真正學習和個人化
  2. 七種記憶類型涵蓋從即時工作記憶到跨會話長期記憶,每種都有特定用途
  3. 工作記憶是當前任務的便條紙;短期記憶維持單次對話上下文;長期記憶跨越多次會話實現個人化
  4. Mem0 提供兩階段記憶管線(提取+更新),Cognee 用知識圖譜實現混合檢索,Azure AI Search 是結構化 RAG 的強大後端
  5. 知識 Agent 模式:獨立觀察對話、提取有價值資訊、儲存並在未來查詢中增強上下文
  6. 記憶系統需要成本管理:快模型做初篩,慢模型做深層處理;冷儲存管理長期成本

原始資源