評分方式

決定如何在評估架構中為候選程式碼項目評分、正規化及扣分時,請套用下列架構原則。

直接最大化目標

AlphaEvolve 只會執行最大化搜尋,將每個最佳化目標視為爬坡任務。如要盡可能降低延遲時間或錯誤率等指標,您必須否定最終計算值:score = -latency_ms # AE maximizes -> minimizes latency。

維持嚴格的函式單調性

請務必只導入單調評分函式。隨著候選解決方案改善,傳回的數值分數必須持續增加。納入非單調分數會降低搜尋效能,並在最佳化路徑中造成邏輯不一致。

提供詳細、精細的指標

詳細評分可直接提升整體搜尋品質。即使是針對單一核心業務目標進行最佳化,納入次要或代理指標也有助於 AlphaEvolve 更有效地瀏覽複雜的搜尋空間。將個別子分數以結構化洞察資料的形式傳回系統,讓 LLM 能明確推論各代模型在效能方面的取捨。

獎勵部分成功,而非稀疏結果

獎勵部分成功,而非完全依賴最終或二元結果。請一律優先使用密集評分信號,而非稀疏評分信號。

二進位或低解析度目標 (例如追蹤錦標賽遊戲問題中獲勝的比賽) 會造成大量效能高原,其中多個候選項目會平手。這種行為會導致 AlphaEvolve 無法區分接近正確的解法和不佳的解法,進而使親代選取迴圈停滯。

如要維持搜尋梯度方向:

  • 新增精細的子信號:評估朝向最終目標的增量進度 (例如比賽中個別得分),讓 AlphaEvolve 能為原本平手的候選項目排名,並朝向有潛力的解決方案空間進行爬山演算法。

  • 仔細調整對齊方式和權重:確保子信號與真實目標單調對齊,且權重安全地低於真實目標。如果權重不正確,AlphaEvolve 會最佳化代理指標,但會犧牲實際目標 (導致獎勵駭客)。

舉例來說,使用分數做為邏輯決勝分,建構純量目標函式:use score = matches_won + w * (points_scored / points_possible)。

將權重限制設為 w < 1,這樣額外的終端勝場一律會高於任何比賽內累積的分數,將子信號嚴格視為決勝局。

先設定單一目標

建議您先從單一目標函式開始實作。雖然資料庫原生支援多目標最佳化,並提供完整的 Pareto 前沿追蹤功能 (MAP-Elites 會追蹤每個指標的最佳程式,系統則會維護所有指標的執行 Pareto 前沿),但在初始部署期間,單一純量目標的推論和偵錯作業會簡單得多。如果問題需要多個目標,可以將這些目標合併為單一加權純量,或從一開始就使用多指標追蹤工具。

合併前重新調整和正規化

對指標套用嚴格的尺度平衡,避免最佳化偏誤:

  • 重新調整範圍:將指標正規化為可比較的範圍,再進行合併。如果將有界分數 (範圍從 0 到 1) 和無界分數 (範圍從 0 到 infinity) 結合,而不明確重新調整,無界指標就會主導適應度。

  • 建議使用加法結構,而非乘法組合:乘法目標可能會對分母的微小變化過度敏感,進而影響搜尋準確度和穩定性。請改為實作加法加權總和:w1*A - w2*L - w3*M。這種格式可讓您直接調整各項成效參數的權重。

  • 相對於初始值進行正規化:為避免尺度差異扭曲搜尋路徑,請將每個指標除以各自的初始基準值,讓所有指標在套用權重並合併之前,都從 1.0 的基準開始。

放大微小的數值差異

數值分數差異不大,可能無法為基礎 LLM 提供實用的最佳化信號。如果優秀候選人的分數是 1e-7,而較差候選人的分數是 1e-8,LLM 在查看背景資訊時,可能無法有效區分兩者。將最終分數重新調整為明顯、人類可讀的範圍 (例如 0 到 100),讓程式碼的逐步改善在生成提示中變得明顯。