重點
- 印第安納大學與騰訊的 Ruhan Wang、Kishan Panaganti、Dongruo Zhou 10 月 19 日上傳 arXiv 2610.27406,提出 Anti-Persistence。
- 他們把問題命名為 error reproduction:存起來的錯誤規則會影響執行,那些軌跡又成為下一輪歸納的材料,把同一個錯誤再生一次。刪掉原來那條規則並不會回頭修改它影響過的軌跡。
- 做法:只持久保留軌跡與結果,每次任務現場合成指引,用完丟掉。一個 contextual bandit 依過去的成效挑四種模式:直接用軌跡、模仿行為、整理策略、從失敗提練避坑規則。
- 三個測試環境(ALFWorld、WebShop、ScienceWorld)配三個模型的九組實驗中,平均成功率 59.9%,較軌跡記憶體 53.5%、抽象記憶體 49.0%、兩者合併 49.3%,而且平均 LLM 呼叫次數最低。
- 重點對照:同樣生成指引,用完存起來比用完丟掉差,Llama-4-Scout 在 ALFWorld 差 28.0 個百分點。作者自己說,錯誤再生的證據是關聯性,不是因果。
問題:存「心得」跟存「紀錄」不一樣
agent 不更新權重也能跨任務變強,靠的是把自己跑過的經驗存進外部記憶體、下次再調出來用。設計上的分岐在於要存什麼:只存觀察到的軌跡與結果,還是連從這些紀錄歸納出來的規則、摘要與技能一起存。
存歸納的好處是下次不用重新從長串軌跡裡把策略推一遍。代價是歸納本身包含判斷:哪些細節重要、這個模式在什麼條件下才成立。在 A 任務有效的規則,可能依賴 B 任務沒有的前提。
論文指出的額外風險是一個迴圈。一條錯誤規則被調出來,影響了 agent 的動作,產生的執行紀錄就帶著這個錯誤。下一輪自我改進從這些紀錄歸納時,可能再生出同樣的錯誤,即使原來那條規則沒有被送進歸納步驟。他們把這個機制叫 error reproduction,與單純的 propagation(錯誤規則被直接重用)分開。
記憶體維護(評分、剪枝、改寫)解決不了這一層:刪掉一條規則,不會修改它影響過的軌跡,也不會移除從那些軌跡衍生出來的後代規則。
Anti-Persistence 怎麼做
兩個存檔是持久的:軌跡記憶體記任務、執行過程與結果;成效日誌記每次選了哪個模式、得到什麼回饋。歸納出來的指引一律不存,抽象存檔永遠是空的。
每收到一個任務,流程是:
- 從成效日誌裡找相似的舊任務,最多 10 筆,用來決定這次要用哪種模式。
- 依選定的模式從軌跡記憶體裡取範例,預設 5 條,corrective 模式另加一條成功軌跡當對照。
- 需要的話生成指引、執行任務。
- 把執行紀錄寫回軌跡記憶體,把模式與回饋寫回成效日誌,指引丟掉。
四種模式中,none 直接把取回的軌跡給 agent 看,不耗額外呼叫;imitation 從成功軌跡抽出可重用的動作模式與適用條件;strategic 把成功軌跡整理成子目標與計畫;corrective 分析失敗軌跡、生出避開指引,有成功例時拿來做對照。
模式選擇是一個輕量的 contextual bandit。每筆歷史回饋按任務相似度與新舊程度加權,獎勵除了任務成效還扣掉額外的合成呼叫(係數預設 0.05),再加一個 UCB 式的探索獎勵。作者註明這個規則在加權且非平穩的觀測下沒有置信界或 regret 保證。
數字
測試環境是 ALFWorld(180 訓練、134 未見測試)、WebShop(200 訓練、100 測試)與 ScienceWorld(150 訓練、每種任務 2 個測試實例,共 60)。主幹模型為 Llama-4-Scout、Qwen3-Coder-Next 與 Gemma-4-31B-it。每種方法跑 10 輪記憶體更新,每輪 50 個訓練任務;每輪結束後把記憶體凍結再跑完整測試集,測試的紀錄不會回流。每組三個隨機種子,下表是第 10 輪的結果。
九組設定的平均成功率:
| 方法 | 平均成功率 |
|---|---|
| Anti-Persistence | 59.9% |
| 軌跡記憶體 | 53.5% |
| Reflexion(最強的 agent 基準) | 52.9% |
| 兩者合併 | 49.3% |
| 抽象記憶體 | 49.0% |
Anti-Persistence 在九組裡的七組拿到最高分。具體幾個數字:Llama-4-Scout 的 ALFWorld 從軌跡記憶體的 41.6% 拉到 54.7%,Qwen3-Coder-Next 的 ScienceWorld 從 43.8% 拉到 52.6%。
最值得注意的是兩個較差的做法:抽象記憶體與合併記憶體在九組裡的七組輸給單純的軌跡記憶體。把歸納出來的指引留著,不管是單獨留還是跟軌跡一起留,都沒有穩定帶來好處。
成本方面,Anti-Persistence 的平均每任務 LLM 呼叫數在四種記憶體配置中最低,雖然它多了合成指引的呼叫。原因有兩個:none 模式不耗合成呼叫,而且有些設定下執行軌跡變短了。
關鍵的消融實驗
最能支持主張的是這個對照:兩個版本都在需要時合成指引並用在當前任務,差別只在用完後丟掉還是存起來供以後調用。
| 模型 | 環境 | 丟掉 | 存起來 |
|---|---|---|---|
| Llama-4-Scout | ALFWorld | 54.7% | 26.7% |
| Llama-4-Scout | WebShop | 46.3% | 34.0% |
| Qwen3-Coder-Next | ALFWorld | 96.0% | 92.7% |
| Qwen3-Coder-Next | WebShop | 54.0% | 47.3% |
四組都是丟掉較好,較弱的模型差距更大。
另外兩個輔助實驗從不同角度切入。在 AppWorld 隨機抽的 30 個任務上,研究者用 GPT-5.5 預先做好成對的技能文字,一個寫對程序、一個寫錯,範圍相同。Qwen3-Coder-Next 在三種條件下的成功率是:沒給技能 23.0%、給正確技能 40.0%、給錯誤技能 20.0%。錯誤的歸納比什麼都不給還糟。
在 WebShop 上,用 GPT-5.5 審核新生成的技能再決定要不要存,把抽象記憶體的最終成功率從 38.7% 拉到 46.0%。但把同一批篩過的技能以凍結層的形式加到 Anti-Persistence 上,成功率從 56.0% 掉到 44.0%。
超參數方面,近期性衰減係數的預設值表現最好,衰減太快或完全不衰減都較差。合成成本的懲罰係數設 0 會讓 agent 更常呼叫合成,成功率反而下降;懲罰調到 0.20 或 0.50 則合成使用率與成功率都降。bandit 的表現優於任一固定模式與隨機選擇,最強的固定模式則因環境而異:ALFWorld 是 strategic,WebShop 是 imitation。
限制
論文在證據強度上說得很謹慎,這一點比結論更值得記。
關於錯誤再生本身,他們做的是溯源稽核:把存過的後代指引按「至少有一個被標記的父輩」與「沒有」分組,比較兩組的被標記率。六組記錄裡大多數是前者較高,最大差距是 Llama-4-Scout 配 ALFWorld 的 +0.55。但作者自己說明,這只是關聯,沒有控制任務難度、檢索選擇、父輩數量等混淆因子,也沒有組別樣本數與不確定性估計,不能用來講放大倍率或長期不穩定。「沒有被標記的父輩」也不等於祖先干淨,那組裡可能包含未分類的父輩。
其他限制:
- 指引雖然不存,仍然会影響當次的軌跡,而軌跡會被保留,所以間接的回饋路徑沒有切斷。
- 三個環境都是文字介面的任務,模型與改進流程固定,更廣的泛化與更長期的累積效果沒測。
- 兩個輔助實驗沒有任務層級與種子層級的不確定性估計,設定層級的統計只是探索性的。
- 丟掉歸納也就放棄了重用可靠知識的好處。作者把「什麼時候的驗證足以讓部分歸納值得保留」留給後續研究。
做得較高階的記憶體維護並沒有把差距追回來。作為對照的 AutoRefine 有評分、檢索過濾與剪枝,六組設定裡只有一組優於單純的抽象記憶體、四組輸,而 Anti-Persistence 六組都贏。不過 AutoRefine 同時改了檢索與合成流程,這個對比不能單獨歸因於維護策略。