Terapkan prinsip arsitektur berikut saat menentukan cara memberi skor, menormalkan, dan memberikan penalti pada entri kode kandidat dalam platform evaluasi Anda.
Memaksimalkan sasaran secara langsung
AlphaEvolve secara eksklusif melakukan penelusuran maksimalisasi, dengan memperlakukan setiap target pengoptimalan sebagai tugas pendakian bukit. Untuk meminimalkan metrik seperti latensi
atau rasio error, Anda harus meniadakan nilai akhir yang dihitung:
score = -latency_ms # AE maximizes -> minimizes latency.
Mempertahankan fungsi monoton yang ketat
Pastikan Anda hanya menerapkan fungsi pemberian skor monoton. Skor numerik yang ditampilkan harus terus meningkat seiring peningkatan solusi kandidat. Menggabungkan skor non-monoton akan menurunkan performa penelusuran dan menimbulkan ketidakkonsistenan logis ke dalam jalur pengoptimalan.
Memberikan metrik yang terperinci dan mendetail
Skor terperinci secara langsung meningkatkan kualitas penelusuran secara keseluruhan. Meskipun mengoptimalkan satu tujuan bisnis inti, menggabungkan metrik sekunder atau proxy akan membantu AlphaEvolve menavigasi ruang penelusuran yang kompleks dengan lebih efektif. Kirim kembali sub-skor individual ke sistem sebagai insight terstruktur sehingga LLM dapat secara eksplisit mempertimbangkan kompromi performa di seluruh generasi.
Memberikan reward untuk keberhasilan sebagian, bukan hasil yang jarang
Berikan reward untuk keberhasilan sebagian, bukan hanya mengandalkan hasil terminal atau biner. Selalu pilih sinyal pemberian skor yang padat daripada sinyal yang jarang.
Sasaran biner atau beresolusi rendah (misalnya, melacak pertandingan yang dimenangkan dalam masalah game berbasis turnamen) akan membuat plateau performa yang besar saat beberapa kandidat seri. Perilaku ini mencegah AlphaEvolve membedakan solusi yang hampir berhasil dengan solusi yang buruk, yang akan menghentikan loop pemilihan induk.
Untuk mempertahankan arah gradien penelusuran:
Tambahkan sub-sinyal yang mendetail: Ukur progres inkremental menuju sasaran akhir (seperti poin individual yang diperoleh dalam pertandingan) sehingga AlphaEvolve dapat memberi peringkat pada kandidat yang seri dan mendaki bukit menuju ruang solusi yang menjanjikan.
Sejajarkan perataan dan bobot dengan cermat: Pastikan sub-sinyal disejajarkan secara monoton dengan sasaran sebenarnya dan diberi bobot dengan aman di bawahnya. Jika tidak diberi bobot dengan benar, AlphaEvolve akan mengoptimalkan metrik proxy dengan mengorbankan sasaran sebenarnya (sehingga menyebabkan hack reward).
Misalnya, buat fungsi sasaran skalar menggunakan poin sebagai pemecah seri logis: use score = matches_won + w * (points_scored / points_possible).
Konfigurasi batasan bobot ke w < 1 sehingga kemenangan terminal tambahan
selalu lebih tinggi daripada akumulasi poin dalam pertandingan, dengan memperlakukan sub-sinyal
secara ketat sebagai pemecah seri.
Mulai dengan satu sasaran
Pertimbangkan untuk memulai penerapan dengan satu fungsi sasaran. Meskipun pengoptimalan multi-sasaran dengan pelacakan batas Pareto yang komprehensif didukung sepenuhnya secara native dalam database, tempat MAP-Elites melacak program terbaik per metrik dan sistem mempertahankan batas Pareto yang berjalan di semua metrik, satu sasaran skalar jauh lebih mudah dipertimbangkan dan di-debug selama deployment awal. Jika masalah Anda memerlukan beberapa sasaran, Anda dapat menggabungkannya menjadi satu skalar berbobot atau memanfaatkan alat pelacakan multi-metrik sejak awal.
Ubah skala dan normalkan sebelum menggabungkan
Terapkan penyeimbangan skala yang ketat di seluruh metrik untuk menghindari bias pengoptimalan:
Ubah skala di seluruh rentang: Normalkan metrik ke rentang yang sebanding sebelum menggabungkannya. Menggabungkan skor terbatas (berkisar dari
0hingga1) dan skor tidak terbatas (berkisar dari0hinggainfinity) tanpa mengubah skala secara eksplisit akan menyebabkan metrik tidak terbatas mendominasi lanskap kebugaran.Pilih struktur aditif daripada kombinasi multiplikatif: Sasaran multiplikatif dapat menjadi sangat sensitif terhadap variasi kecil dalam penyebut, sehingga mengganggu akurasi dan stabilitas penelusuran. Terapkan jumlah berbobot aditif sebagai gantinya:
w1*A - w2*L - w3*M. Format ini memungkinkan penyesuaian bobot yang mudah per parameter performa.Normalkan relatif terhadap nilai awal: Untuk mencegah perbedaan skala memiringkan jalur penelusuran, bagi setiap metrik dengan nilai dasar awalnya masing-masing sehingga semua metrik dimulai dari dasar
1.0sebelum Anda menerapkan bobot dan menggabungkannya.
Memperkuat perbedaan numerik minimal
Perbedaan skor numerik kecil mungkin tidak memberikan sinyal pengoptimalan yang berguna ke LLM yang mendasarinya. Jika kandidat yang kuat mendapat skor 1e-7 dan kandidat yang lebih lemah mendapat skor 1e-8, LLM mungkin tidak dapat membedakannya secara signifikan saat meninjau konteks. Ubah skala skor akhir Anda ke rentang yang jelas dan mudah dibaca manusia (seperti 0 hingga100) sehingga peningkatan kode inkremental
menjadi terlihat secara numerik dalam perintah pembuatan.