iT邦幫忙

2026 iThome 鐵人賽

DAY 15
0
AI Engineering

打造具備記憶與執行能力的常駐 AI Agent:Hermes Agent × Gemini × MCP 的 Harness 設計系列 第 15 篇

【Day 15】Agent Memory 的研究現況:write–manage–read 與三個維度

  • 分享至 

  • xImage
  •  

前兩天量的是固定開銷與工具 schema,都是我這台機器上的數字。記憶這一層在動手量之前先換一組來源:它在 2026 年已經有專屬的綜述與基準。以下依序釐清三件事:這個迴圈怎麼形式化、既有文獻用哪三個維度分類、基準量出來的落差有多大。


一份 2026 年的綜述

Du 的綜述《Memory for Autonomous LLM Agents: Mechanisms, Evaluation, and Emerging Frontiers》2026 年 3 月 8 日投遞至 arXiv,編號 2603.07670,涵蓋範圍是 2022 年到 2026 年初的工作。摘要開頭那句把問題界定得很清楚:

大型語言模型 agent 愈來愈常運作在單一個 context window 遠遠裝不下已發生的事、已學到的事、以及不該重複的事的場景裡

它把記憶定義為「跨互動保存、組織並選擇性回想資訊的能力」,並指出記憶是把無狀態的文字產生器變成能適應的 agent 的那一項。

write、manage、read 這三種操作的分法來自 Zhang 等人 2024 年那份專論記憶的回顧,Du 把涵蓋範圍更新到 2025 至 2026 年的系統,另外補上以 POMDP 為基礎的形式化。


三個維度

摘要把記憶形式化成一個與感知、行動緊密耦合的 write–manage–read 迴圈,再用三個維度展開分類:

維度 這個維度問的事 文獻列出的選項
temporal scope 這則記憶活多久、抽象到什麼程度 working、episodic、semantic、procedural
representational substrate 它實際存在什麼東西裡 脈絡內的文字、向量索引庫、結構化儲存、可執行的程式庫
control policy 由誰決定存什麼、取什麼、丟什麼 啟發式規則、以提示自控、學習得到的策略

第一個維度的四層之間有明確的轉換問題。綜述舉的例子是把「使用者在 1 月 5 日、1 月 12 日、2 月 1 日都改了日期格式」這種 episodic 事實,整併成「使用者偏好 DD/MM/YYYY」這條 semantic 紀錄。原文對這個步驟的評語是:

這個整併很少是自動發生的,目前多數系統需要明確的提示或啟發式觸發條件

第三個維度是綜述自己標為最有影響、討論卻最少的那一個:

  • 啟發式控制把規則寫死,取前 k 筆、每 n 輪摘要一次、超過 d 天過期,可預測也好除錯
  • 以提示自控把記憶操作開成工具呼叫,由模型決定何時呼叫,MemGPT 的 core_memory_append 與 archival_memory_search 是標準例子
  • 學習控制把記憶操作當成策略動作,端到端最佳化

以提示自控這一類的品質來源,原文指得很明確:取決於模型的指令遵循能力,以及記憶 API 在 system prompt 裡被說明得多完整。


五個機制家族

家族 做法 代表系統
context-resident compression 把相關資訊留在 prompt 裡 摘要、scratchpad、思路鏈紀錄
retrieval-augmented stores 產生器配一個非參數的檢索索引 RAG 系列
reflective self-improvement 任務失敗後讓 agent 寫一份自然語言的事後檢討 Reflexion
hierarchical virtual context 借作業系統的虛擬記憶體概念分層 MemGPT
policy-learned management 記憶操作交給學習得到的策略 AgeMem

第五類是這兩年新開的一條路。 Agentic Memory(AgeMem,Yu 等人 2026)把 store、retrieve、update、summarize、discard 五種記憶操作做成 agent 策略裡可呼叫的工具,再用強化學習最佳化整條流程。訓練分三段:

  1. 監督式暖身,資料是記憶操作的示範
  2. 任務層級的強化學習,獎勵訊號來自任務結果
  3. 步驟層級的 GRPO,為個別記憶動作提供較密的信用分配

在五個長時程基準上它穩定勝過強基線,學到的策略還出現兩項不明顯的戰術:在脈絡填滿之前先主動摘要中間結果,以及捨棄那些與既有紀錄語意相近、卻沒有帶來新資訊的紀錄。

原文同時列了四項未解的顧慮:訓練昂貴、學會的遺忘可能刪掉安全關鍵資訊、策略跨任務分布可能轉移失敗,以及難以解釋 agent 為何選了某個記憶動作。


基準量出來的落差

基準 年份 設計重點
LoCoMo 2024 最長 35 個 session、300 輪以上、每段對話 9k 到 16k token
MemBench 2025 區分事實型與反思型記憶,另以記憶操作次數量效率
MemoryAgentBench 2025 四項認知能力,含選擇性遺忘
MemoryArena 2026 把記憶評測嵌進完整的 agent 任務,後段子任務依賴前段學到的東西

最值得記住的是跨基準的那個落差:

在 LoCoMo 拿到接近滿分的模型,到了 MemoryArena 掉到 40% 到 60%,凸顯出被動回想與主動、與決策相關的記憶運用之間有很深的落差

另外兩個數字指向同一個方向:Voyager 拿掉技能庫之後科技樹里程碑的達成速度差了 15.3 倍,MemoryArena 把主動記憶的 agent 換成純長脈絡基線,跨 session 互相依賴的任務完成率從八成以上掉到約 45%。

綜述收出的第一條是長脈絡不等於記憶,即使 context window 拉到 200k token,長脈絡模型在需要選擇性取回與主動管理的任務上仍然穩定輸給專門建的記憶系統。第二條是檢索品質已經取代儲存量成為主要瓶頸。


五個設計目標互相拉扯

目標 問的事
Utility 記憶確實改善任務結果嗎
Efficiency 每單位效益要付多少 token、延遲與儲存成本
Adaptivity 能從互動回饋增量更新,不必整個重訓嗎
Faithfulness 取回的資訊正確且仍然有效嗎
Governance 隱私、刪除請求與組織政策都遵循嗎

這五項往相反方向拉:把效益推到最大會傾向什麼都存,儲存量與治理負擔隨之上升,壓縮壓得兇則改善效率,代價是靜默丟掉三週後才發現關鍵的那一條罕見事實。

工程樣式那一節把實際系統收成三類:全部記憶都在 prompt 裡、脈絡加外部檢索庫、多層儲存加學習或提示控制器。綜述給的建議是從第二類開始,把量測儀表裝好,等實測結果顯示學習控制確實改善目標工作負載再升到第三類。


依這三個維度對照 Hermes

以下的對映是我依上述維度自行做的對照,綜述本身沒有分析這套實作:

維度 這套實作對應的類別 依據
temporal scope MEMORY.md 與 USER.md 存 semantic,session 的 SQLite 存 episodic,skills/ 目錄存 procedural 前幾天量過的資料表與檔案配置
representational substrate 脈絡內的文字加結構化儲存,沒有向量索引 兩個 Markdown 檔加 SQLite 的 FTS5 全文索引
control policy 以提示自控 記憶工具的 action 列舉只有 add、replace、remove,何時呼叫由模型決定

工程樣式上它介於第一類與第二類之間,記憶本身是脈絡內的文字,全文索引存在但走的是另一條路徑。

這套實作的記憶寫入由模型自己決定,讀取沒有檢索階段


心得

三個維度裡最有用的是 control policy。前兩個維度描述記憶長什麼樣,第三個維度問的是誰在按按鈕,答案決定了這套系統的失效模式。以提示自控這一類的品質來源是模型的指令遵循能力與 API 的說明完整度,決定權在這兩項。

40% 到 60% 那個落差解釋了一件我原本以為與記憶無關的事。同一個模型在單輪問答裡回想得很準,接進排程任務之後表現落一大截,兩者量的是兩件不同的能力:被動回想只要求資訊在 context 裡,主動運用還要求它在正確的時機被取出來。

記憶做得好不好,在單輪對話裡量不出來


明天

內建記憶的實測:寫入一則偏好、終止 session、重新啟動後取回,並量出它在 system prompt 裡實際佔多少 byte。


上一篇
【Day 14】工具 schema 的裁剪:停用一組工具實際省下多少
系列文
打造具備記憶與執行能力的常駐 AI Agent:Hermes Agent × Gemini × MCP 的 Harness 設計 共 15 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言