Esistono diversi rischi associati all'hacking dei premi. Di seguito sono riportati i rischi e le relative strategie di mitigazione.
Rischio 1:
Hacking dei premi greedy. Se Obj = w1*S1 + w2*S2 + w3*S3, AlphaEvolve potrebbe scoprire S2 per aumentarlo e concentrarsi interamente su di esso, ignorando S1 e S3.
Mitigazione:
Riduci il peso del punteggio secondario. Potrebbe essere necessario eseguire 2-3 prove per calibrare i pesi. Le simulazioni di riferimento preliminari di alcuni risultati di punteggio sono utili.
Rischio 2:
Ignorare la penalità del vincolo. Se i vincoli soft sono penalità
(Obj = Score - w*Penalty), AlphaEvolve potrebbe scoprire che ignorare i vincoli
produce un Obj più elevato.
Mitigazione:
Aumenta notevolmente il peso della penalità. Se il comportamento persiste, aggiungi istruzioni esplicite nella descrizione del problema, ad esempio "Le soluzioni che violano il vincolo X non sono valide indipendentemente dal punteggio".
Rischio 3:
Sfruttamento della funzione di valutazione. AlphaEvolve potrebbe trovare input che fanno sì che il valutatore restituisca punteggi artificialmente elevati (casi limite di rappresentazione in virgola mobile, perdita di dati di test).
Mitigazione:
Valutazione deterministica con seed casuali fissi. Convalida i vincitori sui dati esclusi dopo l'esperimento.
Per evitare l'hacking dei premi, implementa le seguenti tecniche generali:
Utilizza i controlli AST per le primitive vietate (sys, os, inspect, eval, exec, getattr, setattr) e restituisci
Nonese le trovi.Verifica che il codice al di fuori di
EVOLVE-BLOCKsia invariato (differenza di testo o AST).Esegui la funzione evoluta due volte con lo stesso input e verifica che l'output sia identico (rileva l'hacking della casualità).
Controlla il tempo di valutazione. Se termina in microsecondi, probabilmente la risposta è stata codificata.
Inserisci la logica di punteggio in un file separato invisibile all'LLM.