프롬프트 엔지니어링으로 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은 단순하지만 효과가 확실했다.