Konfigurasi konteks dan perintah

AlphaEvolve memandu operasinya dengan memanfaatkan dasar kode yang diberikan serta konteks spesifik yang diberikan oleh pengguna.

Konteks pengguna

Konteks yang diberikan pengguna dimasukkan ke dalam setiap perintah pembuatan. Alat ini menyeimbangkan ruang penelusuran dengan memberikan pengetahuan domain, formulasi matematis, dan batasan sistem kepada LLM.

  • Anggaran token: Hingga 200.000 token berperforma baik. Di luar batas 200 ribu token, jendela konteks menjadi penuh, perhatian LLM berkurang, dan kualitas mutasi menurun. Jika konteks gabungan Anda (deskripsi masalah, kode, dan program sebelumnya) melebihi 200 ribu token, Anda harus menguranginya.

Yang harus disertakan

  • Formulasi matematika yang tepat dari masalah pengoptimalan.

  • Kendala utama dan alasan yang jelas.

  • Terminologi dan definisi khusus domain.

  • Pendekatan yang sudah terbukti baik atau karya pendahulu untuk memandu arah penelusuran LLM.

  • Petunjuk khusus dan eksplisit yang menjelaskan apa yang TIDAK boleh dilakukan.

Yang TIDAK boleh disertakan

  • Tutorial pemrograman umum.

  • Dokumentasi library standar (LLM sudah mengetahui numpy, sklearn, dll.). Namun, SERTAKAN dokumentasi untuk library khusus domain atau ceruk yang mungkin tidak diketahui dengan baik oleh LLM (API kernel kustom, SDK eksklusif, atau DSL khusus).

  • Data arbitrer mentah, spreadsheet, atau dump data besar. Data termasuk dalam harness evaluator, bukan dalam konteks perintah.

  • Konteks yang tidak terkait yang menggunakan token tanpa menambahkan sinyal penelusuran.

Setiap konteks yang Anda sertakan harus memberikan nilai yang jelas dengan secara aktif membantu LLM menghasilkan mutasi yang lebih baik dan terstruktur dengan baik.

Masukan evaluasi (Insight)

Setelah setiap loop eksekusi, evaluator dapat menampilkan teks masukan diagnostik bersama dengan skor numerik. Masukan ini otomatis ditambahkan ke struktur perintah mendatang.

  • Dasar kualitas: Masukan yang kuat bersifat spesifik, dapat ditindaklanjuti, dan ringkas. Masukan yang buruk bersifat umum (seperti "evaluasi gagal") atau terlalu bertele-tele.

  • Tujuan operasional: Insight ini ditampilkan ke LLM dalam generasi berikutnya, sehingga LLM dapat belajar secara eksplisit dari kegagalan eksekusi dan menghindari bug berulang.

Diversifikasi perintah bawaan

AlphaEvolve secara otomatis mendiversifikasi perintah yang dikirimkannya ke ansambel LLM backend. Operasi ini ditangani secara internal dan tidak memerlukan konfigurasi pengguna secara manual.

Sistem memvariasikan petunjuk intinya di seluruh generasi berturut-turut untuk mendorong mutasi yang beragam dan mencegah LLM terjebak dalam pola coding yang berulang. Perilaku ini berfungsi sebagai salah satu mekanisme utama yang membantu AlphaEvolve menjelajahi lanskap yang luas, bukan terjebak dalam optima lokal yang sempit.

Keterbacaan kode

Kompleksitas kode bertindak sebagai metrik tambahan yang efektif. Jika keterbacaan kode akhir adalah faktor untuk kasus penggunaan produksi Anda, pertimbangkan untuk menambahkan panjang kode atau kompleksitas kognitif sebagai metrik target sekunder.

AlphaEvolve dapat mencapai kompresi file hingga 50% tanpa menurunkan performa fungsional. Namun, LLM akan mengeksploitasi metrik kesederhanaan yang naif (seperti menghapus semua komentar inline untuk mengurangi jumlah karakter mentah). Untuk mencegah hal ini, terapkan metrik yang menangkap kompleksitas struktural yang bermakna, seperti kompleksitas siklomatik atau jumlah node Abstract Syntax Tree (AST), daripada mengevaluasi panjang string mentah.