Repolode
algorithmicsuperintelligence

algorithmicsuperintelligence/openevolve

Agente de programación evolutiva de código abierto que usa LLM para modificar y evaluar código de forma iterativa, con el objetivo de descubrir mejores algoritmos mediante el enfoque AlphaEvolve.

Estrellas
7,603
Forks
1,190
Issues abiertos
95
Último commit
hace 16 horas

¿Qué es?

OpenEvolve ejecuta un ciclo evolutivo sobre código fuente: un LLM propone cambios a un programa, un evaluador que tú escribes puntúa cada candidato y los mejores pasan a la siguiente ronda. Los programas se almacenan en una cuadrícula MAP-Elites de diversidad y calidad, distribuida entre varias islas, para mantener soluciones variadas en lugar de converger en un único óptimo local. Está pensado para problemas cuya corrección y rendimiento puedan medirse con un script, como la minimización de funciones, el empaquetamiento de círculos, el ajuste de kernels para GPU o los algoritmos de ordenamiento.

El proyecto se puede instalar desde PyPI o ejecutar en Docker, y también se puede usar como biblioteca de Python mediante funciones como run_evolution y evolve_function. Cualquier API compatible con OpenAI sirve como backend de LLM, incluidos Gemini, OpenAI y servidores locales como Ollama y vLLM. Se pueden asignar pesos a conjuntos de modelos, y hay un backend para Claude Code CLI o Codex app-server para quienes no tengan una clave de API. La configuración se realiza en YAML e incluye opciones para usar semillas, evaluar en cascada, devolver al modelo artefactos de error y definir plantillas de prompts personalizadas.

El repositorio incluye ejemplos en Python, Rust, R y shaders de Metal, además de un visualizador del árbol de evolución y de la cuadrícula MAP-Elites. Los resultados son reproducibles si se fijan las semillas, y durante las ejecuciones se guardan puntos de control.

Funciones clave

  • 01Evoluciona código mediante mutaciones propuestas por un LLM y puntuadas por un evaluador escrito por el usuario.
  • 02Usa cuadrículas MAP-Elites de diversidad y calidad en varias islas para mantener poblaciones diversas.
  • 03Funciona con cualquier API compatible con OpenAI, además de modelos locales y backends de Claude Code o Codex CLI.
  • 04Admite conjuntos de LLM con pesos y evaluación en cascada para filtrar pronto los candidatos de bajo rendimiento.
  • 05Ofrece una interfaz de biblioteca de Python y una CLI, además de imágenes de Docker.
  • 06Incluye un visualizador de árboles de evolución y cuadrículas MAP-Elites.

Casos de uso

  • Ajustar una rutina numérica o un kernel cuyo rendimiento pueda medirse automáticamente.
  • Buscar soluciones constructivas mejoradas para problemas matemáticos, como el empaquetamiento de círculos.
  • Evolucionar prompts o programas pequeños frente a un conjunto de pruebas medible.
  • Experimentar con el descubrimiento de algoritmos mediante LLM en modelos locales.

Inicio rápido

  1. 1

    Instala OpenEvolve desde PyPI

    pip install openevolve
  2. 2

    Configura tu clave de API de LLM (el ejemplo usa Google Gemini de forma predeterminada; obtén una clave en Google AI Studio)

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

    Ejecuta el primer ejemplo de evolución

    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 usarlo

  • Cada iteración llama a un LLM, por lo que las ejecuciones generan costes de API que pueden acumularse tras muchas iteraciones.
  • Las ejecuciones de evolución necesitan una API de LLM compatible con OpenAI o la CLI de Claude Code, así que debes proporcionar acceso a un modelo.

Temas

Preguntas frecuentes

¿Qué es openevolve?
Agente de programación evolutiva de código abierto que usa LLM para modificar y evaluar código de forma iterativa, con el objetivo de descubrir mejores algoritmos mediante el enfoque AlphaEvolve. OpenEvolve ejecuta un ciclo evolutivo sobre código fuente: un LLM propone cambios a un programa, un evaluador que tú escribes puntúa cada candidato y los mejores pasan a la siguiente ronda. Los programas se almacenan en una cuadrícula MAP-Elites de diversidad y calidad, distribuida entre varias islas, para mantener soluciones variadas en lugar de converger en un único óptimo local. Está pensado para problemas cuya corrección y rendimiento puedan medirse con un script, como la minimización de funciones, el empaquetamiento de círculos, el ajuste de kernels para GPU o los algoritmos de ordenamiento.
¿openevolve es gratuito? ¿Qué licencia tiene?
openevolve es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿openevolve sigue mantenido?
Mantenimiento activo. El último commit de openevolve fue el 19 oct 2026.
¿Para qué puedo usar openevolve?
Ajustar una rutina numérica o un kernel cuyo rendimiento pueda medirse automáticamente. Buscar soluciones constructivas mejoradas para problemas matemáticos, como el empaquetamiento de círculos. Evolucionar prompts o programas pequeños frente a un conjunto de pruebas medible. Experimentar con el descubrimiento de algoritmos mediante LLM en modelos locales.
¿Cómo se instala openevolve?
Instala OpenEvolve desde PyPI: pip install openevolve Configura tu clave de API de LLM (el ejemplo usa Google Gemini de forma predeterminada; obtén una clave en Google AI Studio): export OPENAI_API_KEY="your-gemini-api-key" Ejecuta el primer ejemplo de evolución: python openevolve-run.py examples/function_minimization/initial_program.py examples/function_minimization/evaluator.py --config examples/function_minimization/config.yaml --iterations 50
¿Dónde consigo openevolve?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/algorithmicsuperintelligence/openevolve

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados