Prevenção contra invasão de recompensas

Há vários riscos associados à invasão de recompensas. Consulte a seguir os riscos e as estratégias de mitigação correspondentes.

Risco 1:

Invasão de recompensa gananciosa. Se Obj = w1*S1 + w2*S2 + w3*S3, o AlphaEvolve poderá descobrir o S2 para aumentar e se concentrar totalmente nele, ignorando o S1 e o S3.

Mitigação:

Diminuir o peso da subpontuação. Pode ser necessário fazer de dois a três testes para calibrar as ponderações. Simulações preliminares de alguns resultados de pontuação ajudam.

Risco 2:

Ignorar penalidade de restrição. Se as restrições flexíveis forem penalidades (Obj = Score - w*Penalty), o AlphaEvolve poderá descobrir que ignorar as restrições gera um Obj maior.

Mitigação:

Aumente bastante a ponderação da penalidade. Se o comportamento persistir, adicione instruções explícitas na descrição do problema, como "Soluções que violam a restrição X são inválidas, independente da pontuação".

Risco 3:

Exploração da função de avaliação. O AlphaEvolve pode encontrar entradas que fazem com que o avaliador retorne pontuações artificialmente altas (casos extremos de usar pontos flutuantes, vazamento de dados de teste).

Mitigação:

Avaliação determinística com seeds aleatórias fixas. Validar os vencedores com base em dados retidos após o experimento.

Para evitar a invasão de recompensas, implemente as seguintes técnicas gerais:

  • Use verificações de AST para primitivos proibidos (sys, os, inspect, eval, exec, getattr, setattr) e retorne None se forem encontrados.

  • Verifique se o código fora de EVOLVE-BLOCK não mudou (diferença de texto ou AST).

  • Execute a função evoluída duas vezes com a mesma entrada e verifique se a saída é idêntica (detecta invasões de aleatoriedade).

  • Verifique o tempo de avaliação. Se ele terminar em microssegundos, provavelmente codificou a resposta.

  • Coloque a lógica de pontuação em um arquivo separado invisível para o LLM.