GPT-4 API 프롬프트 엔지니어링 초기 실험
배경
OpenAI가 GPT-4를 발표하고 API 대기자 명단을 운영하기 시작했다. 지난주 액세스 권한을 받아 기존 GPT-3.5 turbo와 비교 실험을 진행했다.
사내 고객 문의 자동 분류 시스템에 적용할 목적으로, 프롬프트 구조에 따른 응답 품질 차이를 확인했다.
실험한 프롬프트 패턴
1. Zero-shot vs Few-shot
# Zero-shot
prompt = "다음 고객 문의를 '결제', '배송', '환불', '기타'로 분류하세요: {query}"
# Few-shot (3-shot)
prompt = """
예시:
문의: 카드 결제가 안돼요 -> 결제
문의: 주문한 상품이 언제 오나요 -> 배송
문의: 환불 신청하고 싶습니다 -> 환불
문의: {query} ->
"""
GPT-3.5는 few-shot에서 30% 정도 정확도가 올랐는데, GPT-4는 zero-shot만으로도 few-shot GPT-3.5 수준이었다.
2. 역할 부여 (Role Assignment)
system_message = "당신은 10년차 고객센터 매니저입니다. 문의를 정확히 분류하는 것이 목표입니다."
체감상 GPT-4에서 역할 부여가 더 효과적이었다. 애매한 케이스에서 맥락을 고려한 판단을 내렸다.
3. 출력 형식 강제
JSON 형식 출력을 요청했을 때 GPT-4의 준수율이 훨씬 높았다. GPT-3.5는 간혹 마크다운 코드블록으로 감싸거나 추가 설명을 덧붙였다.
prompt = """다음 형식으로만 응답하세요:
{"category": "분류명", "confidence": 0.0-1.0}
문의: {query}
"""
실무 적용 시 고려사항
- 비용: GPT-4가 약 15배 비싸다 (gpt-4: $0.03/1K tokens vs gpt-3.5-turbo: $0.002/1K tokens)
- 속도: 평균 응답 시간이 2~3배 느리다
- 정확도: 복잡한 맥락 이해가 필요한 경우 확실한 차이
당장은 중요도가 높은 VIP 고객 문의만 GPT-4로 처리하고, 일반 문의는 GPT-3.5를 유지하는 하이브리드 전략을 고려 중이다.
다음 실험
- Chain-of-Thought 프롬프팅 효과 측정
- 프롬프트 길이에 따른 성능/비용 트레이드오프
- 한국어 특화 프롬프트 패턴 발굴
프롬프트 엔지니어링이 이제 무시할 수 없는 스킬이 되었다. LLM 특성을 이해하고 적절히 유도하는 능력이 개발 생산성에 직접 영향을 미치는 시대다.