Prevenção contra invasão de recompensas

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

Risco 1:

Invasão de recompensas 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:

Diminua o peso da subpontuação. Pode ser necessário executar 2 ou 3 testes para calibrar os pesos. Simulações de referência preliminares de alguns resultados de pontuação ajudam.

Risco 2:

Ignorar a 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 o peso da penalidade substancialmente. Se o comportamento persistir, adicione instruções explícitas na descrição do problema, como "As soluções que violam a restrição X são inválidas, independentemente 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 ponto flutuante, vazamento de dados de teste).

Mitigação:

Avaliação determinista com sementes aleatórias fixas. Valide os vencedores nos 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 encontrados.

  • Verifique se o código fora de EVOLVE-BLOCK não foi alterado (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ão de aleatoriedade).

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

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