← 返回首頁

EvoForge:擴展演化式 Harness 優化

Leonard Tang
Leonard Tang
@leonardtang_
159🔁 20
𝕏 (Twitter)🔥🔥🔥

EvoForge:擴展演化式 Harness 優化

為什麼只優化一個 harness,而不試著同時優化多個呢?這就是 EvoForge:一個演化式 harness 優化器。

在 TerminalBench 2.0 測試中,EvoForge 將 GPT-5-nano 的 SOTA 效能提升至 Codex CLI 的兩倍,並達到基準測試的 10 倍之多。

立即查看:https://github.com/haizelabs/EvoForge

簡而言之

概念很簡單:為什麼只優化一個 Agent harness?單一的爬山演算法(hill-climber)容易卡在雜訊與局部最佳解中。何不一次優化整個 Agent 群體呢?這就是 EvoForge 的由來:

  1. 平行評估多個 Agent 變體,

  2. 利用語意可觀測性(semantic observability)技能分析軌跡,

  3. 綜合並在整個群體中傳播學習成果,以及

  4. 透過選擇、突變與交叉,自動產生下一代 Agent。

Agent 群體的演進過程

顯而易見,隨著世代更迭,EvoForge 產出了表現優異的 harness……

……但更關鍵的是,沒有任何一個 Agent 會被遺棄,整個群體的表現隨著世代不斷提升!

「實作」

EvoForge 透過幾個關鍵的 Markdown 檔案進行程式撰寫:

  • evolve.md — 「Agent 之神」迴圈:定義群體大小、如何將結果合併至 learnings/、如何將經驗傳遞給下一代,以及如何保留、淘汰、突變或交叉繁殖 Agent。這是外部的演化策略。

  • program.md — 與原始的 AutoAgent 保持一致。

  • docs/trace-analysis.md (語意可觀測性) — 如何讀取 Harbor 軌跡,讓你能夠解釋變體為何在任務中失敗,而不是盲目猜測。遵循規定的階段順序,並在需要進行書面驗屍分析時,於每次執行結束後產生 analysis.md。

  • docs/knowledge-sharing.md — 在完成各變體分析後要做的事:從群體中的每個 Agent 提取模式、標準化失敗模式與修正方向,然後累積學習成果,讓下一代能繼承一份關於「哪些方法無效」以及「下一步該嘗試什麼」的共享藍圖。

每一代都遵循一個緊湊的迴圈:突變群體 → 執行基準測試 → 評估 → 保留或捨棄 → 重複。

所有流程皆平行執行,因此總執行時間(wall time)不會隨群體規模擴大而增加,且累積的學習成果會一代一代地萃取,系統就不需要每次都重新學習相同的修正方法。

開始使用

複製專案、同步資料、將你的程式撰寫 Agent 指向 evolve.md,然後執行實驗迴圈。

https://github.com/haizelabs/EvoForge

擴大規模就對了,哈哈

單一 Agent 的自我改進能找到答案,而群體層級的自我改進能找到更好的答案!

EvoForge 押注的是 harness 研發的下一個階段,將來自於演化一個 harness 群體,而不僅僅是讓一個 Agent 在角落裡自我調整。

致謝!

靈感來自 @kevingu 的 AutoAgent 與 @gauri__gupta 的 auto-harness。歡迎去看看 :)