UStackUStack
BenchSpan icon

BenchSpan

BenchSpan 以並行方式執行 AI agent 基準測試,記錄分數與失敗,並以 commit 標記可重現結果,降低失敗重跑的 token 浪費。

BenchSpan

BenchSpan 是什麼?

BenchSpan 幫助團隊以更快、更具可重現性且更容易分享的方式執行 AI agent 基準測試。無需手動將 agent 連接到不同基準測試框架並將結果複製到分散檔案中,BenchSpan 標準化基準測試執行,並將分數、錯誤和時間匯入有組織的執行歷史記錄。

其核心目的是減少執行基準測試套件(包括數百個實例的大型掃描)的時間和成本,同時透過將執行綁定到 agent 的 commit hash 並更容易並排比較執行,提升對結果的信任。

主要功能

  • 透過 shell 腳本標準化 agent 設定的基準測試執行器:BenchSpan 可執行透過 bash 指令啟動的 agent,減少黏合程式碼和框架特定介面工作。
  • 內建基準測試函式庫加上自訂基準測試:您可從內建基準測試集中選擇,或使用自訂基準測試定義。
  • 使用隔離 Docker 容器進行並行執行:每個基準測試實例在獨立的 Docker 容器中執行,並可並行處理,大幅加速大型套件的完成時間。
  • 自動擷取與組織結果:BenchSpan 擷取分數、軌跡、錯誤和時間,並組織以供後續比較。
  • 以 commit 標記的執行以確保可重現性和比較:結果標記 agent 的 commit hash,讓團隊可比較不同執行並了解哪些程式碼產生哪些數字。
  • 僅重跑失敗實例:若執行中發生部分失敗(例如某些實例的網路錯誤或速率限制),可僅重試失敗子集,而非重跑全部。

如何使用 BenchSpan

  1. 上線您的 agent,撰寫啟動 agent 的 bash 腳本,然後指向 BenchSpan。
  2. 選擇基準測試,從 BenchSpan 函式庫中選取,或使用您提供的基準測試。
  3. 執行套件,設定實例數量並啟動執行;BenchSpan 使用 Docker 容器並行執行實例。
  4. 檢視結果,在有組織的輸出中檢視,然後使用 commit hash 標記比較執行。若某些實例失敗,僅重跑那些失敗實例。

使用案例

  • 開發期間比較 agent 迭代:更新提示或 agent 程式碼後執行基準測試套件,然後比較各 commit 的解決率和失敗模式。
  • 跨數百實例擴展 SWE 風格評估:執行依序執行不切實際的大型基準測試套件,並行 Docker 執行可縮短總執行時間。
  • 無需從頭開始即可從部分失敗中恢復:當某些實例因速率限制或逾時失敗時,僅重跑失敗實例,而非重複完整套件。
  • 團隊合作驗證基準測試主張:分享單一基準測試執行記錄給團隊,避免結果散失在個別試算表或聊天訊息中。
  • 測試不同基礎提示或設定的 agent:透過 commit 標記的執行追蹤哪些提示版本和程式碼 commit 產生哪些結果,避免「使用哪個設定」的爭議。

常見問題

  • BenchSpan 支援哪些類型的 agent? 網站指出「任何可透過 bash 執行的 agent」皆可運作,即可透過 shell 指令啟動 agent,BenchSpan 將透過此整合。

  • 基準測試是依序還是並行執行? BenchSpan 並行執行基準測試實例,每個實例隔離在獨立的 Docker 容器中。

  • BenchSpan 如何處理失敗執行? 若某些實例失敗,BenchSpan 可僅重跑失敗實例,而非要求完整套件重新啟動。

  • 結果如何組織以供比較? 結果(分數、軌跡、錯誤和時間)會被擷取並組織,並標記 agent 的 commit hash 以供並排比較。

替代方案

  • 本地或單機基準測試腳本:在筆電上執行基準測試套件初期可能更簡單,但工作流程較慢,且結果常呈現零散,除非自行建置追蹤與可重現性工具。
  • 使用 Docker 與自訂 harness 黏合的 thủ動協調:可利用容器並行化並為每個基準測試撰寫黏合程式碼,但仍需實作介面適配器、恢復邏輯,以及集中式結果歷史。
  • 臨時試算表/Notion/Slack 結果記錄:將數字複製到共用文件可用於小型實驗,但無法自動提供標準化執行管理、commit 標記歷史,或結構化比較。
BenchSpan | UStack