Abordagens de pontuação

Aplique os seguintes princípios de arquitetura ao determinar como pontuar, normalizar e penalizar as entradas de código candidatas no seu harness de avaliação.

Maximizar os objetivos diretamente

O AlphaEvolve realiza exclusivamente pesquisas de maximização, tratando cada meta de otimização como uma tarefa de escalada. Para minimizar uma métrica como latência ou taxas de erro, é necessário negar o valor final calculado: score = -latency_ms # AE maximizes -> minimizes latency.

Manter a monotonicidade estrita da função

Implemente apenas funções de pontuação monotônicas. A pontuação numérica retornada precisa aumentar de forma consistente à medida que as soluções candidatas melhoram. A incorporação de pontuações não monotônicas prejudica o desempenho da pesquisa e introduz inconsistências lógicas no caminho de otimização.

Fornecer métricas detalhadas e granulares

As pontuações detalhadas melhoram diretamente a qualidade geral da pesquisa. Mesmo ao otimizar para um único objetivo de negócio principal, incorporar métricas secundárias ou de proxy ajuda o AlphaEvolve a navegar em um espaço de pesquisa complexo de forma mais eficaz. Transmita subpontuações individuais de volta ao sistema como insights estruturados para que o LLM possa raciocinar explicitamente sobre as compensações de desempenho entre as gerações.

Recompensar o sucesso parcial em vez de resultados esparsos

Recompense o sucesso parcial em vez de depender inteiramente de resultados terminais ou binários. Sempre prefira um indicador de pontuação denso a um esparso.

Um objetivo binário ou de baixa resolução (por exemplo, rastrear partidas vencidas em um problema de jogo baseado em torneio) cria grandes estabilizações de desempenho em que vários candidatos empatam. Esse comportamento impede que o AlphaEvolve distinga um quase acerto de uma solução ruim, o que interrompe os loops de seleção de pais.

Para manter a direção do gradiente de pesquisa:

  • Adicione um subindicador detalhado: meça o progresso incremental em direção à meta final (como pontos individuais marcados em uma partida) para que o AlphaEvolve possa classificar candidatos empatados e subir em direção a espaços de solução promissores.

  • Alinhe o alinhamento e os pesos com cuidado: verifique se o subindicador está alinhado de forma monotônica com o objetivo verdadeiro e ponderado com segurança abaixo dele. Se não for ponderada corretamente, o AlphaEvolve vai otimizar a métrica de proxy em detrimento da meta real (causando um hack de recompensa).

Por exemplo, crie uma função de objetivo escalar usando pontos como um critério de desempate lógico: use score = matches_won + w * (points_scored / points_possible).

Configure a restrição de peso como w < 1 para que uma vitória adicional no terminal sempre supere qualquer acúmulo de pontos na partida, tratando o sub-sinal estritamente como um desempate.

Comece com um único objetivo

Considere iniciar sua implementação com uma única função objetivo. Embora a otimização de vários objetivos com rastreamento abrangente da fronteira de Pareto seja totalmente compatível de forma nativa no banco de dados, em que o MAP-Elites rastreia o melhor programa por métrica e o sistema mantém uma fronteira de Pareto em execução em todas as métricas, um único objetivo escalar é consideravelmente mais simples de entender e depurar durante a implantação inicial. Se o problema exigir vários objetivos, combine-os em um único escalar ponderado ou use ferramentas de rastreamento de várias métricas desde o início.

Redimensionar e normalizar antes de combinar

Aplique um equilíbrio de escala rigoroso nas suas métricas para evitar vieses de otimização:

  • Redimensionar em intervalos: normalize as métricas para intervalos comparáveis antes de combiná-las. Combinar pontuações limitadas (de 0 a 1) e ilimitadas (de 0 a infinity) sem um redimensionamento explícito faz com que a métrica ilimitada domine o cenário de adequação.

  • Prefira estruturas aditivas a combinações multiplicativas: os objetivos multiplicativos podem se tornar hipersensíveis a pequenas variações no denominador, comprometendo a precisão e a estabilidade da pesquisa. Implemente somas ponderadas aditivas: w1*A - w2*L - w3*M. Esse formato permite ajustes de peso simples por parâmetro de desempenho.

  • Normalizar em relação aos valores iniciais: para evitar que as diferenças de escala distorçam seu caminho de pesquisa, divida cada métrica pelo respectivo valor de referência inicial para que todas as métricas comecem com uma referência de 1.0 antes de aplicar pesos e combiná-las.

Ampliar diferenças numéricas mínimas

Pequenas diferenças numéricas na pontuação podem não fornecer um sinal de otimização útil para o LLM subjacente. Se um candidato forte tiver uma pontuação de 1e-7 e um candidato mais fraco tiver uma pontuação de 1e-8, o LLM pode não conseguir distinguir entre eles ao analisar o contexto. Redimensione as pontuações finais para um intervalo óbvio e legível por humanos (como 0 a 100) para que as melhorias incrementais de código se tornem numericamente aparentes no comando de geração.