프롬프트 엔지니어링으로 GPT-4 API 응답 품질 개선하기
문제 상황
고객 문의 자동 응답 챗봇에 GPT-4 API를 붙이는 작업을 진행했다. 초기에는 단순히 사용자 질문을 그대로 프롬프트에 넣었더니 응답이 너무 장황하거나, 때로는 엉뚱한 답변을 내놓는 경우가 많았다.
해결 과정
1. 시스템 역할 명확화
const systemPrompt = `당신은 전자상거래 고객센터 상담원입니다.
- 답변은 3문장 이내로 간결하게 작성
- 불확실한 정보는 추측하지 말고 "확인이 필요합니다"라고 안내
- 배송, 반품, 결제 문의만 처리`;
역할과 제약사항을 명시하니 응답 톤이 일관되어졌다.
2. Few-shot 예시 추가
const fewShotExamples = [
{
user: "배송 언제 오나요?",
assistant: "주문번호를 알려주시면 배송 현황을 확인해드리겠습니다. 마이페이지 > 주문내역에서도 실시간 조회 가능합니다."
},
{
user: "환불 어떻게 해요?",
assistant: "반품 신청 후 상품 회수 확인되면 3~5영업일 내 환불됩니다. 마이페이지에서 반품 신청 가능합니다."
}
];
Few-shot 예시를 메시지 배열 앞에 추가하니 원하는 응답 형식을 학습시킬 수 있었다.
3. 구조화된 출력 요구
특정 케이스에서는 JSON 형식으로 응답받도록 명시했다.
const prompt = `다음 문의를 분석하여 JSON으로 응답하세요.
{
"category": "배송|반품|결제|기타",
"urgency": "high|medium|low",
"response": "고객 응답 메시지"
}
문의: ${userQuery}`;
결과
- 응답 일관성 90% 이상 달성
- 평균 응답 길이 150자 내외로 안정화
- 잘못된 정보 제공 케이스 80% 감소
프롬프트 엔지니어링은 결국 요구사항 명세와 비슷했다. 명확한 역할, 구체적인 예시, 제약사항만 잘 설정해도 LLM을 실무에 충분히 활용할 수 있다는 걸 확인했다.