Contexto e configuração de comandos

O AlphaEvolve orienta as operações usando o código de base fornecido e o contexto específico informado pelo usuário.

Contexto do usuário

O contexto fornecido pelo usuário é injetado em todos os comandos de geração. Ele equilibra o espaço de pesquisa fornecendo ao LLM conhecimento do domínio, formulações matemáticas e restrições do sistema.

  • Orçamento de token: até 200.000 tokens têm boa performance. Acima de um limite de 200 mil tokens, a janela de contexto fica carregada, a atenção do LLM diminui e a qualidade da mutação é reduzida. Se o contexto combinado (descrição do problema, código e programas anteriores) exceder 200 mil tokens, reduza esse número.

O que incluir

  • Formulação matemática precisa do problema de otimização.

  • Restrições principais e a lógica clara delas.

  • Terminologia e definições específicas do domínio.

  • Abordagens ou anterioridades conhecidas para orientar a direção da pesquisa do LLM.

  • Instruções específicas e explícitas detalhando o que NÃO fazer.

O que NÃO incluir

  • Tutoriais gerais de programação.

  • Documentação da biblioteca padrão (o LLM já conhece numpy, sklearn etc.). No entanto, INCLUA documentação para bibliotecas de nicho ou específicas do domínio que o LLM talvez não conheça bem (APIs de kernel personalizadas, SDKs proprietários ou DSLs especializadas).

  • Dados brutos arbitrários, planilhas ou grandes despejos de dados. Os dados pertencem ao arnês do avaliador, não ao contexto do comando.

  • Contexto não relacionado que consome tokens sem adicionar um indicador de pesquisa.

Cada parte do contexto incluída precisa agregar valor de forma clara, ajudando ativamente o LLM a produzir mutações melhores e estruturalmente sólidas.

Feedback da avaliação (insights)

Após cada loop de execução, o avaliador pode retornar um texto de feedback diagnóstico junto com pontuações numéricas. Esse feedback é adicionado automaticamente a estruturas de comandos futuras.

  • Base de qualidade: um feedback forte é específico, útil e conciso. O feedback ruim é genérico (como "a avaliação falhou") ou excessivamente detalhado.

  • Objetivo operacional: esses insights são mostrados ao LLM em gerações subsequentes, permitindo que ele aprenda explicitamente com falhas de execução e evite bugs repetitivos.

Diversificação de comandos integrada

O AlphaEvolve diversifica automaticamente os comandos transmitidos para o conjunto de modelos de linguagem grandes (LLMs) de back-end. Essa operação é processada internamente e não requer configuração manual do usuário.

O sistema varia as instruções principais em gerações sucessivas para incentivar mutações diversas e evitar que o LLM caia em padrões de codificação repetitivos. Esse comportamento serve como um dos principais mecanismos que ajudam o AlphaEvolve a explorar um cenário amplo em vez de ficar preso em um estreito ótimo local.

Legibilidade do código

A complexidade do código atua como uma métrica auxiliar eficaz. Se a legibilidade do código final for um fator importante para seu caso de uso de produção, considere adicionar o comprimento do código ou a complexidade cognitiva como uma métrica de destino secundária.

O AlphaEvolve pode alcançar até 50% de compactação de arquivos sem degradar o desempenho funcional. No entanto, o LLM vai explorar métricas de simplicidade ingênua (como remover todos os comentários inline para reduzir a contagem de caracteres brutos). Para evitar isso, implemente métricas que capturem uma complexidade estrutural significativa, como a complexidade ciclomática ou as contagens de nós da árvore sintática abstrata (AST, na sigla em inglês), em vez de avaliar comprimentos de strings brutos.