Repolode
algorithmicsuperintelligence

algorithmicsuperintelligence/openevolve

Эволюционный агент для генерации кода с открытым исходным кодом: он итеративно изменяет и оценивает программы с помощью LLM, чтобы находить более эффективные алгоритмы, реализуя подход AlphaEvolve.

Звёзды
7,603
Форки
1,190
Открытые issues
95
Последний коммит
15 часов назад

Что это?

OpenEvolve запускает эволюционный цикл над исходным кодом: LLM предлагает изменения программы, написанный вами оценщик проверяет каждый вариант, а лучшие варианты переходят в следующий раунд. Программы хранятся в сетке MAP-Elites, которая сочетает качество и разнообразие, на нескольких островах. Благодаря этому поиск сохраняет разные решения, а не сходится к одному локальному оптимуму. Подход предназначен для задач, где корректность и производительность можно измерить скриптом: например, минимизации функции, упаковки кругов, настройки GPU-ядер или алгоритмов сортировки.

Проект можно установить из PyPI или запустить в Docker, а также вызывать как библиотеку Python с помощью функций вроде run_evolution и evolve_function. В качестве бэкенда для LLM подойдёт любой API, совместимый с OpenAI, включая Gemini, OpenAI и локальные серверы, например Ollama и vLLM. Можно задавать веса для ансамблей моделей. Также доступны бэкенды Claude Code CLI и Codex app-server — для тех, у кого нет API-ключа. Настройки задаются в YAML: можно указать начальные варианты, включить каскадную оценку, передавать модели артефакты с ошибками и использовать собственные шаблоны промптов.

В репозитории есть примеры на Python, Rust, R и шейдерах Metal, а также визуализатор дерева эволюции и сетки MAP-Elites. Если зафиксировать seed, результаты будут воспроизводимыми; во время запусков сохраняются контрольные точки.

Ключевые возможности

  • 01Эволюционирует код: LLM предлагает изменения, а оценщик, написанный пользователем, оценивает варианты.
  • 02Использует сетки MAP-Elites для поиска решений с разными сочетаниями качества и разнообразия на нескольких островах.
  • 03Работает с любым API, совместимым с OpenAI, а также с локальными моделями и бэкендами Claude Code или Codex CLI.
  • 04Поддерживает взвешенные ансамбли LLM и каскадную оценку, которая позволяет отсеивать слабые варианты на раннем этапе.
  • 05Предоставляет интерфейс библиотеки Python и CLI; доступны образы Docker.
  • 06Включает визуализатор деревьев эволюции и сеток MAP-Elites.

Сценарии использования

  • Настройка численных функций или ядер, производительность которых можно автоматически измерить.
  • Поиск более эффективных конструктивных решений математических задач, например упаковки кругов.
  • Эволюционная доработка промптов или небольших программ по результатам измеримых тестов.
  • Эксперименты с поиском алгоритмов на основе LLM и локальных моделей.

Быстрый старт

  1. 1

    Установите OpenEvolve из PyPI

    pip install openevolve
  2. 2

    Настройте ключ API LLM (в примере по умолчанию используется 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, которая может накапливаться при большом количестве итераций.
  • Для запусков эволюции требуется API LLM, совместимый с OpenAI, или CLI Claude Code, поэтому необходимо предоставить доступ к модели.

Темы

Частые вопросы

Что такое openevolve?
Эволюционный агент для генерации кода с открытым исходным кодом: он итеративно изменяет и оценивает программы с помощью LLM, чтобы находить более эффективные алгоритмы, реализуя подход AlphaEvolve. OpenEvolve запускает эволюционный цикл над исходным кодом: LLM предлагает изменения программы, написанный вами оценщик проверяет каждый вариант, а лучшие варианты переходят в следующий раунд. Программы хранятся в сетке MAP-Elites, которая сочетает качество и разнообразие, на нескольких островах. Благодаря этому поиск сохраняет разные решения, а не сходится к одному локальному оптимуму. Подход предназначен для задач, где корректность и производительность можно измерить скриптом: например, минимизации функции, упаковки кругов, настройки GPU-ядер или алгоритмов сортировки.
openevolve можно использовать бесплатно? Какая у него лицензия?
openevolve распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
openevolve всё ещё поддерживается?
Активно поддерживается. Последний коммит в openevolve — 19 окт. 2026 г..
Для чего можно использовать openevolve?
Настройка численных функций или ядер, производительность которых можно автоматически измерить. Поиск более эффективных конструктивных решений математических задач, например упаковки кругов. Эволюционная доработка промптов или небольших программ по результатам измеримых тестов. Эксперименты с поиском алгоритмов на основе LLM и локальных моделей.
Как установить openevolve?
Установите OpenEvolve из PyPI: pip install openevolve Настройте ключ API LLM (в примере по умолчанию используется 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 проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Apache Maka (Incubating) — рабочее пространство для агентов с интерфейсами Desktop, TUI и CLI, которое записывает каждое сообщение модели, вызов инструмента и решение о разрешении в журнал событий только для добавления.

5,9 тыс.559TypeScriptApache-2.0Обновлён вчера