Esistono diversi rischi associati all'hacking delle ricompense. Consulta la sezione seguente per 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 che S2 aumenta e concentrarsi interamente su questo, ignorando S1 e S3.
Mitigazione:
Diminuisci il peso del punteggio secondario. Potrebbero essere necessarie 2-3 prove per calibrare i pesi. Le simulazioni di base preliminari di alcuni risultati di punteggio sono utili.
Rischio 2:
Ignorare la penalità 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:
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 l'evaluator 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 di holdout 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-BLOCKnon sia stato modificato (diff 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 è hardcoded.
Inserisci la logica di punteggio in un file separato invisibile all'LLM.