# OpenEvolve

> Open-source evolutionary coding agent that uses LLM ensembles and MAP-Elites to iteratively evolve and optimize programs against an evaluator.

OpenEvolve is an open-source implementation of AlphaEvolve, hosted by the algorithmicsuperintelligence organization on GitHub under the Apache 2.0 license. It takes an initial program and an evaluator, then uses LLMs to iteratively mutate the code and score the results. It is available as a Python package, a CLI, and a Docker image, and the latest listed release is v0.4.0.

## What It Is

OpenEvolve is an evolutionary coding agent. You supply a starting program and an evaluation function that returns metrics, and OpenEvolve runs a loop in which LLMs propose code changes, the evaluator scores them, and a program database selects parents for the next generation. It can be run from the command line (`openevolve-run`) or as a Python library via `run_evolution` and `evolve_function`. Prompts themselves can also be evolved, not just code.

## How the Evolution Loop Works

The README describes a pipeline built on MAP-Elites quality-diversity search and an island-based architecture with migration between populations. Multiple LLMs can be combined in a weighted ensemble with fallback. Evaluators can return artifacts such as stderr, profiling data, or LLM feedback, which are fed back into later prompts. Cascade evaluation filters weak programs early. Custom feature dimensions, island selectors, and population-strategy hooks (admit, archive, evict, migrate) allow the search to be tuned. Seeding is applied across components for reproducible runs.

## Model Access and Setup

OpenEvolve works with any OpenAI-compatible API, including OpenAI, Google Gemini, and local servers such as Ollama and vLLM. It can also use the Claude Code CLI, GitHub Copilot CLI, or the Codex app server as a backend without API keys. OptiLLM can be placed in front for routing and test-time compute. Python 3.10+ is required, and installation is via pip, a development install, or Docker.

## Examples and Visualization

The repository includes examples for function minimization, circle packing, MLX Metal GPU kernels, Rust adaptive sorting, signal processing, symbolic regression, web scraping with OptiLLM, LLM prompt optimization, and online-judge programming. The README attributes results such as a 2.8x speedup on an Apple M1 Pro kernel and state-of-the-art circle packing for n=26 to these examples. A web visualizer shows the evolution tree, performance across generations, code diffs, and the MAP-Elites grid.

## Features
- Evolutionary code optimization with LLM-generated mutations
- MAP-Elites quality-diversity search
- Island-based populations with migration
- LLM ensembles with weighted fallback
- Artifact side-channel feedback from evaluators
- Cascade evaluation
- Custom feature dimensions and population strategy hooks
- Reproducible seeded runs
- Prompt evolution
- Interactive web visualizer
- Python library and CLI usage
- Docker image

## Integrations
OpenAI API, Google Gemini, Ollama, vLLM, OptiLLM, Claude Code CLI, GitHub Copilot CLI, Codex app server, Docker

## Platforms
WINDOWS, MACOS, LINUX, API, DEVELOPER_SDK, CLI

## Pricing
Open Source

## Version
v0.4.0

## Links
- Website: https://github.com/algorithmicsuperintelligence/openevolve
- Repository: https://github.com/algorithmicsuperintelligence/openevolve
- EveryDev.ai: https://www.everydev.ai/tools/openevolve
