Quando progetti le metriche di valutazione per un harness di valutazione AlphaEvolve, stabilisci i seguenti tre livelli di test distinti.
Livello 1: test di convalida della soluzione
Questi test verificano la sicurezza di base dell'esecuzione del codice e la conformità alle norme prima dell'esecuzione completa.
Sicurezza dell'esecuzione: verifica se il codice viene eseguito. Ciò include la revisione della sintassi, il controllo del tempo di compilazione, l'esecuzione dell'analisi statica e il controllo della compatibilità dell'infrastruttura.
Norme di esecuzione: determina se il codice deve essere eseguito anche se è funzionale. Ciò include il linting, i controlli generali della qualità del codice, le revisioni InfoSec, la convalida di rischi e conformità e i controlli della catena di fornitura delle API.
Considerazioni:
Se la convalida non va a buon fine, restituisci un punteggio negativo elevato, ad esempio
-10000o-100000. AlphaEvolve ignora questi programmi.Includi il tipo di errore e i log per il debug. Sebbene AlphaEvolve non utilizzi questi metadati come indicatore di ricerca, sono utili per l'analisi post-facto delle modalità di errore.
Livello 2: test di verifica della soluzione
Questi test verificano la correttezza algoritmica e il rispetto dei vincoli utilizzando test unitari e funzionali.
Precisione funzionale: verifica se il codice si comporta correttamente utilizzando test unitari e funzionali.
Rispetto dei vincoli: verifica la fattibilità della soluzione o la soddisfazione dei vincoli.
Mitigazione dell'hacking delle ricompense: applica i punteggi di verifica come penalità negative alla funzione di idoneità per impedire l'hacking delle ricompense. L'asserzione di un punteggio di
-10000o-100000funge da penalità efficace.
Considerazioni:
Restituisci il numero o la percentuale di test superati. Questo approccio fornisce un indicatore di gradiente; un programma che supera 4 test su 5 viene riconosciuto come più vicino alla correttezza rispetto a uno che supera 0 test su 5.
Considera la verifica come una soddisfazione dei vincoli soft. Anche per i vincoli di sistema rigidi, esprimerli come penalità soft in base alla prossimità allo spazio fattibile fornisce ad AlphaEvolve un indicatore di ricerca più utilizzabile rispetto a un superamento o un errore binario.
Livello 3: test di valutazione della soluzione (test delle prestazioni)
Questi test misurano le metriche di prestazione oggettive a seconda del tipo di obiettivo di ottimizzazione.
Misurazione diretta: monitora gli obiettivi direttamente dove lo strumento lo consente.
Stime deterministiche: calcola gli obiettivi in modo analitico per gli stili di ricerca operativa classici.
Convalida out-of-sample: esegui test sui set di dati di convalida per i casi d'uso che prevedono l'ottimizzazione della pipeline di machine learning o l'ottimizzazione dell'infrastruttura agentica.
Stime basate sulla simulazione: utilizza simulazioni Markov Chain Monte Carlo (MCMC), funzioni proxy di tipo ottimizzazione bayesiana o altri approcci basati su modelli.
Considerazioni:
Restituisci punteggi granulari e aggregati.
Non scaricare il calcolo del punteggio sull'LLM; calcolalo in modo deterministico all'interno dell'harness di valutazione. AlphaEvolve esegue l'hill climbing rispetto a questi punteggi di prestazione aggregati precalcolati.
Il credito parziale fornisce un indicatore di gradiente che accelera la convergenza della ricerca. Ad esempio, un programma che supera 4 test su 5 deve ricevere un punteggio di
0.8anzichéNone. La restituzione diNonefa sì che AlphaEvolve ignori completamente il programma, eliminando feedback utili. Un punteggio di0.8indica che il candidato è vicino alla correttezza e ha un potenziale di ottimizzazione praticabile.