AlphaEvolve 是一种专门的 AI 编码智能体,它使用进化方法来解决算法发现、数学搜索和组合优化用例。它尤其适合属于 NP 完全或 NP 难优化问题的用例。
AlphaEvolve 将给定编程语言中的代码块作为主要输入,这些代码块定义了需要解决的算法发现或组合搜索用例。输入代码在功能上应该是正确的,但仍需要优化才能满足一组用户指定的评估指标所定义的特定全局(非功能性)性能标准。
该智能体使用前沿的进化启发法来搜索所有可能的算法设计选择和数学决策变量的空间。这使得 AlphaEvolve 能够识别出新的程序,这些程序可以逐步提高目标优化目标的性能。
AlphaEvolve 会针对多个连续的候选程序生成迭代执行此启发法,直到发现满足用例所需整体性能目标的新解决方案。

不应使用 AlphaEvolve 的情况
在以下情况下,您无法使用 AlphaEvolve:
- 基本代码生成: AlphaEvolve 不是通用型开发者助理(例如 Gemini CLI 或编码助理)。它不会采用纯自然语言说明或不完整、非功能性代码来输出基准功能代码。
- 代码检查和代码样式: AlphaEvolve 不适用于基本代码优化,例如根据软件工程最佳实践或标准代码检查清理代码。
AlphaEvolve 专门为需要创新设计和执行图来优化代码的场景而设计。它旨在搜索非常大的可能解决方案配置空间,其中所有候选方案在功能上都是正确的,但只有一部分满足所需的全局性能标准。
优化求解器和启发法的范围
下表说明了 AlphaEvolve 相对于经典优化求解器和启发法的位置。
| 求解器类别 | 此类求解器通常解决的问题类型 | 示例算法 | AlphaEvolve 适用吗? | AlphaEvolve 的差异化功能 |
|---|---|---|---|---|
| 具有连续变量的凸优化方法 |
|
|
不适用。 现有算法提供精确的解决方案,并且可能会 优于 AE。 |
|
| 基于梯度的方法 |
|
|||
| 数学规划和形式化方法(即“经典”运筹学方法) |
|
|
可能适用。 此外,AE 可用于扩充现有工具或 对其进行调整。 |
|
| 元启发式搜索方法 |
|
|
可能适用。 此外,AE 可用于扩充现有工具或 对其进行调整。 |
|
| 贝叶斯优化 |
|
|
肯定适用。 | |
| 基于 LLM + 元启发式搜索的智能体 |
|
|
肯定适用。 (既可作为直接优化方法,也可作为改进现有贝叶斯优化方法的方式) |