實驗設計:模擬錯誤經驗如何污染代理記憶
研究團隊建立了一個編碼代理學習環境,讓代理從通過測試的會話中學習程式修改技能。為了模擬真實開發中的錯誤累積,研究者故意在一個學習會話中植入「污染」,形式包括新增無關檔案、插入不相關程式碼行,或將錯誤邏輯融合進正確的修復程式碼中。
隨後,代理在同一任務上執行了三次乾淨的會話,接著進行五次評分會話以測試記憶影響。實驗使用了 Claude Haiku 5.5 和 Sonnet 5.5 模型,並配備一個包含187項行為檢查的隱藏驗證器來評估結果。
比較四種記憶處理策略的效果
實驗對比了四種處理方式:無記憶模式、直接重播記錄的編輯內容、傳統記憶模式(保留所有通過測試的會話,由 Mem0 搜尋選擇技能),以及新提出的「先驗證再重用」模式。後者的機制是只有當兩段後續會話重現了該修改並通過測試時,系統才會提供該技能給代理參考。
結果顯示,直接重播策略在30個倉庫測試中全部將污染程式碼重新引入,且所有測試均通過,意味著錯誤被固化。傳統記憶模式則在3/30的會話中讓代理接觸到污染內容。相比之下,「先驗證再重用」模式在30次測試中均未讓代理接觸到污染內容。
方法限制與未證實之處
研究指出該實驗存在明顯限制:僅針對單一任務,每個實驗組樣本數為5,統計顯著性約為0.24(p≈0.24),未達統計顯著標準。此外,實驗中沒有任何模型實際應用了它所看到的污染程式碼,因此數據僅測量了「接觸到錯誤資訊的機率」,而非錯誤造成的實際危害。
規則參數是在同一任務上調整的,且若污染直接存在於倉庫原始碼中而非學習過程中,該方法便無法防禦。研究者提出一個開放問題:以行級別的重現作為信任信號是否合理,還是僅獎勵了乾淨會話中偶然重複的內容?



