PART 5 · Harness 與自我改進

進化搜尋:讓最強 Harness 存活

進化演算法 + 編碼 Agent = 在龐大的 Harness 設計空間中自動發現最優解。

Evolutionary Search for Harness

搜尋空間太大、梯度不可用,進化是唯一務實的答案

Harness 由 prompt、工具呼叫策略、上下文管理邏輯和程式碼片段共同組成。這些元件的組合空間龐大且形狀奇特,無法用梯度直接優化,但可以輕鬆評估一個候選 harness 的好壞。這恰恰是進化搜尋最擅長的領域。
為什麼進化搜尋適合 Harness 優化?
💬 講人話:進化搜尋就是大自然選育莊稼的套路:種一大片,長得好的留種,長得差的淘汰,偶爾雜交變異一下,一代代下來莊稼越來越好。為什麼用這招?因為 Harness 是由 prompt、程式碼、配置混搭出來的東西,沒法用數學公式算出最優解(術語叫梯度不可用),但很容易比出誰好誰差。能打分、不能求解的問題,正適合「養一群、留最強」。
三個契合條件
1. 搜尋空間龐大且形狀奇特:Harness 的元件包括自然語言 prompt、程式碼邏輯、工具配置,組合爆炸且高度離散。

2. 梯度不可用,但評估容易:無法對 prompt 文字求導,但可以直接在基準測試上跑出分數。

3. 多樣性有價值:不同任務可能需要不同風格的 Harness,進化天然維護種群多樣性。
Prompt 進化的先驅
Promptbreeder & GEPA
Promptbreeder(Fernando et al. 2023):用豐富的變異操作進化 task-specific prompts。關鍵創新:變異 prompt 本身也透過進化改進,形成元進化。

GEPA(Agrawal et al. 2025):結合 reflection-based prompting 和進化搜尋。Agent 先反思當前 prompt 的不足,再透過進化運算子產生候選改進,最終選擇最優。

這兩項工作為後續更大規模的 Harness 進化奠定了基礎。
AlphaEvolve:編碼 Agent 的進化搜尋
💬 講人話:AlphaEvolve 就是把上面的「選育莊稼」用在程式碼上:維護一個程式碼農場(候選程式池),讓 AI 每輪給表現好的程式碼提修改意見(生成 diffs),改完跑分,分高的留下繼續繁衍。Google 用它真的發現了比人類已知更快的矩陣乘法演算法:莊稼選出了新品種。
AlphaEvolve(Novikov et al. 2025)
核心思路:維護一個候選程式池,用凍結的 LLM 生成程式碼 diffs 來改程式,反覆評估子程式並保留表現最好的。

Novikov et al. "AlphaEvolve: A coding agent for scientific and algorithmic discovery." 2025.

AlphaEvolve 系統架構
AlphaEvolve 系統架構:候選程式池 → LLM 生成 diffs → 評估 → 適者保留。
Prompt 設計
父程式 + 評估結果 + 指令 + 元資訊共同構成進化 prompt
進化標記
用 # EVOLVE-BLOCK-START / # EVOLVE-BLOCK-END 顯式標記可改進區域
Meta-prompt
指令和上下文本身也參與共同進化,不會固定不變
消融實驗
證明進化流程、上下文 prompt、meta-prompt、全檔案進化、更強 LLM 各自有獨立貢獻
AlphaEvolve 消融實驗結果
AlphaEvolve 消融實驗:各元件對最終效能的貢獻。
Darwin Gödel Machine(DGM)
💬 講人話:DGM 比 AlphaEvolve 更激進:進化的對象是 Agent 自己的「作業系統」(它自己的 harness 程式碼),已經超出了改別人程式碼的範疇。相當於一群機器人,每個都可以看自己的考試錯題、然後動手改造自己的大腦回路,改得好的機器人留下來繼續繁衍後代。名字裡的「達爾文」就是這個意思:物競天擇,最強的自我改造方案存活。
DGM(Zhang et al. 2025)
與 AlphaEvolve 不同,DGM 顯式針對可編輯的 harness 程式碼倉庫展開進化:Agent 被允許修改自己的 harness 程式碼。

Zhang et al. "The Darwin Gödel Machine: Open-Ended Evolution of Self-Improving Agents." 2025.

  1. 初始化:從池中一個 coding agent 開始
  2. 選擇父代:按效能機率選一個父代(機率與子代數量成反比,鼓勵探索)
  3. 反思 + 提議:父 agent 檢查自己的 benchmark 評估日誌,提出 harness 改進方案
  4. 變異:修改 harness 程式碼,產生新 agent
  5. 評估:新 agent 在基準測試上評估,只有效能足夠高才被加回池中
  6. 重複:迴圈直到達到停止條件
DGM 工具與實驗結果
工具集:bash + editor(view / create / edit)

實驗(基於 Claude 3.5 Sonnet):
· SWE-bench Verified:20% → 50%(+30 pp)
· Polyglot:14.2% → 30.7%(+16.5 pp)

無需人類介入,Agent 自主進化出更強的 harness 設計。
適用範圍與侷限

適用場景

  • 候選解可自動評估
  • Fitness 易量化(數值化指標)
  • 矩陣乘法加速
  • GPU kernel 優化
  • 演算法競賽
  • 資料中心排程

不適用場景

  • 評估速度慢(每次需數小時)
  • 評估標準模糊或主觀
  • 主要基於啟發式判斷
  • 計算預算有限
  • 需要人類審核環節
效率關注點
進化搜尋的計算開銷不可忽視。AlphaEvolve 和 DGM 都需要大量評估輪次,每輪都涉及 LLM 推理 + 程式碼執行 + 基準測試。計算效率(每代需要多少次評估)和進化效果(每代提升多少)之間的平衡仍是開放問題。
聯合優化:模型權重 + Harness
💬 講人話:前面所有方法都只改工作流程,不動 AI 的大腦(模型權重)。SIA 想兩個一起改:既優化流程,也順便重新訓練大腦。聽起來很美,但風險也大:就像一邊改賽車引擎一邊改賽道,兩邊同時變化容易失控(這就是文中說的訓練穩定性問題)。
SIA(Hebbar et al. 2026)
SIA 將 harness 改進和模型參數更新放入同一優化迴圈:

· Meta-Agent:提出新的 harness 設計
· Task-Specific Agent:在新 harness 下執行任務
· Feedback-Agent:根據結果決定下一步是更新 harness 還是更新模型權重

方向有趣,但證據暫時性:訓練穩定性和 Goodhart 效應(優化代理指標導致真實目標退化)仍是開放挑戰。

Hebbar et al. "Self-Improving Agents." 2026.

SIA 聯合優化架構
SIA 架構:Meta-Agent 提出 harness → Task Agent 執行 → Feedback Agent 決定優化方向。
核心觀點:當搜尋空間龐大、梯度不可用、但評估容易時,進化搜尋是優化 Harness 的自然選擇。從 Promptbreeder 的 prompt 進化,到 AlphaEvolve 的程式進化,再到 DGM 的 harness 程式碼自我改寫,進化壓力正在讓最強的 Agent 存活。未來的 SIA 方向則試圖讓 harness 和模型權重協同進化,但穩定性挑戰仍待解決。