Padrões de implementação do avaliador

Ao criar métricas de avaliação para um ambiente de avaliação do AlphaEvolve, estabeleça os três níveis de teste distintos a seguir.

Nível 1: testes de validação da solução

Esses testes verificam a segurança básica de execução de código e a conformidade com a política antes da execução completa.

  • Segurança de execução: verifique se o código é executado. Isso inclui revisar a sintaxe, verificar o tempo de compilação, realizar análises estáticas e verificar a compatibilidade da infraestrutura.

  • Política de execução: determine se o código deve ser executado mesmo que seja funcional. Isso inclui linting, verificações gerais de qualidade do código, análises de InfoSec, validação de risco e conformidade e verificações da cadeia de suprimentos de API.

Considerações:

  • Se a validação falhar, retorne uma pontuação negativa alta, como -10000 ou -100000. O AlphaEvolve ignora esses programas.

  • Inclua o tipo de falha e os registros para depuração. Embora o AlphaEvolve não use esses metadados como um indicador de pesquisa, eles são úteis para a análise a posteriori de modos de falha.

Nível 2: testes de verificação da solução

Esses testes verificam a correção algorítmica e a adesão às restrições usando testes funcionais e de unidade.

  • Precisão funcional: verifique se o código se comporta corretamente usando testes de unidade e funcionais.

  • Obediência à restrição: verifique a viabilidade da solução ou a satisfação da restrição.

  • Mitigação de invasão de recompensas: aplique pontuações de verificação como penalidades negativas à função de aptidão para evitar invasão de recompensas. Declarar uma pontuação de -10000 ou -100000 serve como uma penalidade eficaz.

Considerações:

  • Retorne o número ou a porcentagem de testes aprovados. Essa abordagem fornece um sinal de gradiente. Um programa que passa em 4 de 5 testes é reconhecido como mais próximo do correto do que um que passa em 0 de 5.

  • Trate a verificação como satisfação de restrição flexível. Mesmo para restrições rígidas do sistema, expressá-las como penalidades leves com base na proximidade do espaço viável dá ao AlphaEvolve um indicador de pesquisa mais útil do que uma aprovação ou reprovação binária.

Nível 3: testes de avaliação da solução (testes de desempenho)

Esses testes medem métricas objetivas de performance, dependendo do tipo de meta de otimização.

  • Medição direta: rastreie objetivos diretamente onde a instrumentação permite.

  • Estimativas determinísticas: calculam objetivos analiticamente para estilos clássicos de pesquisa operacional.

  • Validação fora da amostra: teste com conjuntos de dados de validação para casos de uso que envolvem otimização de pipeline de machine learning ou ajuste de plataforma de agente.

  • Estimativas baseadas em simulação: use simulações de Monte Carlo via cadeias de Markov (MCMC), funções proxy de otimização bayesiana ou outras abordagens baseadas em modelos.

Considerações:

  • Retorna pontuações granulares e agregadas.

  • Não transfira o cálculo da pontuação para o LLM. Calcule-o de forma determinística na sua estrutura de avaliação. O AlphaEvolve faz uma busca local em relação a essas pontuações de desempenho agregado pré-calculadas.

  • O crédito parcial fornece um sinal de gradiente que acelera a convergência da pesquisa. Por exemplo, um programa que passa em quatro de cinco testes deve receber uma pontuação de 0.8 em vez de None. Retornar None faz com que o AlphaEvolve ignore o programa completamente, eliminando o feedback útil. Uma pontuação de 0.8 indica que o candidato está quase correto e tem potencial viável para otimização.