프롬프트 엔지니어링으로 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 비용이 부담되는 부분은 있지만, 잘 설계된 프롬프트로 충분히 가치를 뽑아낼 수 있었다.

프롬프트 엔지니어링으로 GPT-4 API 응답 품질 개선하기