量化代理程式碼評估中的基礎設施雜訊

Anthropic 發現,僅基礎設施配置本身即可在代理程式碼基準測試中產生超過通常用於區分頂尖模型性能邊界的差異。在內部使用 Terminal-Bench 2.0 的實驗中,資源最多與最少的設定之間的成功率差距達 6 個百分點(p < 0.01)。

基礎設施作為代理評估的主動組成部分

與直接評分模型輸出的靜態基準不同,代理程式碼評估(如 SWE-bench 和 Terminal-Bench)會提供模型完整的執行環境,使其能夠撰寫程式、安裝相依性並執行測試。這使得執行環境成為解題過程的關鍵組成部分,而非被動的容器。

Anthropic 觀察到,當資源規格(CPU 和 RAM)被同時視為下限與硬性上限時,缺乏應對瞬時波動的餘裕,導致基礎設施錯誤率偏高。在他們的 Google Kubernetes Engine (GKE) 設定中,高達 6% 的任務因與模型能力無關的 pod 錯誤而失敗。這是因為瞬間的記憶體波動可能觸發容器中的記憶體不足(OOM)終止,特別是在保證配置與硬性上限相同的情況下。

資源餘裕對成功率的影響

為量化架構的影響,Anthropic 在六種資源配置下測試了 Terminal-Bench 2.0,範圍從嚴格執行(1x)到完全無限制。研究結果顯示資源與分數之間存在兩階段關係:

1. 可靠性階段(1x 至 3x 餘裕)

將資源增加至建議規格的約 3 倍,主要提升了基礎設施的可靠性。基礎設施錯誤率從嚴格執行時的 5.8% 單調下降至 3x 餘裕時的 2.1%(p < 0.001)。在此階段,成功率在雜訊範圍內波動(p = 0.40),顯示額外資源主要修復了虛假的當機,而非使任務更容易解決。

2. 能力階段(3x 至無限制)

超過 3x 標準後,成功率的提升速度超過基礎設施錯誤率的下降速度。在 3x 至無限制資源之間,基礎設施錯誤率下降了 1.6 個百分點,但成功率卻上升了近 4 個百分點。這表明充足的資源讓代理能採用僅在高配置下才可行的策略,例如:

  • 下載大型相依性。
  • 啟動耗資源的子程序。
  • 執行記憶體密集型測試套件。

例如,在 bn-fit-modify 任務中,某些模型會嘗試安裝完整的資料科學堆疊(pandas、networkx、scikit-learn)。此策略在資源充裕時成功,但在資源緊繃時失敗;而較簡潔的策略(從頭實現數學運算)則無論資源限制如何都能成功。

跨基準驗證

Anthropic 在不同模型與基準上重複驗證了這些發現:

  • 模型一致性:效果方向在不同 Anthropic 模型中一致,但幅度有所不同。
  • SWE-bench:在 227 個問題上進行交叉實驗(每題 10 次樣本),顯示分數隨 RAM 增加而單調上升,最高達基準的 5x。然而,影響較小(5x 時比 1x 高 1.54 個百分點),可能因為 SWE-bench 任務通常比 Terminal-Bench 更少資源密集。

其他變異來源

除了 RAM 和 CPU,其他系統層級因素也可能在代理評估中成為混雜變數:

  • 時間限制:某些設定下,代理的表現會因允許時間而波動。
  • 環境雜訊:通過率可能因執行時間而異,可能與流量模式相關的 API 延遲變化有關。
  • 硬體與網路:叢集健康狀態、硬體規格、併發程度與出口頻寬皆可能影響最終分數。

評估嚴謹性的建議

為最小化基礎設施雜訊,並避免系統特徵與模型能力混淆,Anthropic 建議如下:

  • 指定雙參數:評估應為每項任務指定保證配置(下限)與獨立的硬性終止閾值(上限)。這可防止虛假的 OOM 終止,同時維持硬性上限以避免分數膨脹。
  • 校準範圍:下限與上限之間的差距應校準,使分數保持在雜訊範圍內。在 Terminal-Bench 2.0 中,3x 上限被發現是有效折衷,能顯著降低基礎設施錯誤,而不大幅膨脹分數。
  • 報告配置:資源倍數與執行方法應明確報告於基準結果旁。
  • 增加取樣:在不同日期多次執行評估,有助於平均掉瞬時雜訊。

基準解讀的含義

由於排行榜上的微小領先可能反映的是更大的虛擬機,而非更優秀的模型,Anthropic 建議除非評估配置已記錄並匹配,否則應對排行榜差異低於 3 個百分點的情況持懷疑態度。在 Terminal-Bench 中,中等資源配置下的觀察到的分數範圍僅略低於 2 個百分點,這還會疊加現有的二項式信心區間。

Sources

相關