
Anthropic 於 11 月發表 agent memory 研究,提出以「dreaming」方式,讓 Claude 在對話與對話之間重播 session 日誌,修正錯誤筆記、合併重複內容,並建立 wiki 式索引[1]。研究以約 35 個檔案、合共約 4.2 萬 token 的企業文件測試,當 dreaming 由 2 次增至 128 次,單靠 wiki 答題的評分由 13% 升至 48%[1]。
記憶分層與遞歸整理
Anthropic 把代理記憶分成虛擬層:最底層是可搜尋的 session 轉錄紀錄,之上是 Claude 自己嵌入的記憶筆記,再上是 wiki 類的記憶表達,最頂層是每次 session 開始時預先載入的上下文。Dreaming 會在轉錄紀錄與各層之間來回,把重要內容向上推,又會把過時細節向下移,只留下連結。
這種分工參照人類睡眠時的記憶重播。代理在對話進行中嵌入筆記,難免分心,難以及時判斷當下什麼才算重要;把整理工作拋到背景進行,就可以用額外算力撥取更準確的記憶,代價是 dreaming 的成果未必即時可用。
筆記寫得少反而走得遠
研究以《Pokémon Red》測試代理判斷什麼值得記住。Claude Sonnet 3.7 假設所有事情都可能有用,在約 1 萬步時已寫下 413 個記憶片段、分佈在 225 個資料堆,只取得一個徽章;Claude Fable 5 只寫了 9 個片段加一個總覽片段,就取得四個徽章。
關鍵差異在於遊戲狀態不斷變化,記憶金鑰、位置等每回合都可從畫面讀取資訊,只會令記筆記輕速過時,代理其後要花更多時間翻閱舊記憶。相對地,策略、規劃與測試過的規律不會自動出現在畫面上,只有寫下來才存在,Fable 5 集中記錄這一類內容。
Wiki 與搜尋互相輔足
在企業文件測試中,Anthropic 用 25 條問題評估代理對一批文件的掌握程度。當 dreaming 由 2 次加到 128 次,wiki 由 103 頁、766 條連結擴展到 222 頁、12,893 條連結,單靠 wiki 的評分由 13% 升至 48%;同時提供搜尋工具時,總分由 54% 升至 61%,而只有搜尋工具、沒有 wiki 維持在 53%。兩者並用亦令每條問題節省約 2 萬 token。
不過 wiki 並非萬能。在部分法規文件任務中,答案可以直接從單一文件搜尋得到,wiki 沒有明顯幫助;有一次 wiki 甚至長得比原始文件更大,失去緊湊作用。Anthropic 又發現,在建立 wiki 時,多個代理同時寫入同一個共享頁面會互相覆蓋,導致 57 條合約條款只有 41 條保留;改為每份合約由一個代理獨立處理並逐字引用後,57 條全部保留。
尚未解決的設計問題
Anthropic 承認,記憶系統仍有不少開放問題:究竟是在工作中即時寫筆記,還是留待背景 dreaming 處理;如何避免筆記一開始就寫錯,或在環境改變後逐漸失效;以及 dreaming 需要多少算力才算划算。官方認為,與其不斷檢查全部記憶,更實際的做法是把 dreaming 集中在容易變動的資訊,或按記憶被存取的頻密程度調整整理節奏。
對建立長期代理的開發者而言,這份研究提供了一個具體方向:記憶不只是把對話塞進上下文,而是需要分層、需要維護,並需要定期用原始紀錄校正。