Esistono diversi rischi associati all'hacking dei premi. Consulta la sezione seguente per i rischi e le strategie di mitigazione corrispondenti.
Rischio 1:
Hacking di premi avidi. 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:
Diminuisci il peso del punteggio secondario. Potrebbero essere necessarie 2-3 prove per calibrare i pesi. Le simulazioni preliminari di riferimento di alcuni risultati di punteggio sono utili.
Rischio 2:
Ignorare la sanzione per violazione del vincolo. Se i vincoli flessibili sono penalità
(Obj = Score - w*Penalty), AlphaEvolve potrebbe scoprire che ignorare i vincoli
produce un Obj più elevato.
Mitigazione:
Aumentare in modo sostanziale la ponderazione 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 inducano il valutatore a restituire punteggi artificialmente elevati (casi limite in virgola mobile, perdita di dati di test).
Mitigazione:
Valutazione deterministica con seed casuali fissi. Convalida i vincitori sui dati messi da parte 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 trovate.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 è codificata.
Inserisci la logica di valutazione in un file separato invisibile al LLM.