Dokumen ini berfungsi sebagai referensi API tingkat produksi yang resmi dan spesifikasi sistem untuk AlphaEvolve Cloud API di lapisan percakapan Discovery Engine. Google CloudSpesifikasi ini menentukan hierarki resource bertingkat yang tepat, endpoint REST dan gRPC, batasan tingkat kolom, mesin status siklus proses, matriks diagnostik error, aturan sandbox keamanan, dan alur kerja integrasi yang diperlukan untuk merekayasa loop evaluasi dan pengontrol sisi klien yang sepenuhnya otomatis.
Mesin status siklus proses terpadu
Agen AlphaEvolve mengoordinasikan dua mesin status independen untuk memantau progres kampanye eksperimen dan mengelola penayangan serta eksekusi mutasi program individual.
Status siklus proses eksperimen
Eksperimen mewakili kampanye pengoptimalan secara keseluruhan. Resource ini diproses sebagai resource sisi server persisten dan bertransisi melalui status berikut:
CREATED: Status inisialisasi. Resource dideklarasikan dan dikonfigurasi, tetapi belum mengisi generasi awal atau mengirim panggilan API.RUNNING: Status evaluasi aktif. Mesin ini secara bersamaan mengambil sampel kandidat induk, membuat mutasi kode melalui campuran LLM, dan melakukan streaming tugas ke evaluator.PAUSED: Status penampungan sementara yang dipicu secara manual atau melaluiidle_timeoutpelindung otomatis. Pembuatan kode berhenti, dan pengiriman metrik pekerja yang ada dijeda.COMPLETED: Status akhir yang menunjukkan bahwa penelusuran telah berhasil memenuhi alokasi targetmax_programsatau mencapai batas pembuatan strukturalnya.FAILED: Status error terminal yang menunjukkan bahwa masalah lingkungan sistemik—seperti pengecualian kredensial API yang tidak tertangkap, kerusakan penyimpanan data, atau panik runner berturut-turut—menghentikan eksekusi pemrosesan.
Status program
Urutan validasi runtime diterapkan ke setiap varian kandidat.
Setiap mutasi kode yang dihasilkan berperilaku sebagai entity program terisolasi yang bertransisi melalui serangkaian status operasional terperinci dalam database populasi.
INITIALIZED: Entri program dibuat di database, melacak silsilah leluhur dan keterkaitan program induknya.GENERATING: Tugas dikirim secara aktif ke backend campuran model bahasa untuk membuat draf atau mengubah blok kode fungsional tertentu.EVALUATING: Payload kode dikunci oleh proses pekerja evaluasi dan dieksekusi di dalam lingkungan harness pengujian terisolasi.COMPLETED: Skor eksekusi dan insight struktural deskriptif disimpan dengan aman ke database evolusioner, dan program ditambahkan ke pool seleksi.
Mekanisme konkurensi dan penguncian
Program diperoleh oleh loop pekerja menggunakan mekanisme token kunci atomik untuk mencegah kondisi persaingan atau overhead penilaian duplikat di seluruh topologi terdistribusi. Evaluator harus mengirimkan skema pemberian skor akhir bersama dengan token kunci pencocokan persis agar berhasil melakukan hasil kembali ke database.
Skema konfigurasi dan setelan
Ringkasan konfigurasi, parameter, dan default skema inti yang digunakan oleh runtime mesin AlphaEvolve.
AlphaEvolveExperimentConfig
Menentukan parameter struktural inti dan batasan terprogram dari jalannya eksperimen evolusioner.
| Nama Kolom | Jenis | Default | Batasan / Batas Nilai | Deskripsi Teknis |
|---|---|---|---|---|
title |
string | Wajib | Maksimal 256 karakter | Nama tampilan unik eksperimen. |
problemDescription |
string | Wajib | Maksimal 5.000 karakter | Spesifikasi formal masalah. Hal ini disisipkan langsung ke dalam konteks perintah untuk menetapkan aturan. |
programmingLanguage |
string | Wajib | Nilai bentuk bebas | Bahasa target codebase yang dikembangkan (misalnya,
"python", "cpp", "verilog",
"cuda", "julia", "java"). |
runSettings |
objek | Wajib | Dipetakan ke skema RunSettings |
Parameter kecepatan dan waktu tunggu. |
generationSettings |
objek | Wajib | Dipetakan ke skema GenerationSettings |
Pemilihan model dan parameter konteks. |
evolutionSettings |
objek | Wajib | Dipetakan ke skema EvolutionSettings |
Parameter pemilihan induk dan keragaman. |
notes |
string | Wajib | Maksimal 1.000 karakter | Anotasi opsional untuk dokumentasi proses. |
RunSettings
Mengatur kecepatan throughput, batas paralelisme, dan waktu tunggu sistem otomatis.
| Nama Kolom | Jenis | Default | Batasan / Batas Nilai | Deskripsi Teknis |
|---|---|---|---|---|
maxPrograms |
int32 | 100 | Min: 1, Maks: 100000 | Total anggaran eksekusi (program untuk membuat dan mengevaluasi). |
concurrency |
int32 | 1 | Min: 1, Maks: 30 | Jumlah mutasi program paralel yang aktif dalam antrean. Nilai >30 tidak diizinkan. |
maxDuration |
string | null | String dayTimeDuration ISO 8601 Min: >=0, Maks: 7 Hari |
Total waktu nyata yang diizinkan sebelum eksperimen dihentikan. |
idleTimeout |
string | null | String dayTimeDuration ISO 8601 Min: >=0, Maks: 24 Jam |
Durasi tidak aktif sebelum transisi otomatis ke `DIJEDA`. |
Setelan pembuatan
Skema GenerationSettings mengontrol perakitan perintah, periode konteks,
dan konfigurasi model untuk mutasi:
context(string): Dokumentasi referensi, API tambahan, atau aturan opsional yang disediakan pengguna. Sebaiknya gunakan kurang dari 200.000 token. Ukuran konteks yang melebihi 200.000 token akan mengurangi perhatian model dan menurunkan kualitas mutasi.includeFullProgramInPrompt(bool): Defaultfalse.true: Perintah mutasi mencakup# EVOLVE-BLOCKyang dapat diubah dan boilerplate yang tidak dapat diubah di sekitarnya (sangat direkomendasikan untuk penalaran struktural yang kompleks).false: Hanya blok yang dapat diubah yang terlihat, menyimpan konteks token.
Setelan evolusi
Skema EvolutionSettings mengontrol penanaman ulang model pulau dan probabilitas pengambilan sampel induk:
parentSamplingConfig→paretoSamplingConfig→paretoSamplingProbability(float): Probabilitas (0,0 hingga 1,0) untuk memilih sampel program induk langsung dari batas Pareto aktif, bukan menggunakan pemilihan berbasis kebugaran standar. Parameter ini harus disetel ke0.0(dinonaktifkan) jika metrik yang dioptimalkan hanya menampilkan satu metrik skalar.
Model data program kandidat
Bagian ini menguraikan skema dan representasi data yang digunakan untuk menentukan dan mengatur struktur kode kandidat dalam database populasi.
AlphaEvolveProgramContent
Mendefinisikan file dan struktur program kandidat.
files(arrayAlphaEvolveSourceFile): Daftar semua file yang membentuk codebase kandidat. Koleksi ini dibatasi hingga maksimum 50 file per program kandidat.description(string): Ringkasan yang dibuat secara otomatis yang menguraikan perubahan terprogram yang disarankan oleh model pembuatan (Maks. 1.000 karakter).
AlphaEvolveSourceFile
Mewakili setiap file kode sumber dalam codebase.
path(string): Tujuan jalur relatif ruang kerja (Maks. 256 karakter). Jika mengonfigurasi ruang kerja Python, titik entri file yang dapat dieksekusi utama harus diberi nama"initial_program.py".content(string): String kode sumber mentah yang terdiri dari blok implementasi fungsional. Total jejak codebase kumulatif yang digabungkan di semua file harus kurang dari 4.000 hingga 5.000 baris kode (LOC).programLanguage(string): Tag pemetaan parser bahasa. String ini harus cocok secara eksplisit dengan bahasa yang ditetapkan dalam konfigurasi eksperimen induk.description(string): Ringkasan opsional yang menguraikan arsitektur atau tujuan file secara individual, yang ditampilkan ke LLM selama proses mutasi (Maks. 500 karakter).
AlphaEvolveProgramEvaluation
Payload terstruktur yang dikirimkan oleh instance pelari klien kembali ke database evolusioner setelah eksekusi runtime.
scores(AlphaEvolveScores): Nilai metrik numerik yang distandardisasi dan objektif. Praktik terbaik mengharuskan pembatasan ini menjadi 3 hingga 5 metrik float yang berbeda; dimensi target yang berlebihan menurunkan performa pembanding Pareto multi-tujuan.insights(arrayAlphaEvolveEvaluationInsight): Label semantik diagnostik dan rekaman aktivitas eksekusi bahasa alami yang dikirim kembali untuk membantu upaya pembuatan mutasi berikutnya oleh LLM (Maksimum 10 item yang direkomendasikan).
Format perumusan dan penyerapan skor
Aturan memaksimalkan
AlphaEvolve pada dasarnya beroperasi sebagai algoritma pendakian bukit monoton dan
secara ketat memaksimalkan semua metrik numerik. Jika pipeline evaluasi Anda melacak target minimisasi (seperti meminimalkan latensi aplikasi dalam milidetik atau mengurangi penggunaan memori), Anda harus meniadakan nilai sebelum mengirimkannya kembali ke database: submitted_score = -latency_ms.
Idealnya, skor harus berkelanjutan. Metrik Boolean atau sangat diskrit tidak memberikan sinyal gradien yang memadai untuk eksplorasi pendakian bukit yang efektif.
Skema penyerapan satu tujuan
Gunakan JSON berikut saat harness evaluasi Anda mengoptimalkan fungsi objektif skalar tunggal.
```json
{
"scores": {
"scores": [
{
"metric": "accuracy",
"score": 0.95
}
]
},
"insights": {
"insights": [
{
"label": "validation",
"text": "Passed syntax and basic compilation."
}
]
}
}
```
Skema penyerapan multi-objektif
Gunakan JSON berikut saat meneruskan parameter pelacakan multi-objektif independen untuk mengaktifkan rutin pengoptimalan batas Pareto sisi server.
{
"scores": {
"scores": [
{
"metric": "accuracy",
"score": 0.95
},
{
"metric": "latency",
"score": -42.5
}
]
},
"insights": {
"insights": [
{
"label": "verification",
"text": "Passed 5 out of 5 unit tests."
},
{
"label": "latency_warning",
"text": "Latency regression of 3% observed on large dataset."
}
]
}
}
Mengambil dan membuat kueri data program
Sistem AlphaEvolve mencatat telemetri, metrik eksekusi, dan kode sumber lengkap setiap mutasi yang dihasilkan, sehingga developer dapat membuat kueri datastore historis ini menggunakan API atau CLI untuk melacak progres pengoptimalan dan mengekstrak kandidat kode berperforma terbaik.
Pengambilan program menggunakan REST API
Resource program yang dievaluasi dapat dikueri dari database menggunakan endpoint ListAlphaEvolvePrograms standar dengan parameter kueri pemfilteran dan pengurutan:
Pemfilteran status: Kueri program yang cocok dengan status siklus proses tertentu:
GET /v1alpha/{parent}/alphaEvolvePrograms?state_filter=COMPLETEDPengurutan berbasis metrik: Mengambil kandidat yang diurutkan berdasarkan metrik yang dioptimalkan:
GET /v1alpha/{parent}/alphaEvolvePrograms?order_by=accuracy desc,latency&page_size=5
Pengambilan program menggunakan CLI
Untuk menarik kandidat yang menyelesaikan paling banyak tugas langsung dari terminal, jalankan perintah berikut:
ae results best <experiment-nickname> --top 5
Contoh penggunaan CLI lengkap
CLI AlphaEvolve memberi developer kontrol administratif dan pemantauan cepat atas kampanye langsung dari shell:
Mencantumkan semua eksperimen dalam sesi percakapan:
ae experiment listMencantumkan semua program kandidat yang dimutasi untuk eksperimen tertentu:
ae program list EXPERIMENT_NICKNAME \ --state=COMPLETED \ --order_by="accuracy desc"Ganti EXPERIMENT_NICKNAME dengan nama eksperimen Anda.
Mengambil kandidat kode yang telah diselesaikan dengan performa terbaik:
ae results best EXPERIMENT_NICKNAME --top 5Ganti EXPERIMENT_NICKNAME dengan nama eksperimen Anda.
Melanjutkan kampanye yang dijeda:
ae experiment resume EXPERIMENT_NICKNAMEGanti EXPERIMENT_NICKNAME dengan nama eksperimen Anda.
Direktori endpoint Core REST API
Semua endpoint diberi versi di bagian v1alpha dari Google Cloud Discovery Engine API.
Pola jalur resource induk
URI resource induk bertingkat yang sebenarnya disusun sebagai:
projects/{project}/locations/{location}/collections/{collection}/
engines/{engine}/sessions/{session}
Buat eksperimen (POST)
Jalur:
POST v1alpha/{parent=projects/*/locations/*/collections/*/engines/*/sessions/*}/alphaEvolveExperimentsIsi permintaan:
AlphaEvolveExperimentConfig(Lihat Pasal 2.1)Respons: Resource
AlphaEvolveExperimentyang berisi kampanye yang diinisialisasi.Status HTTP: 200 OK
Contoh payload API
Contoh isi permintaan (POST /alphaEvolveExperiments)
{ "config": { "title": "Sorting Optimization Campaign", "problemDescription": "Optimize the custom_heuristic function.", "programLanguage": "python", "notes": "Exploring convergence with Gemini 3.5 Flash.", "runSettings": { "maxPrograms": 250, "concurrency": 8, "maxDuration": "86400s", "idleTimeout": "1800s" }, "generationSettings": { "context": "Ensure custom_heuristic is in-place.", "includeFullProgramInPrompt": true, "models": [ { "name": "gemini-3.5-flash", "weight": 1.0 } ] }, "evolutionSettings": { "parentSamplingConfig": { "paretoSamplingConfig": { "paretoSamplingProbability": 0.0 } } } } }Contoh isi respons (200 OK)
{ "name": "projects/.../sort-opt-01", "state": "CREATED", "createTime": "2026-06-23T13:30:00Z", "config": { "title": "Sorting Optimization Campaign", "problemDescription": "Optimize the custom_heuristic function.", "programLanguage": "python", "notes": "Exploring convergence with Gemini 3.5 Flash.", "runSettings": { "maxPrograms": 250, "concurrency": 8, "maxDuration": "86400s", "idleTimeout": "1800s" }, "generationSettings": { "context": "Ensure custom_heuristic is in-place.", "includeFullProgramInPrompt": true, "models": [ { "name": "gemini-3.5-flash", "weight": 1.0 } ] }, "evolutionSettings": { "parentSamplingConfig": { "paretoSamplingConfig": { "paretoSamplingProbability": 0.0 } } } } }
Mulai eksperimen (POST)
Jalur:
POST v1alpha/{name=projects/*/locations/*/collections/*/engines/*/sessions/*/alphaEvolveExperiments/*}:startIsi permintaan:
StartExperimentRequestPeringatan penghentian penggunaan: Kolom body
initialProgramtidak digunakan lagi dan diabaikan.Respons:
GoogleLongrunningOperation(LRO).Status HTTP: 200 OK (Mengubah status dari
CREATEDmenjadiRUNNING)
Contoh payload API
Contoh isi permintaan
{ "desiredProgramsCount": 1 }Contoh isi respons (200 OK - operasi yang berjalan lama)
{ "name": "projects/.../operations/start-op-7788", "metadata": { "@type": "type.googleapis.com/.../AlphaEvolveStartExperimentMetadata", "createTime": "2026-06-23T13:31:00Z" }, "done": false }
Mendapatkan program (POST)
Jalur:
POST v1alpha/{parent=projects/*/locations/*/collections/*/engines/*/sessions/*/alphaEvolveExperiments/*}:acquireProgramsIsi permintaan:
AcquireProgramsRequestdesiredProgramsCount(int32): Jumlah batch opsional program yang diubah untuk diambil (defaultnya 1 jika tidak disetel).
Status respons:
200 OK: Menampilkan respons yang berisi resourceAlphaEvolveProgramyang dikunci.204 No Content: Antrean kosong atau kampanye dijeda. Runner harus tidur (misalnya, 15 detik) dan mencoba lagi.
Contoh payload API
Contoh isi permintaan
{ "desiredProgramsCount": 1 }Contoh isi respons (200 OK)
{ "programs": [ { "name": "projects/.../alphaEvolvePrograms/prog-102", "lockToken": "token_uuid_8877_x99", "state": "EVALUATING", "createTime": "2026-06-23T13:32:00Z", "content": { "description": "Mutated candidate program.", "files": [ { "path": "initial_program.py", "programLanguage": "python", "description": "Primary sorting executable.", "content": "def custom_heuristic(arr, _):\n ..." } ] } } ] }Contoh isi respons (204 No Content)
Status HTTP 204 ditampilkan dengan konteks payload kosong.
Mengirimkan evaluasi program (POST)
Jalur:
POST v1alpha/{parent=projects/*/locations/*/collections/*/engines/*/sessions/*/alphaEvolveExperiments/*}:submitProgramsEvaluationsIsi permintaan:
SubmitProgramsEvaluationsRequestevaluationSubmissions(array): BerisilockTokenyang cocok, jalur resource program yang memenuhi syarat, dan payload evaluasi (skor dan insight).
Respons:
SubmitProgramsEvaluationsResponse(kosong).Status HTTP: 200 OK (Menyimpan skor, melepaskan kunci aktif, dan mendaftarkan insight)
Contoh payload API
Contoh isi permintaan
{ "evaluationSubmissions": [ { "lockToken": "token_uuid_8877_x99", "program": "projects/.../alphaEvolvePrograms/prog-102", "evaluation": { "scores": { "scores": [ { "metric": "latency_performance", "score": evaluation_payload["score"] } ] }, "insights": { "insights": [ { "label": "benchmark", "text": "Completed test case in 12.45ms." } ] } } } ] }Contoh isi respons (200 OK)
{}
Lanjutkan eksperimen (POST)
Jalur:
POST v1alpha/{name=projects/*/locations/*/collections/*/engines/*/sessions/*/alphaEvolveExperiments/*}:resumeIsi permintaan:
ResumeExperimentRequestRespons:
GoogleLongrunningOperation(LRO).Status HTTP: 200 OK (Mengubah status dari
PAUSEDkembali keRUNNING)
Contoh payload API
Contoh isi permintaan
{}Contoh isi respons (200 OK - operasi yang berjalan lama)
{
"name": "projects/.../operations/resume-op-9900",
"metadata": {
"@type": "type.googleapis.com/.../AlphaEvolveResumeExperimentMetadata",
"createTime": "2026-06-23T13:45:00Z"
},
"done": false
}
Mencantumkan program (GET)
Jalur:
GET v1alpha/{parent=projects/*/locations/*/collections/*/engines/*/sessions/*/alphaEvolveExperiments/*}/alphaEvolveProgramsParameter kueri:
stateFilter(string): Opsional. Filter daftar standar, misalnya,stateFilter = 'COMPLETED'.orderBy(string): Opsional. Pengurutan berbasis metrik, misalnya,accuracy desc.
Respons:
ListAlphaEvolveProgramsResponse.Status HTTP: 200 OK
Contoh payload API
Contoh URL kueri permintaan
GET v1alpha/projects/.../alphaEvolveExperiments/sort-opt-01/ alphaEvolvePrograms?stateFilter=COMPLETED&orderBy=latency_performance%20desc &pageSize=1Contoh isi respons (200 OK)
{ "alphaEvolvePrograms": [ { "name": "projects/.../alphaEvolvePrograms/prog-102", "state": "COMPLETED", "createTime": "2026-06-23T13:32:00Z", "evaluation": { "scores": { "scores": [ { "metric": "latency_performance", "score": -12.45 } ] }, "insights": { "insights": [ { "label": "benchmark", "text": "Completed test case in 12.45ms." } ] } } } ], "nextPageToken": "token_page_1_next" }
Kode diagnostik dan referensi pemecahan masalah
Matriks kode diagnostik API
| Status HTTP | Jenis error | Penyebab sistem | Solusi atau tindakan mitigasi |
|---|---|---|---|
| 400 | INVALID_ARGUMENT |
Tag komentar # EVOLVE-BLOCK-START/# EVOLVE-BLOCK-END tidak ada; sintaksis skema JSON tidak valid; batas file atau LOC terlampaui. |
Pastikan komentar blok ditempatkan dalam isi fungsi menggunakan sintaksis bahasa target yang valid. Pastikan jumlah file dan batas LOC dipatuhi. |
| 403 | PERMISSION_DENIED |
Pengguna atau akun layanan tidak memiliki peran Pengguna Discovery Engine atau lisensi Gemini Enterprise yang ditetapkan. | Verifikasi lisensi Gemini Enterprise yang aktif.
Pastikan kredensial default aplikasi dikonfigurasi dengan benar untuk
pengguna dan project dengan menjalankan:gcloud auth
application-default login
--project=<<PROJECT_ID>>Catatan: Model Armor tidak didukung dalam konfigurasi AlphaEvolve. |
| 408 | LOCK_TIMEOUT |
Runner klien melampaui durasi eksekusinya; kunci program berakhir di antrean. | Terapkan waktu tunggu sisi klien yang ketat selama 30 menit. Jika terlampaui, segera kirimkan skor penalti kegagalan untuk menghapus kunci antrean. |
| 429 | RESOURCE_EXHAUSTED |
Melebihi batas eksekusi serentak aktif atau kuota model. | Terapkan backoff eksponensial sisi klien;
konfigurasi setelan serentak yang konservatif di dalam
RunSettings. |
| 503 | SERVICE_UNAVAILABLE |
Layanan backend kelebihan beban atau sedang dalam pemeliharaan. | Terapkan loop percobaan ulang dengan backoff eksponensial acak di sisi klien. |
Memperbaiki "drop senyap"
Penyadapan filter keamanan (penghapusan senyap) terjadi saat model bahasa sisi server menandai dan menghapus perintah kandidat yang diubah karena frasa sensitif atau pemicu aturan keamanan. Server membungkam output, sehingga antrean menampilkan respons kosong, dan peluncur klien mungkin menunggu tanpa batas.
Perbaikan solusi:
Menghapus konteks: Menghapus frasa yang memicu emosi atau sensitif terhadap keamanan dari
problemDescription.Insight filter: Mengurai dan memangkas rekaman aktivitas pengecualian mentah atau log stderr terminal dalam payload
insightsuntuk mencegah pengulangan konten sistem yang tidak aman yang memicu filter hilir.Melokalkan set data: Jangan menempatkan rekaman pelatihan atau korpus teks besar dalam perintah; muat secara lokal di lingkungan klien selama eksekusi loop evaluasi.
Praktik terbaik evaluasi sisi klien
Hambatan "kode spaghetti"
Pemformatan sumber yang tidak optimal menurunkan kualitas pengoptimalan: "Kode spaghetti ==
Ruang penelusuran yang berisik". Sebelum menempatkan penanda EVOLVE-BLOCK:
Refaktorkan blok kode sehingga variabel dan tanda tangan fungsi diberi nama dengan jelas.
Tambahkan docstring deskriptif dan ringkas yang menjelaskan fungsi atau variabel dan alasannya.
Pastikan semua dependensi eksternal yang tidak dapat diubah (seperti mengimpor modul helper atau memuat data statis) berada di luar
# EVOLVE-BLOCK.
Alokasi jendela konteks
Untuk memaksimalkan kreativitas mutasi, batasi payload kode yang dikirim ke API. Konteks program total harus tetap di bawah 150.000 hingga 200.000 token. Blok besar boilerplate statis yang tidak dapat diubah menggunakan perhatian model dan menurunkan performa. Pindahkan skrip utilitas, pipeline penyerapan data, dan library validasi berat sepenuhnya ke evaluator sisi klien.
Siapkan program awal terlebih dahulu
Sebelum menjalankan AlphaEvolve, gunakan agen coding standar untuk men-debug codebase awal dan evaluator Anda:
Menyiapkan bibit: Memperbaiki bug sintaksis yang jelas, masalah kompilasi, dan kasus ekstrem.
Verifikasi skor awal: Verifikasi bahwa skor dasar sudah wajar dan evaluator sepenuhnya deterministik (kode yang sama + input yang sama = skor yang sama).
Uji dengan input yang tidak valid: Jalankan evaluator dengan fungsi yang sengaja rusak untuk mengonfirmasi bahwa evaluator menangkap masalah compiler, menangani loop tanpa henti dengan baik, dan menampilkan skor penalti negatif yang tinggi.
Menghindari dasar yang terlalu dioptimalkan
Jangan meneruskan program dasar yang sudah sangat dioptimalkan sebagai titik awal. Jika program awal Anda sudah hampir optimal, AlphaEvolve akan kesulitan melakukan pendakian bukit karena hanya ada sedikit ruang untuk peningkatan. Mulailah dengan dasar pengukuran yang wajar, tetapi tidak dioptimalkan secara maksimal. Hal ini memberi ruang bagi AlphaEvolve untuk menjelajahi dan menaikkan bukit.
Pengamanan peluncur sisi klien
Evaluator sisi klien harus menerapkan perlindungan ketat untuk mencegah kandidat berbahaya, yang menggunakan banyak resource, atau tidak responsif menghentikan pekerja paralel:
Waktu tunggu yang ketat: Menerapkan batas waktu eksekusi yang ketat selama 30 menit (atau kurang, bergantung pada struktur ruang penelusuran).
Pengiriman penalti waktu tunggu: Jika varian program kandidat melampaui batas waktu tunggu, segera hentikan thread eksekusinya. Jangan izinkan proses kandidat gagal. Sebagai gantinya, kompilasi dan kirimkan skor penalti kegagalan berat (misalnya,
-100000.0) secara instan bersama dengan insight debug deskriptif kembali ke server untuk melepaskan kunci antrean program.Filter keamanan AST: Selalu jalankan pemeriksaan Abstract Syntax Tree (AST) pada payload kode sumber yang masuk sebelum kompilasi. Segera batalkan eksekusi dan terapkan penalti kegagalan berat jika primitif eksekusi atau refleksi yang dibatasi (seperti
eval,exec,getattr, atausetattr) terdeteksi.
Aset lainnya
Untuk informasi selengkapnya, lihat referensi berikut:
- AlphaEvolve di Google Cloud repositori GitHub
- Referensi AlphaEvolve REST API
- Referensi AlphaEvolve RPC API