Ao criar métricas de avaliação para um harness de avaliação do AlphaEvolve, estabeleça estes três níveis de teste distintos.
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 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 precisa ser executado mesmo que seja funcional. Isso inclui linting, verificações gerais de qualidade do código, revisões 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 a posteriori dos modos de falha.
Nível 2: testes de verificação da solução
Esses testes verificam a correção algorítmica e a aderência às restrições usando testes de unidade 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 hacking de recompensa: aplique pontuações de verificação como penalidades negativas à função de adequação para evitar o hacking de recompensa. Declarar uma pontuação de
-10000ou-100000serve como uma penalidade eficaz.
Considerações:
Retorne o número ou a porcentagem de testes aprovados. Essa abordagem fornece um indicador 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 flexíveis com base na proximidade do espaço viável oferece ao AlphaEvolve um indicador de pesquisa mais acionável 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 desempenho, dependendo do tipo de meta de otimização.
Medição direta: acompanhe os objetivos diretamente onde a instrumentação permitir.
Estimativas determinísticas: calcule os objetivos analiticamente para estilos clássicos de pesquisa operacional.
Validação fora da amostra: teste em relação a conjuntos de dados de validação para casos de uso que envolvem otimização de pipeline de machine learning ou ajuste do harness do agente.
Estimativas baseadas em simulação: use simulações de Monte Carlo via cadeias de Markov (MCMC), funções de proxy de otimização bayesiana ou outras abordagens baseadas em modelo.
Considerações:
Retorne pontuações granulares e agregadas.
Não descarregue o cálculo da pontuação para o LLM. Calcule-o de forma determinística no harness do avaliador. O AlphaEvolve faz uma escalada de montanha em relação a essas pontuações de desempenho agregadas pré-calculadas.
O crédito parcial fornece um indicador de gradiente que acelera a convergência da pesquisa. Por exemplo, um programa que passa em 4 de 5 testes precisa receber uma pontuação de
0.8em vez deNone. RetornarNonefaz com que o AlphaEvolve ignore o programa completamente, eliminando o feedback útil. Uma pontuação de0.8indica que o candidato está quase correto e tem potencial viável para otimização.