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