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

문제 상황

사내 위키 문서를 자동 요약하는 기능을 구현하게 되었다. GPT-4 API를 사용했지만 초기에는 응답이 들쭉날쭉했다. 같은 문서를 요약해도 어떤 때는 3줄, 어떤 때는 10줄로 나왔고, 핵심을 놓치는 경우도 많았다.

프롬프트 개선 과정

1. 역할과 제약 명시

const systemPrompt = `당신은 기술 문서 요약 전문가입니다.
- 3~5개의 bullet point로 요약
- 각 항목은 한 문장으로 제한
- 코드나 명령어는 백틱으로 감싸기`;

단순히 "요약해줘"보다 구체적인 제약을 주니 일관성이 높아졌다.

2. Few-shot 예시 추가

const fewShotExamples = [
  {
    input: "Redis 캐싱 전략 문서...",
    output: "- `Redis`를 이용한 3단계 캐싱 구조 설명\n- TTL 설정은 데이터 특성에 따라 1시간~24시간\n- 캐시 미스 시 DB 조회 후 재적재"
  }
];

OpenAI 문서에서 권장하는 Few-shot learning을 적용했다. 2~3개 예시만으로도 출력 형식이 안정화되었다.

3. 온도 조정

const response = await openai.chat.completions.create({
  model: 'gpt-4',
  temperature: 0.3,  // 기본 1.0에서 낮춤
  messages: [...]
});

창의성보다 일관성이 중요한 작업이라 temperature를 낮췄다. 0.3 정도가 적당했다.

결과

  • 응답 길이 편차: ±50% → ±10%
  • 핵심 누락률: 30% → 5% 이하
  • 사용자 만족도 상승

프롬프트 엔지니어링이 단순히 "잘 물어보기"가 아니라 명확한 제약, 예시, 파라미터 튜닝의 조합임을 실감했다. GPT-4의 능력을 제대로 활용하려면 프롬프트 설계에 충분한 시간을 투자해야 한다.

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