你給 Agent 加上記憶系統,想讓它從過去的經驗學習。結果跑一下測評,成績從 76.4% 掉到 70.1%。

沒看錯,加了記憶,反而變差。

這不是我編的。上海人工智能實驗室(Shanghai AI Lab,做 InternLM / InternVL 的那個)聯合浙大、復旦發表的 MemHarness 論文(Wu et al., 2026-07-30, arXiv 2607.28272)在 ALFWorld benchmark 上的消融實驗清楚記錄:把過去成功的軌跡原封不動餵回 agent(他們叫 “RL + Raw Memory”),表現不升反降。原因其實很直觀——過去的經驗是在不同環境狀態下產生的,直接搬到當下,不對的部分變成噪音,好的部分也被淹沒了。

用成語講就是刻舟求劍、食古不化。環境已經變了,你還在舊記號的位置找劍;吃進了舊知識卻沒有消化重組,原封不動吐出來反而卡住自己。

具體來說,問題出在兩層:

一、環境已經變了。 過去成功的行動序列是在特定狀態下產生的,搬到不同狀態就變成錯誤指引。就像你上一個專案用 monolith 架構成功了,下一個專案環境不同卻硬套同一套,反而踩坑。

二、成功經驗的「權威感」更危險。 失敗的經驗你會懷疑它,但成功的經驗你會信任它——agent 也是。原封不動拿到的成功軌跡會壓過 agent 自己對當下環境的判斷。越成功的記憶,越容易讓 agent 放棄獨立思考。

MemHarness 提出的解法:agent 在用記憶之前,先根據當下的環境狀態「重構」那段記憶——保留適用的部分,丟掉不適用的,必要時整段拒絕。一個 Qwen2.5-7B 模型加上這個機制,ALFWorld 做到 85.2%,WebShop 做到 75.6%,贏 Gemini-2.5-Pro 超過 23 個百分點。


認知科學的啟發:記憶不是錄影帶

論文的核心引用來自認知心理學:

“Human remembering is reconstructive rather than reproductive.”

你回想昨天的會議,腦子裡浮現的不是會議的逐字稿——而是你根據「現在需要什麼資訊」重新組裝的版本。你會自動略過跟當下無關的細節,放大現在有用的片段,甚至在不自覺中修正記憶裡跟現狀矛盾的部分。

現有的 agent 記憶系統(Mem0、Zep、各種向量 memory 框架)幾乎都在做 “reproductive” 的事:存下來、檢索出來、原封不動送進 context。MemHarness 把認知科學的 “reconstructive” 機制工程化了。


三階段推論:取回、重構、行動

MemHarness 的推論管線分三步:

第一步:記憶取回(Retrieval)。 Agent 根據當前狀態,從記憶庫裡用 BGE-M3 embedding 做 cosine similarity 檢索,拉出最相關的三條過去經驗。每條經驗包含當時的觀察狀態和對應的行動序列。

第二步:記憶重構(Reconstruction)。 這是 MemHarness 的關鍵。同一個 policy model 扮演「批判者」角色:它把取回的記憶跟當前狀態放在一起比較,判斷哪些部分適用、哪些不適用,然後生成一段「重構後的指引」。如果這段記憶跟當前狀態差太遠,模型直接輸出 <EMPTY>——等於說「這段記憶沒用,丟掉」。

第三步:行動生成(Action Generation)。 Agent 根據重構後的指引(不是原始記憶)來決定下一步行動。

關鍵設計:三步都是同一個 7B 模型做的。沒有額外的 critic 模型、沒有 reward model、沒有人工標註的重構範例。整個系統用 GRPO(Group Relative Policy Optimization)做端到端訓練,只靠任務成敗作為獎勵信號(成功 +10,失敗 0,加上 0.1 權重的格式獎勵)。


為什麼重構有效——三個關鍵設計

光說「重構記憶」四個字很容易,但到底怎麼做才能讓重構真的有用?論文的三個設計選擇很精準:

一、讓模型看到「原始狀態」和「當前狀態」的對比。 記憶不是只存行動序列,還存了當時的環境狀態(source state)。重構時模型同時看到兩邊,才能判斷哪些行動在新環境還適用。消融實驗證明:拿掉 source state,ALFWorld 從 85.2% 掉到 80.0%。

二、允許整段拒絕。 模型可以輸出 <EMPTY>,等於說「這段記憶沒用,我不要」。這個逃生口防止了負遷移——不適用的記憶不會被硬塞進決策。

三、沒有人教它「怎麼重構才對」。 這是最巧的地方——沒有人工標註的重構範例,純粹靠 RL 獎勵端到端學出來。模型自己摸索出:什麼樣的重構會導致任務成功,什麼樣的會失敗。好的重構被強化,壞的被淘汰。他們沒有定義「好的重構長什麼樣」,而是讓結果倒推——能幫你完成任務的重構就是好重構。

對應到人的經驗:replay 和 reconstruct 的差別

這三個機制對應到人生經驗的運用,其實就是「經驗多」跟「有智慧」的差別。

記得當時的脈絡,不是只記得結論。 資深的人回憶經驗時,不只記得「我做了 X 然後成功了」,還記得「當時客戶很急、預算只有一半、團隊才三個人,所以才這樣做」。有了這個脈絡,他才能判斷:現在客戶不急、預算充足、團隊十個人——當時的做法不該直接套用。

懂得說「這次不一樣」。 最厲害的人不是經驗最多的人,是知道什麼時候該放下經驗、從零思考的人。很多人做不到這一步,因為放下過去的成功經驗需要承認「我以前對的東西,現在可能不對」——這比承認失敗還難。

智慧不是教出來的,是試出來的。 沒有人能教你一套公式叫「怎麼正確地運用過去經驗」。你是活過一輪又一輪的「嘗試、看結果、調整」,慢慢長出判斷力。MemHarness 的 RL 訓練就是在模擬這個過程。

講白了:有些人活了 40 年,每次遇到事情都在 replay——「我以前這樣做成功了,所以現在也這樣做」。有些人活了 40 年,每次都在 reconstruct——「我以前這樣做成功了,但現在情況不同,讓我想想哪些部分還能用」。經歷一樣多,智慧差很多。


數據說話

主實驗結果

方法 模型規模 ALFWorld 成功率 WebShop 成功率
Gemini-2.5-Pro 大型 ~62% ~36%
Qwen2.5-7B + GRPO(純 RL,無記憶) 7B 76.4% 66.1%
Mem0 + GRPO 7B 52.0%
SimpleMem + GRPO 7B 54.5%
MemHarness 7B 85.2% 75.6%

7B 模型打敗 Gemini-2.5-Pro,差距不是小數點——ALFWorld 贏 23.1 個百分點,WebShop 贏 39.7 個百分點。

但更值得注意的是中間那兩行:Mem0 和 SimpleMem 是業界常見的記憶框架,加上去之後表現比純 RL baseline 還差。52.0% 對比 76.4%,記憶不但沒幫上忙,還拖了後腿。這不是框架實作的問題,是「靜態記憶回放」這整個範式的問題。

消融實驗——整篇論文最重要的表格

設定 ALFWorld 成功率
純 GRPO(無記憶) 76.4%
RL + 原始記憶直接注入 70.1%
MemHarness 去掉重構模組 79.6%
MemHarness 完整版 85.2%
MemHarness 訓練,但測試時不給記憶 83.0%

最後一行是整篇論文最有意思的發現。

用記憶重構做訓練,但測試時完全不給記憶——結果還是 83.0%,比純 RL 的 76.4% 高出 6.6 個百分點。

這意味著什麼?重構記憶的訓練過程,順便提升了模型本身的推理能力。就像一個工程師長期練習「把舊方案改寫成適合新環境的方案」,即使手邊沒有舊方案可參考,解題能力也因為這種訓練而提升了。論文把這個叫做「重構目標內在增強推理能力」。


遷移場景的穩健性

在 ALFWorld 的 out-of-distribution 設定(沒見過的房間佈局和物品組合)下:

方法 OOD 成功率
RL + 原始記憶 76.3%
MemHarness 去掉重構 82.4%
MemHarness 完整版 85.9%

原始記憶在新環境下幾乎幫不上忙(76.3%),因為它記住的是特定環境的細節。重構機制讓 agent 學會只保留「通用的行動策略」、丟掉「特定環境的細節」——這正是遷移能力的核心。

論文還做了一個機制驗證:把記憶裡的 source state 資訊換成隨機的,agent 的拒絕率(輸出 <EMPTY> 的比例)從 8.7% 上升到 13.3%。這證明模型真的在做 state-level 的比對和判斷,不是在做表面的 pattern matching。


對 Agent 記憶系統設計的三個啟示

一、「更多記憶」不等於「更好表現」

Mem0、SimpleMem 這些框架的出發點是「幫 agent 記住更多」,但 MemHarness 的數據說:記住更多但不加判斷,效果比沒有記憶還差。這跟我之前寫 Agent Memory 測評羅生門 的觀察一致——記憶系統的評測分數差異巨大,因為大家在測不同的東西,而「存了多少」跟「用得好不好」是兩回事。

二、價值在「過濾和改寫」,不在「儲存和檢索」

業界大量投資在更好的 embedding、更快的向量檢索、更大的記憶容量。MemHarness 的消融實驗說:檢索出好記憶只是第一步,真正拉開差距的是取回之後的「重構」環節。這跟人類的工作模式完全一致——你查到一篇三年前的技術文件,第一件事不是照做,是先判斷哪些部分還適用。

三、Harness 設計 > 模型大小

7B 模型加上正確的 harness 設計,打敗參數量大幾倍的 Gemini-2.5-Pro。這已經不是第一次出現了——Agent Harness 的三次中心遷移 那篇提到的 LangChain 案例也是一樣的故事:改 harness 不改模型,排名從 30 名外進前 5。模型能力是地基,但 harness 設計決定這些能力能不能被有效利用。


論文的限制

測試環境有限。 ALFWorld 和 WebShop 都是相對結構化的環境,離真實世界的 agent 任務(開放式軟體開發、客服對話、多步驟 research)有距離。論文的結論在更複雜、更模糊的任務上是否成立,還需要驗證。

記憶庫規模小。 每個 GRPO 週期只保留 50 條軌跡,用 top-3 檢索。當記憶庫擴展到數千、數萬條記錄時,重構機制的效率和品質如何變化,論文沒有討論。

冷啟動依賴。 系統需要 200 條記憶增強軌跡加 200 條摘要配對做冷啟動,來源是 AgentGym 資料集。在特定領域任務上,這個冷啟動資料怎麼取得是個實務問題。

只在 7B 上實驗。 論文沒有測試更大的 base model。重構機制在 70B 或更大模型上會不會有不同的表現曲線(可能收益遞減、也可能進一步放大),目前不知道。


結語

MemHarness 最值得記住的一句話:Memory is reconstructed, not replayed.

這不只是一個 agent 架構的設計原則。它其實是對所有建構 agent 記憶系統的人的提醒:你不是在蓋資料庫,你是在建造一個有判斷力的回憶系統。判斷「什麼時候該忘記」和「怎麼改寫才能用」,可能比「記住更多」更重要。


數據帳本

事實/數字 來源 驗證狀態
MemHarness ALFWorld 成功率 85.2% 論文 Table 1 來自論文
MemHarness WebShop 成功率 75.6% 論文 Table 1 來自論文
純 GRPO baseline ALFWorld 76.4%、WebShop 66.1% 論文 Table 1 來自論文
RL + Raw Memory ALFWorld 70.1% 論文 Table 3 消融實驗 來自論文
MemHarness 去掉重構 79.6% 論文 Table 3 來自論文
測試時無記憶 83.0% 論文 Table 3 來自論文
勝過 Gemini-2.5-Pro:ALFWorld +23.1%、WebShop +39.7% 論文 Section 4 來自論文
Mem0+GRPO 52.0%、SimpleMem+GRPO 54.5% 論文 Table 1 來自論文
OOD 成功率:MemHarness 85.9% vs Raw Memory 76.3% 論文 Table 4 來自論文
隨機 source state 拒絕率 8.7% → 13.3% 論文 Section 4 機制分析 來自論文
Base model: Qwen2.5-7B-Instruct 論文 Section 3 來自論文
記憶庫 50 條/週期、BGE-M3 embedding、top-3 檢索 論文 Section 3 來自論文
冷啟動 200 記憶增強軌跡 + 200 摘要配對(AgentGym) 論文 Section 3 來自論文
GRPO 訓練:group size G=8、128 並行環境、lr 1e-6 論文 Section 3 來自論文
獎勵設計:成功 +10、失敗 0、格式獎勵 0.1 權重 論文 Section 3 來自論文
論文日期 2026-07-30、20 頁 13 圖 arxiv 頁面 已驗證