GEPA를 이용한 반성적 프롬프트 진화
GEPA를 이용한 반성적 프롬프트 진화 (Reflective Prompt Evolution with GEPA)
이 섹션에서는 DSPy용 반성적(reflective) 프롬프트 옵티마이저인 GEPA를 소개할게요. GEPA는 LM이 DSPy 프로그램의 궤적(trajectory)을 되돌아보게 하여, 무엇이 잘 되었는지, 무엇이 잘 되지 않았는지, 무엇을 개선할 수 있는지를 파악하는 능력을 활용해요. 이 반성을 바탕으로 GEPA는 새로운 프롬프트를 제안하고, 진화된 프롬프트 후보들의 트리를 만들어 최적화가 진행됨에 따라 개선을 축적해요.
GEPA는 (스칼라 지표만 사용하는 대신) 도메인별 텍스트 피드백을 활용할 수 있기 때문에, 매우 적은 rollout으로도 성능이 높은 프롬프트를 제안할 수 있는 경우가 많아요. GEPA는 GEPA: Reflective Prompt Evolution Can Outperform Reinforcement Learning 논문에서 소개되었으며, 내부적으로 gepa-ai/gepa에서 제공하는 GEPA 구현을 사용하는 dspy.GEPA로 사용할 수 있어요.
출처: 문서
본문
dspy.GEPA 튜토리얼들
GEPA for AIME (Math)
이 튜토리얼은 GEPA가 단일 dspy.ChainOfThought 기반 프로그램을 최적화해 GPT-4.1 Mini로 AIME 2025에서 10%의 성능 향상을 달성하는 방법을 살펴봐요!
기업 작업을 위한 구조화 정보 추출에 GEPA 사용 (GEPA for Structured Information Extraction for Enterprise Tasks)
이 튜토리얼은 GEPA가 예측기(predictor) 수준의 피드백을 활용해 기업 환경에서 구조화 정보 추출과 분류를 위한 세 부분으로 나뉜 작업에서 GPT-4.1 Nano의 성능을 개선하는 방법을 살펴봐요.
프라이버시를 고려한 위임을 위한 GEPA (GEPA for Privacy-Conscious Delegation)
이 튜토리얼은 GEPA가 LLM-as-a-judge 지표가 제공하는 단순한 피드백을 활용하면서 단 1회의 반복만으로도 빠르게 개선될 수 있는 방법을 살펴봐요. 또한 aggreementate 지표를 하위 구성요소로 분해해 보여주는 텍스트 피드백이 반성 LM이 작업의 어떤 측면을 개선해야 하는지 파악하도록 도와주는 방식에서 GEPA가 어떻게 이점을 얻는지도 다룹니다.
코드 백도어 분류를 위한 GEPA (AI 제어)
이 튜토리얼은 GEPA가 dspy.GEPA와 비교 지표(comparative metric)를 사용해 더 큰 LM이 작성한 코드에서 백도어(backdoor)를 식별하는 GPT-4.1 Nano 분류기를 최적화하는 방법을 살펴봐요! 비교 지표를 통해 프롬프트 옵티마이저는 백도어를 나타내는 코드의 신호를 식별하고, 양성 샘플과 음성 샘플을 구분하는 프롬프트를 만들 수 있어요.