Quando progetti le metriche di valutazione per un framework 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 di codice e la conformità alle policy 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.
Criterio di esecuzione: determina se il codice deve essere eseguito anche se è funzionale. Ciò include linting, controlli generali della qualità del codice, revisioni di InfoSec, convalida dei rischi e della conformità e 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 l'aderenza ai vincoli utilizzando test delle unità e funzionali.
Accuratezza funzionale: verifica se il codice si comporta correttamente utilizzando test funzionali e delle unità.
Rispetto dei vincoli: verifica la fattibilità della soluzione o la soddisfazione dei vincoli.
Mitigazione del reward hacking: applica i punteggi di verifica come penalità negative alla funzione di fitness per impedire il reward hacking. L'assegnazione di un punteggio pari a
-10000o-100000funge da penalità effettiva.
Considerazioni:
Restituisce il numero o la percentuale di test superati. Questo approccio fornisce un segnale di gradiente; un programma che supera 4 test su 5 viene riconosciuto come più vicino alla correttezza rispetto a uno che ne supera 0 su 5.
Tratta la verifica come una soddisfazione di vincoli non rigidi. Anche per i vincoli di sistema rigidi, esprimerli come penalità flessibili basate sulla vicinanza allo spazio fattibile fornisce ad AlphaEvolve un segnale di ricerca più utilizzabile rispetto a un esito positivo o negativo binario.
Livello 3: test di valutazione della soluzione (test delle prestazioni)
Questi test misurano le metriche sul rendimento oggettive in base al tipo di target di ottimizzazione.
Misurazione diretta: monitora gli obiettivi direttamente dove la strumentazione lo consente.
Stime deterministiche: calcola gli obiettivi in modo analitico per gli stili di ricerca operativa classica.
Convalida out-of-sample: esegui test su set di dati di convalida per 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 sia granulari che aggregati.
Non delegare il calcolo del punteggio all'LLM; calcolalo in modo deterministico all'interno del tuo framework di valutazione. AlphaEvolve esegue l'hill climbing in base a questi punteggi di rendimento aggregati precalcolati.
Il credito parziale fornisce un segnale di gradiente che accelera la convergenza della ricerca. Ad esempio, un programma che supera 4 test su 5 dovrebbe ricevere un punteggio di
0.8anzichéNone. La restituzione diNonefa sì che AlphaEvolve ignori completamente il programma, eliminando un feedback utile. Un punteggio di0.8indica che il candidato è quasi corretto e ha un potenziale valido per l'ottimizzazione.