프롬프트 엔지니어링으로 GPT-4 API 응답 품질 개선하기
배경
사내 고객 지원 챗봇에 GPT-4 API를 도입하면서 초기에는 기대만큼 정확한 답변을 얻지 못했다. 같은 질문에도 응답이 들쑥날쑥했고, 때로는 hallucination 문제도 발생했다.
적용한 프롬프트 패턴
1. Role과 Context 명확히 정의
const systemPrompt = `당신은 10년차 고객 지원 전문가입니다.
우리 회사의 제품 정책과 FAQ 문서를 기반으로 답변하세요.
[제품 정책]
${policies}
[FAQ]
${faqData}`;
단순히 "고객 질문에 답변해주세요"보다 역할과 맥락을 구체적으로 제공하니 응답 정확도가 눈에 띄게 개선되었다.
2. Few-shot Learning
올바른 응답 예시 2-3개를 프롬프트에 포함시켰다.
const examples = `
예시 1:
Q: 환불 가능 기간은?
A: 구매일로부터 14일 이내 미사용 제품에 한해 환불 가능합니다.
예시 2:
Q: 배송비는 얼마인가요?
A: 3만원 이상 구매 시 무료배송이며, 미만 시 2,500원입니다.
`;
3. 출력 형식 제약
JSON 스키마를 명시해서 파싱 오류를 줄였다.
const formatInstruction = `
응답은 반드시 다음 JSON 형식으로 제공하세요:
{
"answer": "고객 답변",
"confidence": "high|medium|low",
"source": "참조한 정책 또는 FAQ 번호"
}
`;
4. Temperature 조정
창의성보다 일관성이 중요한 케이스라 temperature를 0.3으로 낮췄다. 같은 질문에 대한 응답 편차가 확연히 줄었다.
결과
- 정확도: 72% → 89%
- 평균 응답 시간: 2.3초 (GPT-4 API 특성상 GPT-3.5보다 느림)
- hallucination 발생률: 18% → 4%
교훈
GPT-4 자체의 성능도 뛰어나지만, 프롬프트 설계에 따라 실사용 품질은 천차만별이다. 특히 프로덕션 환경에서는 role 정의, few-shot 예시, 출력 형식 제약, temperature 조정이 필수적이었다. API 비용이 부담되는 부분은 있지만, 잘 설계된 프롬프트로 충분히 가치를 뽑아낼 수 있었다.