Saat mengintegrasikan tugas nyata ke EvoX, kesulitannya tidak pernah terletak pada "mengganti operator evolusi dengan yang lebih kuat", melainkan pada memperjelas terlebih dahulukontrak tugasnya: objek mana yang boleh diubah (ruang pencarian), hasil mana yang dapat diamati (saluran umpan balik), dan perubahan mana yang patut dipertahankan (kriteria evaluasi). Ketiga batas ini bersama-sama menentukan apakah siklus evolusi dapat berjalan, sehingga harus ditetapkan sebelum penerapan, bukan diuji coba sedikit demi sedikit selama proses evolusi.
I. Batas objek yang dapat diubah: menetapkan ruang pencarian
Nyatakan secara eksplisit variabel keputusan dan strukturnya (genotipe), serta pemetaannya ke hasil nyata (fenotipe), sekaligus tandai batasan hanya-baca pada lingkungan, data, antarmuka, dan perangkat keras. Jika batas terlalu lebar, banyak kandidat tidak valid akan masuk ke pencarian; jika terlalu sempit, tidak ada ruang untuk berevolusi. Contohnya pada pipeline pengolahan data, yang dapat diubah adalah pilihan operator, urutan eksekusi, dan hiperparameter, sedangkan struktur data masukan serta batasan kepatuhan bersifat hanya-baca.
II. Batas hasil yang dapat diamati: membuka saluran umpan balik
Setiap kandidat harus mampu menghasilkan sinyal yang dapat ditangkap oleh program. Perjelas saluran pengamatan, latensi, tingkat noise, dan reproduktibilitas. Dimensi yang tidak dapat diamati tidak boleh dijadikan dasar optimasi, hanya sebagai penjelasan setelahnya — memasukkan hal yang tak teramati ke dalam fungsi kebugaran hanya akan membuat evolusi menyimpang menuju noise.
III. Kriteria evaluasi dan aturan retensi: mendefinisikan apa yang layak dipertahankan
Definisikan fungsi kebugaran atau vektor tujuan, syarat batasan, dan penilaian kelayakan; jelaskan apakah akan diringkas menjadi satu nilai atau dipertahankan berdasarkan Pareto multi-tujuan; serta tentukan bagaimana kandidat yang gagal, crash, atau timeout harus dihukum, diperbaiki, atau dihentikan lebih awal. Begitu kriteria evaluasi ditetapkan, sebenarnya arah konvergensi evolusi sudah ditentukan.
IV. Irama evaluasi: paralelisme, biaya, dan anggaran
Pastikan apakah evaluasi dapat dijalankan secara batch atau asinkron, biaya evaluasi per proses, dan anggaran totalnya. Tingkat paralelisme dan latensi per proses secara langsung menentukan irama siklus evolusi dan jumlah generasi yang mampu ditanggung: evaluasi serial memperpanjang siklus sehingga jumlah generasi yang mampu ditanggung menurun drastis; evaluasi batch atau asinkron dapat mempercepat iterasi secara signifikan. Penghentian dan anggaran juga harus ditulis dengan jelas — tetapkan anggaran evaluasi, kriteria konvergensi, dan syarat penghentian, agar tidak menghabiskan daya komputasi tanpa batas sekaligus menghindari penghentian terlalu dini terhadap solusi yang belum matang.
V. Kredibilitas evaluasi: waspadai "metrik teroptimasi, tetapi masalah tidak terselesaikan"
Perlu mewaspadai tiga jenis risiko: ketidaksesuaian metrik proxy dengan tujuan sebenarnya, kebocoran target, serta pemanfaatan balik evaluator oleh kandidat (memanfaatkan celah penilaian untuk menaikkan skor). Cara mengatasinya adalah dengan mempertahankan set validasi independen atau tahap peninjauan manual, serta sebisa mungkin membuat proses evaluasi tanpa status dan dapat diputar ulang, agar kegagalan dapat direproduksi dan hasil dapat dilacak penyebabnya.
VI. Kontrak integrasi
Pada akhirnya, bungkus tugas menjadi antarmuka yang dapat dipanggil oleh EvoX: masukkan satu kandidat, keluarkan metrik dan batasan, serta pastikan evaluasi sebisa mungkin tanpa status dan dapat diputar ulang. Kontrak yang stabil membuat siklus tetap stabil. Jika skor pada set pelatihan dijadikan satu-satunya standar retensi, evolusi akan dengan cepat overfitting terhadap metrik tersebut — inilah alasan mengapa batas evaluasi harus ditentukan sebelum batas pencarian.
