Pattern di implementazione del valutatore

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 -10000 o -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 -10000 o -100000 funge 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.8 anziché None. La restituzione di None fa sì che AlphaEvolve ignori completamente il programma, eliminando feedback utili. Un punteggio di 0.8 indica che il candidato è vicino alla correttezza e ha un potenziale di ottimizzazione praticabile.