評分方式

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

直接盡量爭取目標

AlphaEvolve 專門執行最大化搜尋,將每個最佳化目標視為爬山任務。如要盡量減少延遲或錯誤率等指標,您必須將最終計算值設為負數:score = -latency_ms # AE maximizes -> minimizes latency

維持嚴格的函式單調性

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

提供詳細的精細指標

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

針對稀疏結果,獎勵部分成功

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

二元或低解析度的目標 (例如追蹤以賽事為基礎的遊戲問題中贏得的賽事),會造成多個候選項目並列的大量效能高原期。這項行為會導致 AlphaEvolve 無法區分接近正確答案的解法和不佳的解法,進而導致父項選取迴圈停滯。

如要維持搜尋漸層方向:

  • 新增精細的子信號:評估最終目標的增量進度 (例如比賽中獲得的個人分數),讓 AlphaEvolve 能夠對原本平手的候選人進行排名,並朝有希望的解決方案空間攀升。

  • 仔細對齊對齊和權重:確保子信號與真實目標單調對齊,且權重安全地低於真實目標。如果權重設定不當,AlphaEvolve 會以實際目標為代價,將替代指標最佳化 (導致獎勵遭濫用)。

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

將權重限制設為 w < 1,確保額外終端獲勝一律優先於任何賽內積分累積,並將子信號嚴格視為平手時的決勝因素。

先從單一目標開始

建議您先從單一目標函式開始實作。雖然資料庫完全支援多目標最佳化,並全面追蹤帕累托前沿,其中 MAP-Elites 會追蹤每個指標的最佳程式,而系統會維護所有指標的帕累托前沿,但單一純量目標在初始部署期間,更容易進行推理和偵錯。如果問題需要多個目標,您可以將這些目標合併為單一加權純量,也可以從一開始就使用多指標追蹤工具。

先重新調整大小並正規化,再合併

在指標中套用嚴格的比例平衡,避免最佳化偏誤:

  • 重新調整範圍:先將指標正規化為可比較的範圍,再合併指標。如果未明確重新調整範圍,就合併有界分數 (範圍從 01) 和無界分數 (範圍從 0infinity),無界指標就會主導健身領域。

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

  • 根據初始值進行正規化:為避免規模差異導致搜尋路徑偏斜,請將每個指標除以各自的初始基準值,讓所有指標都以 1.0 為基準,再套用權重並合併。

放大微小的數值差異

如果分數差異不大,可能無法為基礎 LLM 提供實用的最佳化信號。如果強烈候選人的分數為 1e-7,較弱候選人的分數為 1e-8,LLM 在審查內容時可能無法有效區分兩者。將最終分數重新調整為顯而易見、人類可解讀的範圍 (例如 0100),這樣一來,生成提示中就會以數字顯示程式碼的改善幅度。