Harness² icon

Harness²

Harness² 是開源框架,可在固定 AI 模型周邊優化提示、工具、記憶與其他元件,協助研究人員與開發者在 JobBench、LAB 和 WorkBuddy-Bench 執行遞迴改進流程。

Harness²

遞迴代理 harness 改進

Harness² 是來自 google-research 儲存庫、採用 Apache-2.0 授權的框架,用於開放世界任務中的遞迴代理 harness。它專注於改進固定模型周邊的系統,包括提示、工具、記憶、技能、協作編排和其他可編輯行為,而不是變更模型權重。

其任務層級工作流程採用 Propose-Probe-Compose:在目前任務上測試候選 harness 編輯,並利用這些執行結果中的行為證據建構改進方案。另一個持久化層級會記錄採用的 harness 和有證據支持的經驗,讓後續任務能運用先前的改進成果。

主要功能

可編輯的代理 harness 元件

此框架將周邊的代理系統視為可編輯元件,包括系統提示、護欄、記憶、工具指引、子代理、技能、指令碼和外掛程式。這些元件負責管理內容建構、工具、委派和工具迴圈中的行為。

任務層級的 Propose-Probe-Compose 改進

針對目前任務,Harness² 會提出 harness 編輯方案,探測其對同一任務的影響,並根據執行行為的差異組合出改進後的 harness。文件所述流程在此步驟不要求真實標準答案回饋。

持久化 harness 層級學習

任務完成後,系統會將採用的 harness 和有證據支持的經驗保留在持久化改進 harness 中,用於引導後續改進。

平行與循序遞迴模式

平行遞迴會探索多個通用及特定領域的候選方案;循序遞迴則在連續步驟中沿用改進後的 harness 和累積證據。`--k` 設定控制任務層級的遞迴預算。

執行器與基準測試支援

此版本預設支援 OpenCode,也可透過 `--substrate cx` 使用 Codex。其中包含 JobBench、LAB 和 WorkBuddy-Bench 的工作流程。

執行管理與報告

命令列工作流程涵蓋設定、環境檢查、改進、評判和報告。結果會保留任務摘要、交付成果、採用的 harness、反思筆記和評估輸出。

實際使用案例

  • 評估代理在專業工作任務上的表現

    使用基準測試設定、執行器、評判和報告指令,在 JobBench 的專業工作任務上執行受控的改進實驗,以比較不同設定的 harness 行為。

  • 測試法律工作代理工作流程

    使用 LAB 整合處理法律工作基準測試任務;文件所述設定流程包含該基準測試所需的 Pandoc 和 Poppler 相依套件。

  • 評估辦公室、網頁和程式碼代理

    執行 WorkBuddy-Bench 中辦公室、網頁或程式碼任務的子集。文件所述工作流程需要 Docker,並會在設定後的指令中持續使用所選子集。

  • 比較改進策略

    使用平行遞迴廣泛探索候選 harness 變更,或使用循序遞迴逐步深化單一路徑的改進。這適合需要在探索廣度與累積改進之間做選擇的實驗。

  • 驗證本機安裝

    先從本機示範開始,使用確定性編輯器和實際 Python 執行來運作兩種遞迴模式,再設定以模型為基礎的基準測試執行。

Pros and Cons

Pros

  • 它公開八個具體的 harness 元件,讓使用者不只能改進單一提示。
  • 它同時支援平行探索與循序改進,並提供明確的遞迴預算控制。
  • 它提供涵蓋設定、檢查、執行、評判、報告及繼續執行結果的命令列工作流程文件。
  • 它支援三個涵蓋不同工作領域的專業基準測試:JobBench、LAB 和 WorkBuddy-Bench。
  • 本機確定性示範會使用實際的 Python 執行,不需要模型憑證。

Cons

  • 基準測試執行文件以 Linux 和 Python 3.12 為環境,且不同基準測試需要的額外相依套件各異;LAB 需要 Pandoc 和 Poppler,而 WorkBuddy-Bench 需要 Docker。
  • 以模型為基礎的執行需要設定模型和憑證,儲存庫也註明這些執行會產生 API 費用。
  • 執行器預設可不受限制地存取網路,且 Codex 執行時停用其沙箱;文件要求使用者在評估前設定網路限制,以避免存取基準測試答案或評分標準。

FAQ

執行 Harness² 需要什麼環境?

若要執行基準測試,專案指定使用 Linux 和 Python 3.12。其 Python 套件也支援 Python 3.13。文件所述的設定流程另外需要 uv、Node.js 20 或更新版本,以及 Google Cloud CLI;部分基準測試還有各自的額外相依套件。

Harness² 支援哪些基準測試?

儲存庫文件列出 JobBench、LAB 和 WorkBuddy-Bench。基準測試會使用 `harness2-setup` 安裝,接著使用 `harness2-check` 進行檢查,然後才能執行改進流程。

如何評估並產生基準測試執行結果報告?

使用 `harness2` 執行改進流程,接著使用 `harness2-judge` 和 `harness2-report` 進行評估與報告。`--dry-run` 可在不呼叫模型的情況下預覽任務選取結果。評判與報告需要與改進流程執行時相同的基準測試、執行器、任務子集、遞迴預算、模式和種子。

可以繼續執行中斷的流程嗎?

結果會儲存在 `runs/` 下,並依基準測試及(如適用)子集分類。其中包含任務摘要、交付成果、採用的 harness、反思筆記和評估結果。重複相同指令即可繼續執行;若變更模型或任務選取,則需要設定新的 `HARNESS2_RUNS_DIR`。

Quick Facts

類別
開發者工具
授權
Apache License 2.0
支援的基準測試
JobBench、LAB 和 WorkBuddy-Bench
主要環境
Linux;基準測試執行使用 Python 3.12
執行器
OpenCode 和選用的 Codex
來源
github.com/google-research/harness2