Pendekatan pemberian skor

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 0 hingga 1) dan skor tidak terbatas (berkisar dari 0 hingga infinity) 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.0 sebelum 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.