Repolode
algorithmicsuperintelligence

algorithmicsuperintelligence/openevolve

LLMでコードを反復的に変異・評価し、より優れたアルゴリズムの発見を目指すオープンソースの進化型コーディングエージェント。AlphaEvolveのアプローチを実装。

スター
7,603
フォーク
1,190
未解決の Issue
95
最終コミット
19 時間前

これは何?

OpenEvolveは、ソースコードに対する進化ループを実行します。LLMがプログラムの変更案を提示し、ユーザーが作成した評価器が各候補を採点し、優れた候補が次のラウンドに引き継がれます。プログラムは複数の島にまたがるMAP-Elitesの品質・多様性グリッドに保存されるため、局所最適解に収束せず、多様な解を維持しながら探索できます。関数の最小化、円詰め、GPUカーネルのチューニング、ソートアルゴリズムなど、スクリプトで正しさや性能を測定できる問題を対象としています。

PyPIからインストールするか、Dockerで実行できます。また、run_evolutionやevolve_functionなどの関数を使い、Pythonライブラリとして呼び出すこともできます。Gemini、OpenAI、OllamaやvLLMなどのローカルサーバーを含め、OpenAI互換APIであればLLMバックエンドとして利用できます。複数モデルのアンサンブルには重みを設定でき、APIキーがないユーザー向けにClaude Code CLIまたはCodex app-serverバックエンドも用意されています。設定はYAMLで行い、シード値の設定、カスケード評価、モデルにフィードバックするエラー情報の保存、カスタムプロンプトテンプレートなどを指定できます。

リポジトリにはPython、Rust、R、Metalシェーダーのサンプルに加え、進化ツリーとMAP-Elitesグリッドのビジュアライザーが含まれています。シード値を固定すれば結果を再現でき、実行中にはチェックポイントが保存されます。

主な機能

  • 01LLMが提案する変更を、ユーザー作成の評価器で採点しながらコードを進化させます。
  • 02複数の島にまたがるMAP-Elitesの品質・多様性グリッドを使い、多様な集団を維持します。
  • 03OpenAI互換APIのほか、ローカルモデルやClaude Code、Codex CLIのバックエンドを利用できます。
  • 04LLMアンサンブルへの重み付けと、弱い候補を早期に除外するカスケード評価に対応しています。
  • 05PythonライブラリのインターフェースとCLIを提供し、Dockerイメージも利用できます。
  • 06進化ツリーとMAP-Elitesグリッドを表示するビジュアライザーを備えています。

ユースケース

  • 性能を自動でベンチマークできる数値計算ルーチンやカーネルのチューニング。
  • 円詰めなどの数学問題で、より優れた構成的解を探索する。
  • 測定可能なテストスイートを使って、プロンプトや小規模なプログラムを進化させる。
  • ローカルモデルを使ったLLM主導のアルゴリズム発見を試す。

クイックスタート

  1. 1

    PyPIからOpenEvolveをインストールする

    pip install openevolve
  2. 2

    LLM APIキーを設定する(この例ではデフォルトでGoogle Geminiを使用します。Google AI Studioからキーを取得してください)

    export OPENAI_API_KEY="your-gemini-api-key"
  3. 3

    最初の進化の例を実行する

    python openevolve-run.py examples/function_minimization/initial_program.py examples/function_minimization/evaluator.py --config examples/function_minimization/config.yaml --iterations 50

使う前に知っておきたいこと

  • 各イテレーションでLLMを呼び出すため、実行にはAPI利用料がかかり、イテレーションを重ねると費用がかさむ場合があります。
  • 進化の実行にはOpenAI互換のLLM APIまたはClaude Code CLIが必要なため、モデルへのアクセスを用意する必要があります。

トピック

よくある質問

openevolve とは?
LLMでコードを反復的に変異・評価し、より優れたアルゴリズムの発見を目指すオープンソースの進化型コーディングエージェント。AlphaEvolveのアプローチを実装。 OpenEvolveは、ソースコードに対する進化ループを実行します。LLMがプログラムの変更案を提示し、ユーザーが作成した評価器が各候補を採点し、優れた候補が次のラウンドに引き継がれます。プログラムは複数の島にまたがるMAP-Elitesの品質・多様性グリッドに保存されるため、局所最適解に収束せず、多様な解を維持しながら探索できます。関数の最小化、円詰め、GPUカーネルのチューニング、ソートアルゴリズムなど、スクリプトで正しさや性能を測定できる問題を対象としています。
openevolve は無料で使えますか?ライセンスは?
openevolve は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
openevolve は今もメンテナンスされていますか?
活発にメンテナンス中。openevolve の最終コミットは 2026年10月19日 です。
openevolve は何に使えますか?
性能を自動でベンチマークできる数値計算ルーチンやカーネルのチューニング。 円詰めなどの数学問題で、より優れた構成的解を探索する。 測定可能なテストスイートを使って、プロンプトや小規模なプログラムを進化させる。 ローカルモデルを使ったLLM主導のアルゴリズム発見を試す。
openevolve のインストール方法は?
PyPIからOpenEvolveをインストールする: pip install openevolve LLM APIキーを設定する(この例ではデフォルトでGoogle Geminiを使用します。Google AI Studioからキーを取得してください): export OPENAI_API_KEY="your-gemini-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
openevolve はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/algorithmicsuperintelligence/openevolve

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト