Project report / GitHub evidence
openevolve
这是可索引项目报告证据页:它保留 openevolve 的源材料入口、机制线索和限制提醒;正文仍需 reader/editor 与 academic public-copy review 后才能当作最终结论引用。
openevolve
项目概览
- 仓库:algorithmicsuperintelligence/openevolve
- Star / Fork:6500 / 1000
- 最近活跃:2026-03-18T12:25:39Z
- 主要语言:Python
- 许可证:Apache-2.0
- 中文摘要:开源 AlphaEvolve 风格的进化式编码智能体,使用 LLM 生成程序变体、评估打分并选择高分候选持续迭代。
技术栈
Python, OpenAI 兼容 API, PyTorch, pytest
本轮 metadata 刷新
- 2026-06-03 公开 GitHub 页面可见
6.5kstars、1kforks、74issues、42pull requests,以及52个 releases。 - 最新可见 release 仍是
v0.2.27(2026-03-18),因此本轮把 raw 时间缺口从unknown修到 web-observed2026-06-03,但不伪造新的 push 时间。 - Shell GitHub API 仍不可用,所以本卡把这轮 freshness 明确标为 public-page observed,而不是 API-verified。
依赖与配置证据:
examples/lm_eval/requirements.txtexamples/tsp_tour_minimization/requirements.txtexamples/function_minimization/requirements.txtexamples/circle_packing/requirements.txtexamples/mlx_metal_kernel_opt/requirements.txtexamples/r_robust_regression/requirements.txtexamples/rust_adaptive_sort/requirements.txtexamples/web_scraper_optillm/requirements.txtexamples/online_judge_programming/requirements.txtexamples/algotune/requirements.txt
核心架构图(文字描述)
任务 / 环境 / Benchmark 输入 → 进化/搜索循环 → 评估器/打分器 → 改进后的输出、代码、Prompt、记忆、策略或模型工件
目录结构信号
目录 .github
目录 .github/instructions
文件 .github/instructions/sidebar-node-logic.instructions.md
目录 .github/workflows
文件 .github/workflows/claude.yml
文件 .github/workflows/python-test.yml
文件 .github/workflows/release.yml
文件 .gitignore
文件 .pre-commit-config.yaml
文件 CLAUDE.md
文件 CONTRIBUTING.md
文件 Dockerfile
文件 LICENSE
文件 MANIFEST.in
文件 Makefile
文件 README.md
目录 configs
文件 configs/README.md
文件 configs/default_config.yaml
文件 configs/early_stopping_example.yaml
文件 configs/island_config_example.yaml
文件 configs/island_examples.yaml
目录 examples
文件 examples/README.md
目录 examples/algotune
文件 examples/algotune/README.md
目录 examples/algotune/affine_transform_2d
目录 examples/algotune/convolve2d_full_fill
文件 examples/algotune/create_task.py
目录 examples/algotune/eigenvectors_complex
目录 examples/algotune/fft_cmplx_scipy_fftpack
目录 examples/algotune/fft_convolution
文件 examples/algotune/generate_all_tasks.py
目录 examples/algotune/lu_factorization
目录 examples/algotune/polynomial_real
目录 examples/algotune/psd_cone_projection
文件 examples/algotune/requirements.txt
文件 examples/algotune/run_benchmark.py
文件 examples/algotune/task_adapter.py
目录 examples/alphaevolve_math_problems
文件 examples/alphaevolve_math_problems/README.md
目录 examples/alphaevolve_math_problems/circle_packing_rect
目录 examples/alphaevolve_math_problems/erdos_min_overlap
目录 examples/alphaevolve_math_problems/first_autocorr_ineq
目录 examples/alphaevolve_math_problems/heilbronn_convex
目录 examples/alphaevolve_math_problems/heilbronn_triangle
目录 examples/alphaevolve_math_problems/hexagon_packing
目录 examples/alphaevolve_math_problems/kissing_number
目录 examples/alphaevolve_math_problems/matmul
目录 examples/alphaevolve_math_problems/minimizing_max_min_dist
目录 examples/alphaevolve_math_problems/second_autocorr_ineq
目录 examples/alphaevolve_math_problems/sums_diffs_finite_sets
目录 examples/alphaevolve_math_problems/third_autocorr_ineq
目录 examples/alphaevolve_math_problems/uncertainty_ineq
目录 examples/arc_benchmark
关键代码片段分析
openevolve-run.py
- 代码信号:第 3 行:
Entry point script for OpenEvolve;第 6 行:from openevolve.cli import main。
tests/test_evolution_trace.py
- 代码信号:第 2 行:
Tests for evolution trace functionality;第 12 行:from openevolve.evolution_trace import (;第 13 行:EvolutionTrace,;第 14 行:EvolutionTracer,;第 15 行:extract_evolution_trace_from_checkpoint,。
tests/integration/test_evolution_pipeline.py
- 代码信号:第 2 行:
Integration tests for the full evolution pipeline with real LLM inference;第 7 行:from openevolve.controller import OpenEvolve;第 10 行:class TestEvolutionPipeline:;第 11 行:"""Test complete evolution with real LLM generation""";第 15 行:async def test_full_evolution_loop(。
examples/tsp_tour_minimization/start_evolution.py
- 代码信号:第 12 行:
# openevolve & related imports;第 13 行:from openevolve import Config, OpenEvolve;第 20 行:def latest_checkpoint(dir_path: pathlib.Path) -> str | None:;第 29 行:match = re.fullmatch(r"checkpoint_(\d+)", path.name);第 40 行:async def run_evolution(evolve: OpenEvolve, checkpoint_path: str | None) -> None:。
examples/k_module_problem/run_openevolve_trials.py
- 代码信号:第 2 行:
"""Run multiple trials of OpenEvolve to get statistics.""";第 15 行:def run_trial(trial_num: int, max_iterations: int = 100, seed: int = None):;第 16 行:"""Run a single OpenEvolve trial.""";第 17 行:output_dir = f"openevolve_output_trial_{trial_num}";第 40 行:# Run OpenEvolve。
实现方法提取
- 循环类型:进化/搜索循环 → 评估器/打分器。
- LLM 交互模式:从依赖和源码命名推断,主要通过 Prompt 模板、LLM API 调用、评估反馈或记忆状态完成迭代。
- 反馈来源:可能来自单元测试、Benchmark 分数、模型自评、反思文本、运行错误或人工定义的 judge。
- 跨轮状态:候选代码、反思记忆、提示词/上下文、策略池、生成数据或模型训练工件。
与其他项目的对比
- 它代表“可执行代码/算法”层面的 Self Evolve,和 Self-Refine 的文本精炼不同,反馈来自真实评测器或 benchmark 分数。
- 在 Landing Page 中建议标签:
进化/搜索循环、评估器/打分器。