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

배경

사내 고객 지원 챗봇을 GPT-4 API로 구축하면서 초기에는 응답 품질이 들쭉날쭉했다. 같은 질문에도 답변 형식이 달랐고, 때로는 불필요하게 장황했다.

적용한 기법들

1. System Prompt 구조화

역할과 제약사항을 명확히 정의했다.

const systemPrompt = `당신은 전문 고객 지원 담당자입니다.

제약사항:
- 200자 이내로 답변
- 공식 문서에 없는 내용은 "확인이 필요합니다"라고 응답
- 반말 사용 금지

답변 형식:
1. 핵심 답변
2. 관련 문서 링크 (있는 경우)`;

2. Few-shot Learning

예시를 포함하여 원하는 답변 패턴을 학습시켰다.

const fewShotExamples = [
  {
    user: "환불은 어떻게 하나요?",
    assistant: "구매일로부터 7일 이내 마이페이지 > 주문내역에서 환불 신청이 가능합니다. 단, 사용한 쿠폰은 복구되지 않습니다.\n\n관련 문서: https://docs.example.com/refund"
  }
];

3. Temperature 조정

일관성이 중요한 경우 temperature를 0.3 이하로 설정했다.

const response = await openai.chat.completions.create({
  model: "gpt-4",
  messages: [...messages],
  temperature: 0.2,
  max_tokens: 300
});

결과

  • 응답 일관성 80% 향상 (내부 평가 기준)
  • 평균 응답 길이 40% 단축
  • 잘못된 정보 제공 사례 90% 감소

교훈

GPT-4는 강력하지만 프롬프트 설계 없이는 프로덕션에 쓰기 어렵다. 명확한 제약사항, 예시, 출력 형식 지정이 필수였다. 특히 few-shot learning은 단순하지만 효과가 확실했다.

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