Abordagens de pontuação

Aplique os princípios arquitetônicos a seguir ao determinar como pontuar, normalizar e penalizar entradas de código candidatas no ambiente de avaliação.

Maximizar objetivos diretamente

O AlphaEvolve realiza pesquisas de maximização exclusivamente, tratando cada meta de otimização como uma tarefa de escalada. Para minimizar uma métrica como latência ou taxas de erro, negue o valor calculado final: 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 maneira consistente à medida que as soluções candidatas melhoram. A incorporação de pontuações não monotônicas degrada a performance 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 comercial principal, a incorporação de métricas secundárias ou de proxy ajuda o AlphaEvolve a navegar em um espaço de pesquisa complexo de maneira 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 performance entre gerações.

Recompensar o sucesso parcial em vez de resultados esparsos

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

Um objetivo binário ou de baixa resolução (por exemplo, rastrear partidas ganhas em um problema de jogo baseado em torneio) cria platôs de performance massivos em que vários candidatos empatam. Esse comportamento impede que o AlphaEvolve distinga uma solução quase perfeita de uma ruim, o que paralisa os loops de seleção principal.

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

  • Adicione um sub-sinal refinado: 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 escalar em direção a espaços de solução promissores.

  • Alinhe o alinhamento e os pesos com cuidado: verifique se o sub-sinal está alinhado monotonicamente com o objetivo verdadeiro e ponderado com segurança abaixo dele. Se não for ponderado 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 objetiva escalar usando pontos como um desempate lógico: use score = matches_won + w * (points_scored / points_possible).

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

Começar com um único objetivo

Considere iniciar sua implementação com uma única função objetiva. Embora a otimização de vários objetivos com o rastreamento abrangente da fronteira de Pareto seja totalmente compatível de maneira 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 raciocinar e depurar durante a implantação inicial. Se o problema exigir vários objetivos, você poderá combiná-los em um único escalar ponderado ou aproveitar as ferramentas de rastreamento de várias métricas desde o início.

Redimensionar e normalizar antes de combinar

Aplique um balanceamento de escala estrito nas métricas para evitar o viés de otimização:

  • Redimensione em intervalos: normalize as métricas para intervalos comparáveis antes de combiná-las. A combinação de pontuações limitadas (de 0 a 1) e não limitadas (de 0 a infinity) sem redimensionamento explícito faz com que a métrica não limitada 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 performance.

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

Amplificar diferenças numéricas mínimas

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