背景資訊和提示設定

AlphaEvolve 會根據提供的程式碼基準和使用者提供的特定背景資訊,引導作業。

使用者情境

系統會將使用者提供的背景資訊插入每個生成提示。這項技術會為 LLM 提供領域知識、數學公式和系統限制,藉此平衡搜尋空間。

  • 權杖預算:最多 20 萬個權杖的成效良好。超過 20 萬個權杖的門檻後,脈絡視窗就會載入,大型語言模型的注意力會降低,突變品質也會下降。如果合併的內容 (問題說明、程式碼和先前的程式) 超過 20 萬個符記,請務必縮減。

包含的內容

  • 最佳化問題的精確數學公式。

  • 主要限制及其明確的理由。

  • 特定領域的術語和定義。

  • 引導 LLM 搜尋方向的已知良好方法或先前技術。

  • 具體明確的指示,詳細說明「不要」做什麼。

請勿加入的內容

  • 一般程式設計教學課程。

  • 標準程式庫說明文件 (LLM 已知 numpysklearn 等)。不過,如果 LLM 可能不太瞭解特定領域或網域的程式庫,請務必提供相關說明文件 (自訂核心 API、專有 SDK 或專用 DSL)。

  • 任意原始資料、試算表或大量資料傾印。資料應屬於評估器安全帶,而非提示詞脈絡。

  • 與主題無關的內容會耗用權杖,但不會新增搜尋信號。

您提供的每個脈絡資訊都必須發揮明確價值,積極協助 LLM 產生更優質、結構健全的變異。

評估意見回饋 (洞察)

每次執行迴圈後,評估工具可以傳回診斷意見回饋文字和分數。這項意見回饋會自動附加至日後的提示結構。

  • 品質基準:優質意見回饋應具體、可行且簡潔。 不良意見回饋過於籠統 (例如「評估失敗」) 或過於冗長。

  • 運作目的:這些洞察資料會顯示在後續生成內容的 LLM 中,讓 LLM 從執行失敗的案例中明確學習,避免重複發生錯誤。

內建提示多樣性功能

AlphaEvolve 會自動將傳送至後端 LLM 集成的提示多樣化。這項作業會在內部處理,不需要使用者手動設定。

系統會在連續幾代中變更核心指令,鼓勵多樣的突變,並防止 LLM 陷入重複的編碼模式。這項行為是 AlphaEvolve 的主要機制之一,可協助探索廣泛的領域,避免陷入狹隘的局部最佳化。

程式碼可讀性

程式碼複雜度可做為有效的輔助指標。如果最終程式碼的可讀性是您生產用途的考量因素,請考慮將程式碼長度或認知複雜度新增為次要目標指標。

AlphaEvolve 可將檔案壓縮最多 50%,且不會降低功能效能。不過,大型語言模型會利用簡單的指標 (例如移除所有內嵌註解,以減少原始字元數)。為避免發生這種情況,請導入可擷取有意義結構複雜度的指標,例如迴圈複雜度或抽象語法樹 (AST) 節點計數,而非評估原始字串長度。