決定如何評分、正規化及懲罰評估架構中的候選程式碼項目時,請套用下列架構原則。
直接盡量爭取目標
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 會追蹤每個指標的最佳程式,而系統會維護所有指標的帕累托前沿,但單一純量目標在初始部署期間,更容易進行推理和偵錯。如果問題需要多個目標,您可以將這些目標合併為單一加權純量,也可以從一開始就使用多指標追蹤工具。
先重新調整大小並正規化,再合併
在指標中套用嚴格的比例平衡,避免最佳化偏誤:
重新調整範圍:先將指標正規化為可比較的範圍,再合併指標。如果未明確重新調整範圍,就合併有界分數 (範圍從
0到1) 和無界分數 (範圍從0到infinity),無界指標就會主導健身領域。優先採用加法結構,而非乘法組合:乘法目標可能會對分母的微小變化過度敏感,進而影響搜尋準確度和穩定性。請改為實作加權總和:
w1*A - w2*L - w3*M。這個格式可讓您直接調整各項成效參數的權重。根據初始值進行正規化:為避免規模差異導致搜尋路徑偏斜,請將每個指標除以各自的初始基準值,讓所有指標都以
1.0為基準,再套用權重並合併。
放大微小的數值差異
如果分數差異不大,可能無法為基礎 LLM 提供實用的最佳化信號。如果強烈候選人的分數為 1e-7,較弱候選人的分數為 1e-8,LLM 在審查內容時可能無法有效區分兩者。將最終分數重新調整為顯而易見、人類可解讀的範圍 (例如 0 到 100),這樣一來,生成提示中就會以數字顯示程式碼的改善幅度。