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
-10000ou-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
-10000ou-100000serve 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.8em vez deNone. RetornarNonefaz com que o AlphaEvolve ignore o programa completamente, eliminando feedback útil. Uma pontuação de0.8indica que o candidato está próximo do correto e tem potencial viável para otimização.