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,sklearnetc.). 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.