AlphaEvolve is a specialized AI coding agent that uses evolutionary methods to solve algorithmic discovery, mathematical search, and combinatorial optimization use cases. It is especially well-suited for use cases that fall into the category of NP-complete or NP-hard optimization problems.
AlphaEvolve takes as primary input blocks of code in a given programming language that define the algorithm discovery or combinatorial search use case that needs to be solved. The input code should be functionally correct but still require optimization to meet specific global (non-functional) performance criteria defined by a set of user-specified evaluation metrics.
The agent uses a state-of-the-art evolutionary heuristic to search through the space of all possible algorithmic design choices and mathematical decision variables. This allows AlphaEvolve to identify new programs that incrementally improve performance on the target optimization objectives.
AlphaEvolve executes this heuristic iteratively over multiple successive generations of candidate programs until it discovers a net-new solution that meets the overall performance targets required for the use case.

When not to use AlphaEvolve
You cannot use AlphaEvolve in the following scenarios:
- Basic code generation: AlphaEvolve is not a general-purpose developer assistant (such as a Gemini CLI or coding assistant). It does not take pure natural language descriptions or incomplete, non-functional code to output baseline functional code.
- Linting and code style: AlphaEvolve is not intended for basic code optimization like cleaning up code according to software engineering best practices or standard linting.
AlphaEvolve is specifically designed for scenarios where optimizing code requires innovative new designs and execution graphs. It is built to search through a very large configuration space of possible solutions where all candidates are functionally correct, but only a subset meet the required global performance criteria.
Spectrum of optimization solvers and heuristics
The following table maps out where AlphaEvolve fits relative to classical optimization solvers and heuristics.
| Solver category | Types of problems typically addressed by the category of solver | Example algorithms | AlphaEvolve applicable? | AlphaEvolve differentiating capability |
|---|---|---|---|---|
| Convex optimization methods with continuous variables |
|
|
Not suitable. Existing algorithms provide exact solutions and will likely outperform AE. |
|
| Gradient based methods |
|
|||
| Mathematical programming and formal methods (i.e. "Classic" OR methods) |
|
|
Possibly applicable. Also, AE can be used as a way of augmenting existing tools or tuning them. |
|
| Meta-heuristics search methods |
|
|
Possibly applicable. Also, AE can be used as a way of augmenting existing tools or tuning them. |
|
| Bayesian Optimization |
|
|
Definitely applicable. | |
| LLM + meta-heuristics search based agents |
|
|
Definitely applicable. (either as a direct optimization method, or as a way of improving the existing Bayesian Optimization approach) |