Contexto e configuração de comandos

O AlphaEvolve orienta as operações de TI usando o código de referência fornecido, além do contexto específico fornecido pelo usuário.

Contexto do usuário

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

  • Orçamento de tokens: até 200.000 tokens têm um bom desempenho. Além de um limite de 200 mil tokens, a janela de contexto fica carregada, a atenção do LLM é reduzida e a qualidade da mutação é reduzida. Se o contexto combinado (descrição do problema, código e programas anteriores) exceder 200 mil tokens, será necessário reduzi-lo.

O que incluir

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

  • As principais restrições e a justificativa clara para elas.

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

  • Abordagens conhecidas ou anterioridades 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 de domínio que o LLM talvez não conheça bem (APIs de kernel personalizadas, SDKs proprietários ou DSLs especializadas).

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

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

Cada contexto incluído precisa agregar valor claro, 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 de diagnóstico com as pontuações numéricas. Esse feedback é anexado automaticamente a futuras estruturas de comando.

  • Critério de qualidade: um bom feedback é específico, útil e conciso. Um feedback ruim é genérico (como "falha na avaliação") ou excessivamente prolixo.

  • Finalidade 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 que transmite ao conjunto de 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 é um dos principais mecanismos que ajudam o AlphaEvolve a explorar um cenário amplo, em vez de ficar preso em pequenos pontos ideais locais.

Legibilidade do código

A complexidade do código funciona como uma métrica auxiliar eficaz. Se a legibilidade do código final for um fator para seu caso de uso de produção, considere adicionar o tamanho 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 prejudicar o desempenho funcional. No entanto, o LLM vai usar métricas de simplicidade ingênuas, como remover todos os comentários inline para reduzir as contagens de caracteres brutos. Para evitar isso, implemente métricas que capturem a complexidade estrutural significativa, como complexidade ciclomática ou contagens de nós da árvore de sintaxe abstrata (AST, na sigla em inglês), em vez de avaliar comprimentos de string brutos.