Repolode
algorithmicsuperintelligence

algorithmicsuperintelligence/openevolve

LLM이 코드를 반복적으로 변형하고 점수를 매겨 더 나은 알고리즘을 찾는 오픈소스 진화형 코딩 에이전트로, AlphaEvolve 접근법을 구현합니다.

스타
7,603
포크
1,190
열린 이슈
95
마지막 커밋
16시간 전

어떤 프로젝트인가요?

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 백엔드를 지원합니다.
  • 04가중치를 적용한 LLM 앙상블과 성능이 낮은 후보를 초기에 걸러내는 캐스케이드 평가를 지원합니다.
  • 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 통계는 매일 갱신됩니다.

관련 프로젝트