OpenEvolve
最先进的开源进化编码代理,将 LLM 转变为自主代码优化器,发现突破性算法。
证据显示:仓库未提供权限模型、用户确认机制、数据流透明性、敏感数据处理、依赖安全审计、外部影响控制、回滚机制或来源归属。所有信任相关标准均未得到满足,因此全部评分为0。
证据显示:README和配置示例在功能描述上基本一致,但存在不一致之处,如README声称'完全确定性',但配置中允许随机模板和温度设置,且未提供确定性保证的详细说明。依赖可用性方面,pyproject.toml列出了依赖,但未提供版本锁定或完整性校验,且集成测试工作流中额外安装了math-verify,表明依赖管理不完整。失败消息方面,测试脚本提供了基本的错误输出,但未提供面向用户的故障排除指南。
证据显示:README明确了目标受众(性能优化、算法发现等)和多种使用场景,提供了多个示例。能力边界方面,README描述了可配置的约束(如系统消息中的'必须不改变'),但未提供全面的能力边界文档。触发精度方面,提供了配置示例和系统消息指导,但未提供详细的触发条件说明。环境适配方面,支持多种LLM提供商和本地模型,但未提供所有环境的详细配置指南。
证据显示:README提供了清晰的信息架构,包括快速开始、示例、配置等。安装说明详细,包括PyPI、开发安装和Docker。命名稳定性方面,项目名称和主要API在文档中一致。示例和FAQ方面,提供了多个示例,但缺少FAQ部分。已知限制方面,未明确列出。许可证为Apache-2.0,但未提供版权所有者信息。版本控制方面,pyproject.toml使用动态版本,但未提供CHANGELOG。维护责任方面,作者信息仅列出'codelion',未提供维护者联系方式或贡献指南。
证据显示:输出可用性方面,提供了库API和CLI,并展示了输出示例。边际价值方面,声称提供2-3倍加速和SOTA结果,但未提供独立验证。成本效益方面,提供了成本估算,但未提供实际基准测试数据。
证据显示:README中的性能声明(如2-3倍加速、SOTA)未提供可追溯的基准测试或论文引用。跨来源验证方面,仅依赖仓库内部证据,未提供外部验证。事实与推断分离方面,README将推断(如'突破性优化')与事实(如示例)混合,未明确区分。
- 性能声明(如2-3倍加速、SOTA)缺乏可验证的基准测试或论文引用,应谨慎对待。
- 依赖管理不完整,未锁定版本,且集成测试中额外安装math-verify,可能影响可复现性。
- 未提供明确的权限模型或安全审计,作为Agent框架使用时需自行评估风险。
这个 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)。最终输出是改进的程序代码和性能指标。
- 希望自动发现硬件特定优化的 GPU 内核开发者,例如在 Apple Silicon 上实现 2.8 倍加速。
- 研究新的算法或数学结构(如圆形填充)的研究人员,达到最先进结果。
- 需要优化复杂排序或信号处理算法,但手动调优耗时的科学家。
- 希望探索多目标问题并获取 Pareto 最优解的竞争性程序员。
- 需要为特定领域(如 LLM 提示词)自动优化提示词的工程师。
- 希望在多语言(Python, Rust, Metal shaders)中实现算法自动发现的开发者。
这个 Agent 有哪些优点和局限?
- 使用 MAP-Elites 和岛屿模型,避免过早收敛,保持多样性。
- 支持多种 LLM 提供商(OpenAI, Gemini, Claude Code, 本地模型),灵活集成。
- 提供完全可复现的种子设置(默认 seed=42),适合研究。
- 包含可视化器和检查点系统,支持实时监控和结果分析。
- 已验证成果:GPU 内核优化(2.8 倍加速)、圆形填充达到最先进结果。
- 成本取决于 LLM 提供商,高级模型每迭代可能花费 $0.15-0.60。
- 需要 LLM API 密钥,否则无法运行(除非使用 Claude Code CLI)。
- 系统消息设计对成功至关重要,需要迭代调优,不简单。
- 性能可能因问题复杂度和评估器质量而异,需要调整配置。
- 文档中的基准和成果来自示例,不保证应用于所有场景。
如何安装或部署这个 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 字段。
常见问题
运行 OpenEvolve 的成本有多高?
是否必须使用特定 LLM?
如果进化陷入停滞怎么办?
num_diverse_programs 或更改迁移间隔。如何衡量进化是否成功?
combined_score 或指标平均值,或通过可视化器跟踪收敛情况、多样性覆盖度和效率。