gepa-ai/gepa

Optimize prompts, code, and more with AI-powered Reflective Optimization

해결하는 문제

GEPA(Genetic-Pareto)는 특정 평가 지표에 따라 프롬프트, 코드, 에이전트 아키텍처, 구성과 같은 텍스트 기반 파라미터에 의존하는 시스템을 최적화하기 위해 설계된 프레임워크입니다. 기존 최적화 도구는 후보가 실패했는지 여부만 알 수 있었지만, GEPA는 실행 트레이스를 분석하여 실패의 원인을 식별함으로써 타겟된 개선을 이끌어냅니다.

작동 방식

GEPA는 LLM 기반의 반성과 파레토 효율적인 진화적 탐색을 결합합니다:

  1. 선택: 다양한 작업 하위 집합에서 최고 성능을 보이는 후보들(파레토 프론티어 상)을 선택합니다.
  2. 실행: 후보들을 미니배치로 실행하고, 전체 실행 트레이스(에러 메시지, 로그, 프로파일링 데이터)를 캡처합니다.
  3. 반성: LLM이 이러한 트레이스를 분석하여 실패의 근본 원인을 진단합니다.
  4. 변이: 진단 결과를 바탕으로 LLM이 후보의 개선된 버전을 생성합니다.
  5. 수용: 개선된 후보를 풀에 추가하고 파레토 프론티어를 업데이트합니다.

또한 "행동 가능한 보조 정보"(ASI)를 활용하며, 이는 기울기의 텍스트 버전과 유사한 진단 피드백을 제공하며, 두 개의 파레토 최적 후보의 강점을 통합할 수도 있습니다.

대상 사용자

  • AI 엔지니어: 복잡한 프롬프트나 에이전트 워크플로우를 수동으로 추측하지 않고도 최적화하고 싶은 사람.
  • 시스템 연구자: 스케줄링 정책이나 코드와 같은 프롬프트 외 텍스트 아티팩트를 최적화하고 싶은 사람.
  • DSPy 사용자: dspy.GEPA를 통해 AI 파이프라인에 자동 최적화를 통합하고 싶은 사람.
  • 에이전트 개발자: 에이전트가 GEPA 에이전트 스킬을 통해 자가 최적화할 수 있는 능력을 갖추고 싶은 사람.

주요 특징

  • 효율성: RL(예: GRPO)보다 35배 빠르며, Claude Opus와 같은 최상위 모델을 사용하는 것보다 훨씬 저렴하다고 주장.
  • 다용도성: 프롬프트, 에이전트 아키텍처, RAG 설정, 심지어 SVG 그래픽까지 최적화 가능.
  • 광범위한 통합: MLflow, Pydantic AI, Comet ML Opik, Google의 Gemini Enterprise Agent Platform 등 주요 도구에 통합되어 있음.
  • 확장성: 어떤 시스템에도 연결 가능한 GEPAAdapter 인터페이스 제공. LangChain, MCP, RAG용 내장 어댑터도 제공.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트