AlphaEvolve 會根據提供的程式碼基準和使用者提供的特定背景資訊,引導作業。
使用者情境
系統會將使用者提供的背景資訊插入每個生成提示。這項技術會為 LLM 提供領域知識、數學公式和系統限制,藉此平衡搜尋空間。
- 權杖預算:最多 20 萬個權杖的成效良好。超過 20 萬個權杖的門檻後,脈絡視窗就會載入,大型語言模型的注意力會降低,突變品質也會下降。如果合併的內容 (問題說明、程式碼和先前的程式) 超過 20 萬個符記,請務必縮減。
包含的內容
最佳化問題的精確數學公式。
主要限制及其明確的理由。
特定領域的術語和定義。
引導 LLM 搜尋方向的已知良好方法或先前技術。
具體明確的指示,詳細說明「不要」做什麼。
請勿加入的內容
一般程式設計教學課程。
標準程式庫說明文件 (LLM 已知
numpy、sklearn等)。不過,如果 LLM 可能不太瞭解特定領域或網域的程式庫,請務必提供相關說明文件 (自訂核心 API、專有 SDK 或專用 DSL)。任意原始資料、試算表或大量資料傾印。資料應屬於評估器安全帶,而非提示詞脈絡。
與主題無關的內容會耗用權杖,但不會新增搜尋信號。
您提供的每個脈絡資訊都必須發揮明確價值,積極協助 LLM 產生更優質、結構健全的變異。
評估意見回饋 (洞察)
每次執行迴圈後,評估工具可以傳回診斷意見回饋文字和分數。這項意見回饋會自動附加至日後的提示結構。
品質基準:優質意見回饋應具體、可行且簡潔。 不良意見回饋過於籠統 (例如「評估失敗」) 或過於冗長。
運作目的:這些洞察資料會顯示在後續生成內容的 LLM 中,讓 LLM 從執行失敗的案例中明確學習,避免重複發生錯誤。
內建提示多樣性功能
AlphaEvolve 會自動將傳送至後端 LLM 集成的提示多樣化。這項作業會在內部處理,不需要使用者手動設定。
系統會在連續幾代中變更核心指令,鼓勵多樣的突變,並防止 LLM 陷入重複的編碼模式。這項行為是 AlphaEvolve 的主要機制之一,可協助探索廣泛的領域,避免陷入狹隘的局部最佳化。
程式碼可讀性
程式碼複雜度可做為有效的輔助指標。如果最終程式碼的可讀性是您生產用途的考量因素,請考慮將程式碼長度或認知複雜度新增為次要目標指標。
AlphaEvolve 可將檔案壓縮最多 50%,且不會降低功能效能。不過,大型語言模型會利用簡單的指標 (例如移除所有內嵌註解,以減少原始字元數)。為避免發生這種情況,請導入可擷取有意義結構複雜度的指標,例如迴圈複雜度或抽象語法樹 (AST) 節點計數,而非評估原始字串長度。