OpenEvolve

最先进的开源进化编码代理,将 LLM 转变为自主代码优化器,发现突破性算法。

Star 数
★ 7.6k
最近更新
5 天前
License
Apache-2.0
主语言
Python

30 秒速览

运行形态
命令行工具代码库 / SDK
可在哪里用
通用 · 跨平台Claude Code · OpenAI API
费用
软件免费,模型调用费用自付
上手难度
低 · 几分钟可跑通
开始前需要
Python 3.10+pipDocker(可选)Claude Code CLI(可选)Shell / 命令行网络访问本地文件系统
典型场景
希望自动发现硬件特定优化的 GPU 内核开发者,例如在 Apple Silicon 上实现 2.8 倍加速。
不适合
  • 只想用现成工具、不愿反复调试系统提示词的用户
  • 预算敏感且需大量迭代、无法承担 o3 等高价模型费用的团队

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

OpenEvolve 是一个开源库,通过进化算法自动改进代码。它实现了 MAP-Elites 质量-多样性算法和岛屿模型,结合多种 LLM(大型语言模型)生成新程序。主要组件包括进化引擎、评估器接口、基于数据库的种群管理和可视化工具。用户可通过 CLI 或 Python API 运行进化,提供可复现的种子设置和配置选项。支持多语言(Python, Rust, Metal shaders),并展示跨场景成果。

OpenEvolve 利用进化算法迭代改进代码。它从初始程序开始,通过 LLM 生成变体,使用评估器(evaluator)评分,并在数据库(database)中管理种群。它使用 MAP-Elites 算法按特征维度组织程序,通过岛屿迁移保持多样性。它通过 artifacts 反馈(如错误和警告)指导后续生成。使用者通过 run_evolution 或 evolve_function Python API 或 openevolve-run.py 命令行工具启动过程,配置支持多个 LLM 提供商(OpenAI 兼容 API,Claude Code CLI)。最终输出是改进的程序代码和性能指标。

  1. 希望自动发现硬件特定优化的 GPU 内核开发者,例如在 Apple Silicon 上实现 2.8 倍加速。
  2. 研究新的算法或数学结构(如圆形填充)的研究人员,达到最先进结果。
  3. 需要优化复杂排序或信号处理算法,但手动调优耗时的科学家。
  4. 希望探索多目标问题并获取 Pareto 最优解的竞争性程序员。
  5. 需要为特定领域(如 LLM 提示词)自动优化提示词的工程师。
  6. 希望在多语言(Python, Rust, Metal shaders)中实现算法自动发现的开发者。

如何安装或部署这个 Agent?

需要 Python 3.10+ 和 LLM API 密钥(例如 Google Gemini 或 OpenAI)。通过 pip 安装:pip install openevolve。设置环境变量 OPENAI_API_KEY(用于 Gemini 或其他)。可选:安装 Docker 以运行容器化版本(docker pull ghcr.io/algorithmicsuperintelligence/openevolve:latest),或使用 Claude Code CLI(npm install -g @anthropic-ai/claude-code)

如何使用这个 Agent?

快速开始:安装后,设置 OPENAI_API_KEY,然后运行示例命令:python openevolve-run.py examples/function_minimization/initial_program.py examples/function_minimization/evaluator.py --config examples/function_minimization/config.yaml --iterations 50。或使用 Python API:from openevolve import run_evolution; result = run_evolution(initial_program='...', evaluator=lambda path: {'score': ...}, iterations=100)。配置 LLM 提供商可通过修改 config.yaml 的 llm.api_base 和 model 字段。

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

优点
  • 使用 MAP-Elites 和岛屿模型,避免过早收敛,保持多样性。
  • 支持多种 LLM 提供商(OpenAI, Gemini, Claude Code, 本地模型),灵活集成。
  • 提供完全可复现的种子设置(默认 seed=42),适合研究。
  • 包含可视化器和检查点系统,支持实时监控和结果分析。
  • 已验证成果:GPU 内核优化(2.8 倍加速)、圆形填充达到最先进结果。
局限
  • 成本取决于 LLM 提供商,高级模型每迭代可能花费 $0.15-0.60。
  • 需要 LLM API 密钥,否则无法运行(除非使用 Claude Code CLI)。
  • 系统消息设计对成功至关重要,需要迭代调优,不简单。
  • 性能可能因问题复杂度和评估器质量而异,需要调整配置。
  • 文档中的基准和成果来自示例,不保证应用于所有场景。

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

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

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
OpenEvolve 当前 40 · 缺口较多 命令行工具免费 + 模型费 ★ 7.6k 5 天前 Python Claude Code · OpenAI API
OpenAlpha Evolve 41 · 缺口较多 命令行工具免费 + 模型费 ★ 1.1k 1 年前 Python OpenAI API · Claude API
Hello-Agents 智能体教程 54 · 缺口较多 网页应用免费 + 模型费 ★ 84k 5 天前 Python OpenAI API
Lagent 轻量级智能体框架 43 · 缺口较多 代码库 / SDK免费 + 模型费 ★ 2.3k 6 个月前 Python OpenAI API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
40/ 100 五分制 2.0 / 5
本评测基于 2026年8月9日 的源码;此后该项目发布了 1 个正式版本,尚未复审。分数与结论只代表评测时的版本。 最近版本 ↓
信任安全 0/29
可靠稳定 6/14
适用触发 12/18
规范维护 10/18
有效结果 9/13
证据核验 3/8
查看各维度的扣分理由
信任安全0 / 29 · 0.0/5

证据显示:仓库未提供权限模型、用户确认机制、数据流透明性、敏感数据处理、依赖安全审计、外部影响控制、回滚机制或来源归属。所有信任相关标准均未得到满足,因此全部评分为0。

可靠稳定6 / 14 · 2.1/5

证据显示:README和配置示例在功能描述上基本一致,但存在不一致之处,如README声称'完全确定性',但配置中允许随机模板和温度设置,且未提供确定性保证的详细说明。依赖可用性方面,pyproject.toml列出了依赖,但未提供版本锁定或完整性校验,且集成测试工作流中额外安装了math-verify,表明依赖管理不完整。失败消息方面,测试脚本提供了基本的错误输出,但未提供面向用户的故障排除指南。

适用触发12 / 18 · 3.3/5

证据显示:README明确了目标受众(性能优化、算法发现等)和多种使用场景,提供了多个示例。能力边界方面,README描述了可配置的约束(如系统消息中的'必须不改变'),但未提供全面的能力边界文档。触发精度方面,提供了配置示例和系统消息指导,但未提供详细的触发条件说明。环境适配方面,支持多种LLM提供商和本地模型,但未提供所有环境的详细配置指南。

规范维护10 / 18 · 2.8/5

证据显示:README提供了清晰的信息架构,包括快速开始、示例、配置等。安装说明详细,包括PyPI、开发安装和Docker。命名稳定性方面,项目名称和主要API在文档中一致。示例和FAQ方面,提供了多个示例,但缺少FAQ部分。已知限制方面,未明确列出。许可证为Apache-2.0,但未提供版权所有者信息。版本控制方面,pyproject.toml使用动态版本,但未提供CHANGELOG。维护责任方面,作者信息仅列出'codelion',未提供维护者联系方式或贡献指南。

有效结果9 / 13 · 3.5/5

证据显示:输出可用性方面,提供了库API和CLI,并展示了输出示例。边际价值方面,声称提供2-3倍加速和SOTA结果,但未提供独立验证。成本效益方面,提供了成本估算,但未提供实际基准测试数据。

证据核验3 / 8 · 1.9/5

证据显示:README中的性能声明(如2-3倍加速、SOTA)未提供可追溯的基准测试或论文引用。跨来源验证方面,仅依赖仓库内部证据,未提供外部验证。事实与推断分离方面,README将推断(如'突破性优化')与事实(如示例)混合,未明确区分。

风险与缓解建议
  • 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
  • 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
  • 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
  • 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
  • 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
  • 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
  • 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
  • 源码中未见:来源归属可核验从官方仓库或包源安装,核对发布者和仓库地址,避免同名仿冒包。
  • 性能声明(如2-3倍加速、SOTA)缺乏可验证的基准测试或论文引用,应谨慎对待。
  • 依赖管理不完整,未锁定版本,且集成测试中额外安装math-verify,可能影响可复现性。
  • 未提供明确的权限模型或安全审计,作为Agent框架使用时需自行评估风险。
证据充分度:低 评估于 2026年8月9日 审查版本 411fb59c886c 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v0.4.0
    发布说明摘录
    Highlights - Pluggable island selection and population strategies (#493): an optional island selector plus decision-returning hooks for admission, MAP-Elites cell replacement, archive membership, eviction and migration. ProgramDatabase validates the decisions and still owns every mutation. Default behaviour is unchanged. - LLM token usage tracking (#490): prompt_tokens, completion_tokens and total_tokens are captured from OpenAI-compatible responses, carried back from workers, stored in program metadata and prompt logs, and reported per iteration and as a run total. …
    在 GitHub 查看 ↗
  2. v0.3.2
    发布说明摘录
    Bug fixes Booleans in metrics are flags, not scores. bool is a subclass of int, so a naive isinstance(value, (int, float)) check silently treated True/False as 1.0/0.0. OpenEvolve's own evaluator emits timeout: True as a metric, so this was not a hypothetical input. - Fitness math (utils/metrics_utils.py) — the significant one. When an evaluation timed out, evaluator.py returns {"error": 0.0, "timeout": True}, which safe_numeric_average scored as 0.5 — handing a program that failed outright a mid-range fitness and letting it compete for survival in the …
    在 GitHub 查看 ↗
  3. v0.3.1
    发布说明摘录
    Bug fixes - llm.provider was silently dropped (#472): LLMConfig propagates shared settings to each per-model LLMModelConfig via a shared_config dict, but that dict omitted provider. Every model kept provider=None, so LLMEnsemble routed them all to the OpenAI backend regardless of the config — a config with provider: claude_code crashed with a missing-OPENAI_API_KEY error, making examples/claude_code_quickstart unusable. An explicit per-model provider still takes precedence. Features …
    在 GitHub 查看 ↗

常见问题

运行 OpenEvolve 的成本有多高?
成本取决于你使用的 LLM 提供商和迭代次数。例如,o3 每迭代约 $0.15-0.60,Gemini-2.5-Flash 约 $0.01-0.05。可通过使用本地模型、减少迭代次数或级联评估来降低成本。
是否必须使用特定 LLM?
不必。OpenEvolve 支持任何 OpenAI 兼容 API,包括 OpenAI、Google Gemini、本地模型(如 Ollama)和 Claude Code CLI。
如果进化陷入停滞怎么办?
内置机制如岛屿迁移、多样性维护和模板随机化有助于摆脱停滞。你也可以手动调整配置,如增加 num_diverse_programs 或更改迁移间隔。
如何衡量进化是否成功?
可以使用评估器返回的 combined_score 或指标平均值,或通过可视化器跟踪收敛情况、多样性覆盖度和效率。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

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

相关 Agents