프롬프트 최적화
프롬프트 최적화 (Prompt optimizer)
출처: 문서
Prompt optimizer는 대시보드에 있는 채팅 인터페이스로, 프롬프트를 입력하면 현재의 모범 사례에 따라 최적화한 뒤 반환해 줘요. 프롬프트 optimizer를 데이터셋과 함께 사용하면 프롬프트를 자동으로 개선하는 강력한 방법이 돼요.
OpenAI는 Evals 플랫폼의 일부로 제공되던 데이터셋 기반 프롬프트 optimizer를 단계적으로 제거하고 있어요. Evals는 2026년 10월 31일부터 기존 사용자에게 읽기 전용이 되며, 플랫폼은 2026년 11월 30일에 종료될 예정이에요. 현재 일정은 deprecations 페이지에서 확인할 수 있어요.
데이터 준비하기
- 최적화하고 싶은 프롬프트와 평가용 데이터셋이 포함된 데이터셋을 설정해요.
- 데이터셋에 응답이 포함된 행을 최소 3개 이상 만들어요.
- 각 행에 grader 결과나 사람이 만든 어노테이션(annotation)을 최소 하나 이상 만들어요.
프롬프트 optimizer는 데이터셋에서 다음 항목을 프롬프트 개선에 사용할 수 있어요:
- 어노테이션(추가한 Good/Bad 등급과 커스텀 어노테이션 컬럼)
output_feedback에 작성된 텍스트 비평(critique)- grader의 결과
효과적인 결과를 얻으려면 Good/Bad 등급 과 상세하고 구체적인 비평이 담긴 어노테이션을 추가하세요. 프롬프트에서 원하는 속성을 정확히 포착하는 grader를 만들어요.
프롬프트 최적화하기
데이터셋을 준비했으면 최적화(optimization)를 생성해요.
- 프롬프트 패널 하단에서 Optimize 를 클릭해요. 그러면 최적화된 결과를 위한 새 탭이 만들어지고 백그라운드에서 실행되는 최적화 프로세스가 시작돼요.
- 최적화된 프롬프트가 준비되면 새 프롬프트를 보고 테스트해요.
- 반복해요. 단일 최적화 실행으로 원하는 결과를 얻을 수도 있지만, 새 프롬프트에 최적화 프로세스를 다시 적용해 보세요 — 출력을 생성하고, 출력에 어노테이션을 달고, grader를 실행하고, 다시 최적화해요.
프롬프트 최적화의 효과는 grader의 품질에 달려 있어요. 프롬프트가 실패하고 있는 각 원하는 출력 속성에 대해 좁게 정의된 grader를 만드는 것을 권장해요.
최적화된 프롬프트는 프로덕션에서 사용하기 전에 항상 평가하고 수동으로 검토해요. 프롬프트 optimizer가 일반적으로 프롬프트의 효과를 확실히 개선해 주지만, 특정 입력에서는 최적화된 프롬프트가 원래 프롬프트보다 성능이 나빠질 수도 있어요.
다음 단계
더 많은 영감이 필요하다면 예제 코드와 서드파티 리소스 링크가 있는 OpenAI Cookbook을 방문하거나, 평가(evals)를 위한 도구에 대해 더 알아보세요:
- Cookbook: Building resilient prompts with evals — 평가를 사용해 지속적 개선의 flywheel을 운용해요.
- Working with evals — 외부 모델에 대해 평가하고 API로 evals와 상호작용하는 등 다양한 방법을 알아봐요.
- Graders — evals의 효과를 높이기 위한 정교한 grader를 만들어요.
- Fine-tuning — 사용 사례에 맞춘 응답 생성 능력을 개선해요.