OpenAlpha Evolve

用 LLM 驱动的进化循环生成、测试并改进 Python 算法。

Star 数
★ 1.1k
最近更新
1 年前
License
MIT
主语言
Python

30 秒速览

运行形态
命令行工具网页应用
可在哪里用
通用 · 跨平台OpenAI API · Claude API
费用
软件免费,模型调用费用自付
上手难度
中 · 需要几步配置
开始前需要
Python 3.10+pipGitDockerLiteLLMShell / 命令行网络访问本地文件系统
典型场景
算法研究人员希望在明确的输入输出测试下,探索 Dijkstra 等算法问题的候选实现。
不适合
  • 不愿安装并运行 Docker 的用户
  • 需要持久化存储或多用户部署的生产团队

这个 Agent 能做什么,适合哪些场景?

OpenAlpha Evolve 是一个用于自动发现和迭代改进 Python 算法的开源框架,灵感来自 DeepMind 的 AlphaEvolve 研究。它由 PromptDesignerAgent、CodeGeneratorAgent、EvaluatorAgent、DatabaseAgent、SelectionControllerAgent 和 TaskManagerAgent 组成。用户通过 YAML 任务文件或 TaskDefinition 描述待实现函数、允许导入项和测试用例,系统随后生成候选程序并按代际演化。生成的程序会接受 Python 语法检查,并在 Docker 容器中针对任务测试执行和评分。项目可通过命令行运行示例任务,也提供 Gradio Web 界面用于交互式定义任务和启动演化。

用户先定义包含 task_id、task_description、function_name、allowed_imports 与 tests 的 YAML 任务。PromptDesignerAgent 生成初始、变异和修复提示;CodeGeneratorAgent 通过 LiteLLM 调用模型生成 Python 代码,并在收到 diff 时尝试将改动应用到父代代码。EvaluatorAgent 检查语法,在临时隔离环境中运行代码,并依据测试通过情况、运行时间及潜在指标计算 fitness。DatabaseAgent 保存代码、fitness、代数和谱系;SelectionControllerAgent 选择父代与幸存者;TaskManagerAgent 重复这一流程直至达到设定代数。输出包括进化得到的候选 Python 程序、评估结果和日志,默认日志文件为 alpha_evolve.log。

  1. 算法研究人员希望在明确的输入输出测试下,探索 Dijkstra 等算法问题的候选实现。
  2. Python 开发者需要用 YAML 描述函数签名、允许导入项和边界测试,并让系统迭代生成实现。
  3. 实验者想比较 LLM 生成程序在变异、diff 修复和选择后的适应度变化。
  4. 需要在 Docker 隔离执行环境中,对生成 Python 代码进行语法检查和功能测试的原型团队。
  5. 希望通过 Gradio 页面交互式提交自定义任务并观察演化过程的开发者。

如何安装或部署这个 Agent?

前置条件为 Python 3.10+、pip、Git 和正在运行的 Docker。执行:

git clone https://github.com/shyamsaktawat/OpenAlpha_Evolve.git
cd OpenAlpha_Evolve
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cp .env_example .env

然后在 .env 中配置所选模型提供商的凭据:Google 可使用 GOOGLE_APPLICATION_CREDENTIALS 或 GEMINI_API_KEY;示例中也列出 OPENAI_API_KEY、ANTHROPIC_API_KEY 和 COHERE_API_KEY。项目通过 LiteLLM 对接不同提供商。

如何使用这个 Agent?

使用示例最短路径任务运行:

python -m main examples/shortest_path.yaml

系统会执行演化循环,并将日志写入终端及默认的 alpha_evolve.log。若要使用网页界面,运行:

python app.py

然后打开 Gradio 显示的本地 URL,在界面中定义任务并启动演化。

这个 Agent 有哪些优点和局限?

优点
  • 将提示设计、代码生成、评估、存储、选择和编排拆分为独立 Agent,便于替换或扩展其中的策略。
  • 支持初始生成、diff 变异和 diff 修复,使后续候选程序能基于父代代码进行定向改动。
  • 评估流程同时包含语法检查、测试用例执行和 fitness 评分,而非只生成代码文本。
  • 通过 LiteLLM 说明了 OpenAI、Anthropic、Google 等多个模型提供商路径,避免只绑定单一模型接口。
局限
  • 运行生成代码依赖本地 Docker,并要求 Docker Desktop 或 Docker Engine 已安装且正在运行。
  • 实际生成需要配置模型提供商凭据;API 使用及其费用由所选提供商决定。
  • README 明确声明项目为实验性项目,生成代码可能不最优、不正确或不安全,生产使用前必须人工审查和测试。
  • DatabaseAgent 目前使用内存存储,来源未说明持久化数据库、恢复机制或多用户部署方案。
  • 配置说明中的 .env.example 与复制命令中的 .env_example 命名不一致,安装时需要核对仓库中的实际文件名。

这个 Agent 与同类方案有什么区别?

该项目明确说明其灵感来自 DeepMind 的 AlphaEvolve,并定位为对核心理念的开源再实现,用于更广泛的实验和学习。来源没有提供与 AlphaEvolve 的功能对等性、性能或部署方式比较。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
OpenAlpha Evolve 当前 45 · 缺口较多 命令行工具免费 + 模型费 ★ 1.1k 1 年前 Python OpenAI API · Claude API
KADATH 66 · 存在缺口 命令行工具免费 + 模型费 ★ 228 15 天前 Python OpenAI API
OpenEvolve 51 · 缺口较多 命令行工具免费 + 模型费 ★ 7.7k 1 天前 Python Claude Code · OpenAI API
CaveAgent 63 · 存在缺口 代码库 / SDK免费 + 模型费 ★ 219 1 个月前 Python OpenAI API · Claude API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
45/ 100 五分制 2.3 / 5
信任安全 11/29
可靠稳定 6/14
适用触发 9/18
规范维护 8/18
有效结果 7/13
证据核验 4/8
查看各维度的扣分理由
信任安全11 / 29 · 1.9/5

代码生成器将提示发送到配置的 LiteLLM 模型;README 说明环境变量可存放 API 密钥,数据库会把程序和代码写入 JSON 文件。评估器以 Docker 执行候选代码并可禁用网络,提供了有限隔离和数据流说明。扣分原因:所示代码未体现执行前审批、密钥保护细节或可靠回滚;依赖未固定版本,也没有依赖安全证据。

可靠稳定6 / 14 · 2.1/5

生成器对若干 API 错误进行重试并记录错误,数据库加载/保存也记录异常;这些可改善一般故障诊断。扣分原因:README 说数据库当前为内存存储,而代码会持久化 JSON;README 要复制 .env_example,但项目结构列的是 .env.example;需求文件多数依赖未锁版本。

适用触发9 / 18 · 2.5/5

README 面向研究人员、开发者和爱好者,介绍 YAML/Python 任务、多个 LLM 提供商及可替换组件。扣分原因:文档称当前配置 Gemini,而代码使用通用 LiteLLM 配置;任务触发与可导入模块限制虽有说明,但给出的材料不足以证明边界执行完整。

规范维护8 / 18 · 2.2/5

README 有目录、项目结构、安装步骤、YAML 示例、任务编写建议、实验性质免责声明;MIT 许可证文本完整。扣分原因:环境文件名不一致,版本与变更记录缺失,维护者责任和更新路径仅有一般贡献邀请。

有效结果7 / 13 · 2.7/5

框架把 LLM 代码生成、迭代变异、评估和选择串成研究/实验工作流,主程序可输出最佳程序代码与分数。扣分原因:运行依赖 API、Docker 和用户配置,文档未估算成本或给出停止预算策略;评估与生成结果仍需人工检查。

证据核验4 / 8 · 2.5/5

README 对工作流和配置作出具体说明,主程序及生成器、数据库代码提供部分对应实现,测试样例也展示 Docker 调用断言。扣分原因:有些功能声明未被所给代码充分佐证,且材料中测试文件被截断;静态材料不能证实实际运行效果。

风险与缓解建议
  • 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
  • 生成代码会在 Docker 中执行,并可能访问配置的 LLM 服务;使用前请检查任务定义、API 配置和容器设置,并审阅候选代码。
  • 安装说明中的 .env_example 与结构说明中的 .env.example 不一致;请核对仓库实际文件名后再配置密钥。
证据充分度:低 评估于 2026年11月8日 审查版本 0389aea0e0a7
查看完整评分方法 →
你是这个项目的维护者?把 FARS 徽章加到 README

徽章显示当前的评审分数和结论,点击回到本页。重新评审后约一小时内更新。

FARS

[![FARS 评测](https://followagents.com/badge/openalpha-evolve.svg?lang=zh)](https://followagents.com/zh/agents/openalpha-evolve)
<a href="https://followagents.com/zh/agents/openalpha-evolve"><img src="https://followagents.com/badge/openalpha-evolve.svg?lang=zh" alt="FARS 评测"></a>

常见问题

能否选择不同的模型提供商?
可以。项目通过 LiteLLM 接入多个提供商,文档列举了 Google、OpenAI、Anthropic 和 Cohere 的环境变量示例;需要为实际选择的提供商配置对应凭据。
生成的代码是否可以直接用于生产?
不应直接视为生产就绪。项目声明生成代码可能不最优、不正确或不安全,尤其在生产使用前应进行人工审查和充分测试。
为什么需要 Docker?
Docker 用于在隔离环境中执行生成的代码并管理依赖;评估还具有可配置的超时机制。
如何定义要演化的问题?
推荐在 examples 目录中创建 YAML 文件,提供任务描述、目标函数名、允许导入项及测试组;也可通过 TaskDefinition 在 Python 中以旧方式定义任务。
会保存演化历史吗?
DatabaseAgent 会保存程序代码、fitness、代数和谱系,但文档说明当前存储是内存中的,未提供持久化配置说明。
这页内容对你有帮助吗?
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。