Prevención de hackeo de recompensas

Existen varios riesgos asociados con el hackeo de recompensas. Consulta la siguiente información sobre los riesgos y las estrategias de mitigación correspondientes.

Riesgo 1:

Ataque de recompensa 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:

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

Riesgo 2:

Se ignora la penalización por 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 forma 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 devuelva puntuaciones artificialmente altas (casos extremos de números de punto flotante, filtración de datos de prueba).

Mitigación:

Evaluación determinística con semillas aleatorias fijas. Valida los ganadores con los datos de exclusión después del experimento.

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

  • Usa verificaciones de AST para detectar primitivas prohibidas (sys, os, inspect, eval, exec, getattr, setattr) y devuelve None si se encuentran.

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

  • Ejecuta la función evolucionada dos veces con la misma entrada y verifica que la salida sea idéntica (detecta la manipulación de la aleatoriedad).

  • Verifica el tiempo de evaluación. Si termina en microsegundos, es probable que la respuesta esté codificada.

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