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 a ponderação da subpontuação. Pode exigir de 2 a 3 execuções de teste para calibrar as ponderações. 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 substancialmente a ponderação da penalidade. 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 usar pontos flutuantes, 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 está inalterado (diferença de texto ou AST).

  • Execute a função evoluída duas vezes com a mesma entrada e verifique a saída idêntica (detecta a 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.