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 la verifica della compatibilità dell'infrastruttura.
Execution policy (Criterio di esecuzione): determina se il codice deve essere eseguito anche se è funzionale. Ciò include linting, controlli generali della qualità del codice, revisioni InfoSec, convalida di rischi e conformità e controlli della catena di fornitura 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. Anche se AlphaEvolve non utilizza questi metadati come indicatore di ricerca, sono utili per l'analisi a posteriori delle modalità di errore.
Livello 2: test di verifica della soluzione
Questi test verificano la correttezza algoritmica e il rispetto dei vincoli utilizzando test funzionali e delle unità.
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 dell'hacking delle ricompense: applica i punteggi di verifica come penalità negative alla funzione di idoneità per impedire l'hacking delle ricompense. L'assegnazione di un punteggio di
-10000o-100000funge da penalità efficace.
Considerazioni:
Restituisce 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 ne supera 0 su 5.
Considera la verifica come soddisfacimento di un vincolo non rigido. Anche per i vincoli rigidi del sistema, esprimerli come penalità soft in base alla prossimità allo spazio fattibile fornisce ad AlphaEvolve un indicatore di ricerca più pratico rispetto a un risultato binario (superato o non superato).
Livello 3: test di valutazione della soluzione (test delle prestazioni)
Questi test misurano le metriche di rendimento 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 classici di ricerca operativa.
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 la regolazione dell'agente.
Stime basate sulla simulazione: utilizza simulazioni Markov Chain Monte Carlo (MCMC), funzioni proxy di tipo ottimizzazione bayesiana o altri approcci basati su modelli.
Considerazioni:
Restituisce sia i punteggi granulari che quelli aggregati.
Non scaricare il calcolo del punteggio sull'LLM; calcolalo in modo deterministico all'interno dell'ambiente di test del valutatore. AlphaEvolve esegue le salite in collina 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 feedback utili. Un punteggio di0.8indica che il candidato è quasi corretto e ha un potenziale valido per l'ottimizzazione.