Repolode
algorithmicsuperintelligence

algorithmicsuperintelligence/openevolve

Agente de programação evolutiva open source que usa LLMs para alterar e avaliar código iterativamente, buscando algoritmos melhores com a abordagem AlphaEvolve.

Estrelas
7,603
Forks
1,190
Issues abertas
95
Último commit
há 16 horas

O que é?

O OpenEvolve executa um ciclo evolutivo sobre o código-fonte: um LLM propõe alterações em um programa, um avaliador escrito por você atribui uma pontuação a cada candidato, e os melhores candidatos alimentam a próxima rodada. Os programas são armazenados em uma grade MAP-Elites de qualidade e diversidade, distribuída por várias ilhas, para que a busca preserve soluções variadas em vez de convergir para um único ótimo local. A ferramenta foi pensada para problemas cuja correção e desempenho possam ser medidos por um script, como minimização de funções, empacotamento de círculos, ajuste de kernels de GPU ou algoritmos de ordenação.

O projeto pode ser instalado pelo PyPI ou executado no Docker, e também pode ser usado como biblioteca Python por meio de funções como run_evolution e evolve_function. Qualquer API compatível com OpenAI pode ser usada como backend de LLM, incluindo Gemini, OpenAI e servidores locais como Ollama e vLLM. É possível atribuir pesos a conjuntos de modelos, e há um backend para a CLI do Claude Code ou para o app-server do Codex, voltado a quem não tem uma chave de API. A configuração é feita em YAML, com opções para definir seeds, avaliação em cascata, artefatos de erro enviados de volta ao modelo e templates de prompt personalizados.

O repositório inclui exemplos em Python, Rust, R e shaders Metal, além de um visualizador da árvore evolutiva e da grade MAP-Elites. Os resultados são reproduzíveis quando as seeds são fixadas, e checkpoints são gravados durante as execuções.

Recursos principais

  • 01Evolui código usando mutações propostas por LLMs e avaliadas por um avaliador escrito pelo usuário.
  • 02Usa grades MAP-Elites de qualidade e diversidade distribuídas por várias ilhas para manter populações diversas.
  • 03Funciona com qualquer API compatível com OpenAI, além de modelos locais e backends da CLI do Claude Code ou do Codex.
  • 04Oferece suporte a conjuntos ponderados de LLMs e à avaliação em cascata para filtrar candidatos fracos logo no início.
  • 05Disponibiliza uma interface de biblioteca Python e uma CLI, além de imagens Docker.
  • 06Inclui um visualizador de árvores evolutivas e grades MAP-Elites.

Casos de uso

  • Ajustar uma rotina numérica ou um kernel cujo desempenho possa ser medido automaticamente.
  • Buscar soluções construtivas melhores para problemas matemáticos, como o empacotamento de círculos.
  • Evoluir prompts ou pequenos programas com base em uma suíte de testes mensurável.
  • Experimentar a descoberta de algoritmos orientada por LLMs usando modelos locais.

Início rápido

  1. 1

    Instale o OpenEvolve pelo PyPI

    pip install openevolve
  2. 2

    Configure sua chave de API do LLM (o exemplo usa o Google Gemini por padrão; obtenha uma chave no Google AI Studio)

    export OPENAI_API_KEY="your-gemini-api-key"
  3. 3

    Execute o primeiro exemplo de evolução

    python openevolve-run.py examples/function_minimization/initial_program.py examples/function_minimization/evaluator.py --config examples/function_minimization/config.yaml --iterations 50

Antes de usar

  • Cada iteração chama um LLM, então as execuções geram custos de API que podem se acumular ao longo de muitas iterações.
  • As execuções de evolução precisam de uma API de LLM compatível com OpenAI ou da CLI do Claude Code, portanto você precisa fornecer acesso a um modelo.

Tópicos

Perguntas frequentes

O que é openevolve?
Agente de programação evolutiva open source que usa LLMs para alterar e avaliar código iterativamente, buscando algoritmos melhores com a abordagem AlphaEvolve. O OpenEvolve executa um ciclo evolutivo sobre o código-fonte: um LLM propõe alterações em um programa, um avaliador escrito por você atribui uma pontuação a cada candidato, e os melhores candidatos alimentam a próxima rodada. Os programas são armazenados em uma grade MAP-Elites de qualidade e diversidade, distribuída por várias ilhas, para que a busca preserve soluções variadas em vez de convergir para um único ótimo local. A ferramenta foi pensada para problemas cuja correção e desempenho possam ser medidos por um script, como minimização de funções, empacotamento de círculos, ajuste de kernels de GPU ou algoritmos de ordenação.
openevolve é gratuito? Qual é a licença?
openevolve é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
openevolve ainda é mantido?
Manutenção ativa. O último commit de openevolve foi em 19 de out. de 2026.
Para que posso usar openevolve?
Ajustar uma rotina numérica ou um kernel cujo desempenho possa ser medido automaticamente. Buscar soluções construtivas melhores para problemas matemáticos, como o empacotamento de círculos. Evoluir prompts ou pequenos programas com base em uma suíte de testes mensurável. Experimentar a descoberta de algoritmos orientada por LLMs usando modelos locais.
Como instalar openevolve?
Instale o OpenEvolve pelo PyPI: pip install openevolve Configure sua chave de API do LLM (o exemplo usa o Google Gemini por padrão; obtenha uma chave no Google AI Studio): export OPENAI_API_KEY="your-gemini-api-key" Execute o primeiro exemplo de evolução: python openevolve-run.py examples/function_minimization/initial_program.py examples/function_minimization/evaluator.py --config examples/function_minimization/config.yaml --iterations 50
Onde consigo openevolve?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/algorithmicsuperintelligence/openevolve

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados