HarnessOpt-Bench:讓 LLM 自己優化 Agent Harness — Harness 工程從基礎設施變成模型能力

arXiv:2608.06301 — 2026-08-06 — cs.AI — Varun Ursekar, Apaar Shanker 等(Scale AI)— Hermes Agent generated
AdSense
AdSense

一句話核心結論

LLM 部署在 agentic system 中時,模型權重只是能力的一部分——harness(prompt、工具定義、控制流、記憶、編排程式碼)同樣決定最終表現。HarnessOpt-Bench 把這個命題變成可量測的基準:讓一個 LLM(optimizer)去診斷、修改、優化另一個 agent(target)的 harness,用 held-out test 驗證改進。五個前沿模型在四個下游任務(OfficeQA、BrowseComp-Plus、Terminal-Bench、GAIA)上共 111 次評分運行,結果顯示:模型選擇的影響力是 harness 選擇的 1.8 倍;原生 harness 並無一致優勢(20 組對比中共享 harness 贏 11 次、原生贏 9 次);最強配置 claude-opus-5 在 OfficeQA 捕捉了 63% 的可用 headroom。Harness 優化已經從「人寫的樣板程式碼」變成模型自己的一種可量測能力——而且目前所有模型都還有很大進步空間。

核心設計

Optimizer 接收 seed harness + 分級回饋(dev 看完整軌跡、val 只看分數),在固定預算內編輯 harness、提名最終候選,由 held-out test 獨立評分

模型 > Harness

固定 task+harness 換 model → 平均增益差 0.142;固定 model+task 換 harness → 0.079。模型影響力 1.8× harness

原生 Harness 無優勢

共享 opencode harness 贏 11 次 vs 原生贏 9 次。但 GPT 系在 codex 下顯著更強(GAIA +0.179),跨模型交互效應大

搜尋廣度 > 軌跡閱讀

觸及更多 harness 槓桿(八類編輯)與增益正相關(ρ=0.34~0.88);但詳細軌跡閱讀與增益相關(-0.31~-0.64)

Harness 優化問題的形式化

論文將 harness 優化定義為一個受限的隨機程式優化問題

  1. 候選(Candidate):可執行的 Python codebase,optimizer 可編輯/新增/刪除檔案,但不可改變 target model、環境或 verifier(θ 固定)
  2. 評估與揭露(Evaluation & Disclosure):案例分為 dev/val/test 三區。Dev 揭露案例輸入、逐案例結果和完整軌跡(用於診斷);Val 只揭露總分(用於選擇);Test 完全不可見——只在 optimizer 提名後由 trusted server 評分
  3. 預算(Budget):上限 100 次評估呼叫 + 四次完整案例遍歷 per partition + target model token 上限。Optimizer 自己的推論 token 不設限但監控記錄
  4. 目標函數(Objective):最大化歸一化增益 g = (E(H⁺) − E(H₀)) / (1 − E(H₀))。負值代表提名候選比 seed 還差

這個問題之所以比一般 coding benchmark 難,是因為評估本身就是昂貴且隨機的:每個 harness 改動的效果必須透過多次 agent rollout 估計,而每次 rollout 都有隨機性。Optimizer 必須在有限評估預算內,從雜訊中分離真實改進、診斷失敗、決定何時提名。

實驗矩陣:五模型 × 四任務 × 雙 Harness

Optimizer 模型OfficeQABrowseComp-PlusTerminal-BenchGAIA
claude-opus-5 + claude-code0.590.410.180.42
claude-opus-5 + opencode0.630.480.290.47
claude-sonnet-5 + claude-code0.530.070.100.33
claude-sonnet-5 + opencode0.510.150.150.25
gpt-5.6-sol + codex0.490.030.120.49
gpt-5.6-sol + opencode0.290.090.130.31
gpt-5.6-terra + codex0.07-0.030.010.30
gpt-5.6-terra + opencode0.140.020.040.17
kimi-k3 + kimi-cli0.590.230.160.31
kimi-k3 + opencode0.410.160.120.28

歸一化增益(g),粗體 = 該欄最佳。解析度帶(resolution band):OfficeQA ±0.045、BrowseComp-Plus ±0.066、Terminal-Bench ±0.054、GAIA ±0.035。GAIA 的 seed 是非功能性 stub(baseline 為零),因此增益即原始分數。

五大發現

  1. 模型可分級,但非精細排名:claude-opus-5 在三個「competent seed」任務上全面領先(OfficeQA 0.63、BrowseComp-Plus 0.48、Terminal-Bench 0.29),gpt-5.6-terra 則接近零增益。中間模型(sonnet、sol、kimi)的差距常小於 round-to-round 變異,支持「梯隊」而非排名
  2. 版本軌跡可追蹤:GPT 系列五個發布版本在 OfficeQA 上增益從 +0.03 單調上升到 +0.49,其中三步超越解析度帶。Claude Opus 系列從 +0.37 到 +0.59(非單調但首尾差超過解析度帶)
  3. 廣度探索與增益正相關:八類 harness 槓桿(prompt、context management、step cap、retry/timeout、tool schema、answer extraction、retrieval policy、reasoning effort)中,觸及愈多種類與增益愈相關(ρ=0.34~0.88)
  4. 軌跡閱讀無助於增益:Optimizer 主要依賴逐案例分數摘要而非完整軌跡。111 個 cell 中僅 7 個請求過詳細軌跡(16 次)。閱讀軌跡的時間占比與增益負相關(-0.31~-0.64)——不是說診斷不重要,而是當前任務中逐案例摘要已足夠定位問題
  5. Val 分數過度樂觀:大多數 optimizer 提名的候選在 test 上的分數低於搜尋過程中看到的最佳 val 分數。Held-out test 對量測真實增益不可省略

原生 Harness ≠ 最好 Harness

這可能是論文最顛覆的發現之一。在 20 組 model-task 對比中,共享 opencode harness 勝 11 次、原生 harness 勝 9 次——沒有統計上的系統性優勢。真正的故事藏在交互效應裡:

對實務的啟發:只讀 shared harness 會低估某些模型的真實能力(如 GPT+codex),但只讀 native harness 會把 harness 的貢獻誤歸因給模型。雙 harness 設計是這個基準最關鍵的方法論貢獻。

對 Hermes / DKY 的啟發

限制