OpenEvolve is an open-source framework for evolutionary computation that uses language models to drive automated optimization across multiple domains. It can evolve system prompts for large language models, refine source code across programming languages, search for optimal GPU kernel configurations, discover interpretable mathematical expressions from data, and maintain diverse populations of high-performing solutions. The framework integrates multiple evolutionary strategies, including MAP-Elites diversity mapping and island-based topologies, to avoid premature convergence and preserve a wide range of candidate variants.
The system supports checkpoint-and-resume state persistence, enabling long runs to be paused and continued without losing progress. Code regions can be marked with start and end comments so that mutation operators target only the designated sections during evolution. Evolution runs can be configured through a central YAML file, with deterministic seeding for reproducibility across different machines. The framework combines multiple language model providers using an intelligent ensemble with weighted averaging and fallback strategies, and it applies multi-stage evaluation cascades to filter candidates through quick preliminary tests before expensive comprehensive evaluation.
OpenEvolve provides an interactive web-based visualization that renders live evolution trees, performance charts, code diffs, and a MAP-Elites grid for real-time tracking. It collects execution artifacts and error feedback from previous generations to inject into subsequent prompts, improving the evolutionary guidance. The project is configured via a single YAML file and can be installed for immediate use.