Prevenzione dell'hacking dei premi

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 None se trovate.

  • Verifica che il codice al di fuori di EVOLVE-BLOCK sia 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.