What problem does it solve?
OpenEvolve helps you autonomously optimize code when you can define a measurable fitness function, turning slow trial-and-error into evolutionary search driven by LLM mutations and automated evaluators.
Core Features & Use Cases
- Fitness-driven evolutionary coding: Use an evaluator that returns
EvaluationResult(metrics, artifacts) and includes a required combined_score for selection.
- Multi-stage evaluation (cascade): Run cheap/quick checks first, then only fully evaluate promising candidates.
- Diverse search with MAP-Elites: Use
feature_dimensions derived from evaluator metrics to maintain a varied population of elite solutions.
- Artifact side-channels for self-correction: Feed stdout/stderr, failure stages, and suggestions back into the next generation to improve iteration quality.
- Domain coverage: Suitable for evolutionary coding, code optimization, algorithm discovery, and “self-improving” programs across tasks you can automatically grade.
Quick Start
Ask your AI to initialize an OpenEvolve project and then run evolution with your config.yaml, initial_program.py, and a custom evaluator.py that returns combined_score plus optional artifacts.