Prevención de hackeo de recompensas

Existen varios riesgos asociados con el hackeo de recompensas. Consulta lo siguiente para conocer los riesgos y las estrategias de mitigación correspondientes.

Riesgo 1:

Hackeo de recompensas codicioso. Si Obj = w1*S1 + w2*S2 + w3*S3, AlphaEvolve puede descubrir S2 para aumentarlo y enfocarse por completo en él, ignorando S1 y S3.

Mitigación:

Disminuye el peso de la puntuación parcial. Es posible que se requieran de 2 a 3 ejecuciones de prueba para calibrar los pesos. Las simulaciones de referencia preliminares de algunos resultados de puntuación son útiles.

Riesgo 2:

Ignorar la penalización de restricción. Si las restricciones flexibles son penalizaciones (Obj = Score - w*Penalty), AlphaEvolve puede descubrir que ignorar las restricciones genera un Obj más alto.

Mitigación:

Aumenta el peso de la penalización de manera considerable. Si el comportamiento persiste, agrega instrucciones explícitas en la descripción del problema, como "Las soluciones que incumplen la restricción X no son válidas, independientemente de la puntuación".

Riesgo 3:

Explotación de la función de evaluación. AlphaEvolve puede encontrar entradas que hacen que el evaluador muestre puntuaciones artificialmente altas (casos extremos de punto flotante, filtración de datos de prueba).

Mitigación:

Evaluación determinista con semillas aleatorias fijas. Valida a los ganadores en los datos retenidos después del experimento.

Para evitar el hackeo de recompensas, implementa las siguientes técnicas generales:

  • Usa verificaciones de AST para primitivas prohibidas (sys, os, inspect, eval, exec, getattr, setattr) y muestra None si se encuentra alguna.

  • Verifica que el código fuera de EVOLVE-BLOCK no haya cambiado (diferencia de texto o AST).

  • Ejecuta la función evolucionada dos veces con la misma entrada y verifica que el resultado sea idéntico (detecta el hackeo de aleatoriedad).

  • Verifica el tiempo de evaluación. Si termina en microsegundos, es probable que haya codificado la respuesta de forma rígida.

  • Coloca la lógica de puntuación en un archivo separado que no sea visible para el LLM.