Padrões de implementação do avaliador

Ao projetar métricas de avaliação para um harness 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 da execução de código e a conformidade com as políticas antes da execução completa.

  • Segurança de execução de código: 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 precisa ser executado mesmo que seja funcional. Isso inclui linting, verificações gerais de qualidade do código, análises de segurança da informação, validação de risco e conformidade e verificações da cadeia de suprimentos da 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 posterior 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 unitários e funcionais.

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

  • Aderência a restrições: verifique a viabilidade da solução ou a satisfação das restrições.

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

Considerações:

  • Retorna 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 uma satisfação de restrição flexível. Mesmo para restrições rígidas do sistema, expressá-las como penalidades flexíveis com base na proximidade do espaço viável dá ao AlphaEvolve um sinal de pesquisa mais útil do que uma aprovação ou reprovação binária.

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

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

  • Medição direta: acompanhe os objetivos diretamente onde a instrumentação permitir.

  • Estimativas determinísticas: calcule objetivos de forma analítica para estilos clássicos de pesquisa de operações.

  • Validação fora da amostra: teste em conjuntos de dados de validação para casos de uso que envolvem a otimização de pipelines de machine learning ou o ajuste da estrutura de agentes.

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

Considerações:

  • Retorne pontuações granulares e agregadas.

  • Não transfira o cálculo da pontuação para o LLM. Calcule-o de forma determinística no seu harness de avaliador. O AlphaEvolve faz uma escalada de colina em relação a essas pontuações de desempenho agregadas 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 4 de 5 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 feedback útil. Uma pontuação de 0.8 indica que o candidato está próximo do correto e tem potencial viável para otimização.