長時間研究 agent 的記憶機制
Memory Harnesses for Long-Running Research Agents — Stefania Druga, Sakana.ai

Stefania Druga 在本地模型上比較四種 recall 設定:任務放得進 context 時記憶只多花錢,放不進時排序過的 recall 更常答對,花的 token 也更少。
這場講了什麼
- context rot 是長任務的老問題:任務跑久了,模型會自相矛盾、忘了做過而重做,或偏離原本的問題。METR 的預測是任務越來越長、模型釋出越來越少,Stefania Druga 因此把這個問題列為優先。
- 把記憶當成控制迴圈:記憶不只是資料庫,而是包在模型外的 write、manage、read 迴圈。harness 分成永遠顯示給 agent 的 core、測試不同模式的 recall block,以及跨 session 保存資訊的 archival block。
- 只動 recall,其他不變:模型固定,只換 recall block 的設定:完全不用記憶、vector RAG、decisions ledger,以及直接給正確記憶的 oracle。
- 放得進 context 就不需要 harness:文獻回顧任務的資料全放得進 context,有沒有記憶表現一樣,記憶只多花成本。XBench 的題目答案在第 124 步、卻在第 500 步才問,這時排序過的 recall 比不用記憶更常答對。
- 好的 recall 也省錢:換成另一個模型、另一個 benchmark,結果一樣成立,而且成本更低。經驗法則是壞記憶很貴,既多花 token,又會把 agent 帶錯方向。
- 本地模型換來掌控權:整條流程的資料與 traces 都在自己手上,Stefania Druga 把這看成 sovereignty 的例子。代價是 DeepSeek V4 Flash 只能序列跑,評估很慢。
影片從哪一段開始看14 段
- 00:13開場與主題Stefania Druga 是東京 Sakana AI 的研究科學家,這場講長時間研究 agent 的記憶 harness。
- 00:34context rot 的症狀長任務裡模型會自相矛盾、忘了做過而重做、忘了原本的問題;METR 的預測顯示長任務會越來越多、模型釋出越來越少。
- 01:34為什麼用本地模型Coinbase CEO 兩天前分享:改用更多本地模型,加上更好的 routing 與 caching,AI 支出降了、用量反而上升。本地模型已經開始能做 agent 任務與 tool use。
- 02:38實驗環境東京的 Mac 還在跑評估,人在這裡用手機遙控,連跑幾天熱到要用風扇降溫。M3 Ultra(96 GB、28 核心)上跑兩個模型:4-bit 量化的 Qwen 27B 與 DeepSeek V4 Flash。
- 03:27記憶是控制迴圈把記憶看成 write、manage、read 迴圈;harness 由 core、recall block、archival block 組成,研究 agent 本身沒有任何持久記憶,記憶全部來自 harness。
- 04:33recall 的四級階梯依序測不用記憶、vector RAG、decisions ledger,以及直接告訴 harness 正確記憶的 oracle;模型固定,只換 recall 設定。
- 05:21任務一:文獻回顧語料裡放了一篇後來被撤回、宣稱發現 742,000 種有潛力材料的 Nature 論文,看系統能不能找出正確答案。資料全部放得進 context,有無記憶表現相同。
- 06:44任務二:XBench答案在第 124 步、問題卻在第 500 步才問,早已超出 context window,模型得靠 harness 從對的那一步取回答案。
- 07:49排序 recall 的結果68 題、每題多組設定與多個 seed,排序 recall 比不用記憶更常答對,也比只讓 harness 判斷「要不要用記憶」好。
- 08:38為什麼 oracle 沒滿分oracle 只提供正確記憶、不強迫模型使用,模型可能忽略或被搞混。其他消融(任意範例、給錯的步驟、給最近一步)裡,排序 recall 仍然表現最好。
- 09:30跨 benchmark 與成本換一個 benchmark 也成立,而且更省錢;好的結構化 recall policy 能省下大量 token 與預算,壞記憶則又貴又會帶錯方向。
- 10:02把 recall policy 當一級指標設計系統時想清楚要存哪些記憶、怎麼排序、recall function 怎麼設計,以及反覆跑多個 session 之後什麼會留下來。
- 10:39記憶技術的版圖一個開源 repo 收了超過 30 個可執行的 cookbook;解法從簡單的檔案系統檢索到訓練記憶模型都有,結構化程度差很多。
- 11:27本地模型的掌控與代價資料與 traces 都自己控制,這是 sovereignty 的例子;代價是 DeepSeek V4 Flash 不支援批次查詢,只能序列跑,所以評估到現在還沒跑完。
值得記的話5 句
You can think of memory as a write, manage, read loop.
可以把記憶想成 write、manage、read 的迴圈03:43So when your task fits in context, the harness doesn't add much.
任務放得進 context 的時候,harness 幫不上多少忙06:29So the Oracle, what it does, it provides the right information, the right memory to the model, but it doesn't force it to use it.
oracle 做的是把對的資訊、對的記憶交給模型,但不會強迫它用08:38bad memory is expensive because it spends more token and it can send the agent the wrong way.
壞記憶很貴,因為多花 token,還會把 agent 帶錯方向09:30consider the recall policy as a first-class metric
把 recall policy 當成一級指標10:02
名詞與人物9 個
- Sakana AI
- Stefania Druga 任職的公司,在東京
- context rot
- 長任務裡 context 越積越亂,模型開始自相矛盾、重做工作或偏離問題
- memory harness
- 包在模型外面的記憶控制迴圈,由 core、recall block、archival block 組成
- recall block
- harness 裡用來測試不同取回模式的區塊
- decisions ledger
- 一種 recall 模式,記下每一輪做了哪些決定,再排出優先順序
- oracle
- 每一輪直接告訴 harness 該取回哪段正確記憶的參考條件,但不強迫模型採用
- XBench
- 測長時間任務記憶的既有 benchmark
- METR
- 做任務長度預測的機構,這場引用它的預測說明長任務會越來越多
- DeepSeek V4 Flash
- 兩個實驗模型之一(Stefania Druga 簡稱 DS4 Flash),能在 M3 Ultra 上跑,但只能序列查詢
提到但沒有展開
- 本地模型的瓶頸還是 RAM:DeepSeek V4 Flash 能在 M3 Ultra 上跑,但不容易。
- Coinbase 的做法除了 routing 與 caching,還包括保持 context 乾淨,以及掌握大家用什麼模型做什麼任務。
- 記憶有短期、長期與各種認知技術,評估結果也可以拿來用。
同一站:Context Engineering7 場
- Agent 缺的不是智慧是 context014 · Prukalpa Sankar · 21 分
- 公司要有自己的大腦021 · Garry Tan(Y Combinator) · 21 分
- 把 skill 當成產品功能來經營059 · Yogendra Miraje(FactSet) · 17 分
- 零散筆記變成 LLM 知識庫106 · Ben Holmes(Warp) · 21 分
- 拆解 ChatGPT 與 Claude 的記憶系統107 · Shlok Khemani(Independent) · 20 分
- 長時間研究 agent 的記憶機制你在這裡
- AI tutor 的 context 該不該壓縮111 · Louis-François Bouchard, Omar Solano & Samridhi Vaid(Towards AI) · 63 分