퓨샷 예시 제대로 하기
퓨샷(few-shot) 프롬프팅이란 모델에게 새로운 작업을 요청하기 전에 그 작업을 수행한 예시 몇 개를 보여주는 것을 의미합니다. 잘 활용하면 형식, 스타일, 엣지 케이스 동작을 고정하는 가장 빠른 방법입니다 — 원하는 것을 말로 설명하는 것보다 나은 경우가 많습니다.
왜 예시가 설명을 이기는가
"간결하고 친근하게"는 모호합니다. 간결하고 친근한 출력 두 개를 보여주는 것은 명확합니다. 모델은 예시를 패턴 매칭하여 그 패턴을 이어갑니다.
깔끔한 퓨샷 프롬프트
Classify each support message as: billing, bug, or feature.
Message: "I was charged twice this month."
Label: billing
Message: "The app crashes when I upload a photo."
Label: bug
Message: "Can you add dark mode?"
Label: feature
Message: "My subscription renewed at the wrong price."
Label:
모델은 패턴을 갖고 있으므로 마지막 줄을 완성합니다.
예시를 선택하고 형식을 정하는 방법
- 다양성을 포괄하세요, 특히 당신이 신경 쓰는 엣지 케이스를 포함하세요. 어떤 범주가 드물거나 까다롭다면 포함시키세요.
- 예시를 형식 면에서 일관되게 유지하세요 — 같은 구조, 같은 레이블, 같은 구분자. 비일관성은 비일관성을 가르칩니다.
- 2~5개면 충분한 경우가 많습니다. 더 많이 쓰면 어렵거나 다양한 작업에 도움이 되지만 토큰 비용이 들고 예시의 특이점에 과적합될 수 있습니다.
- 순서가 중요할 수 있습니다 — 가장 명확한 예시를 먼저 두세요. 분류 작업에서는 같은 레이블끼리 모두 몰아두지 마세요.
- 구분자(또는 XML 태그)를 사용해 예시와 실제 입력을 분리하세요.
제로샷 대 퓨샷
먼저 제로샷(그냥 요청하기)을 시도해보세요 — 최신 모델은 강력합니다. 특정 형식/스타일이 필요하거나 작업이 모호할 때 예시를 추가하세요. 제로샷이 이미 완벽하게 해낸다면, 예시에 비용을 들이지 마세요.
:::tip 예시는 데이터입니다 — 깨끗하게 유지하세요 잘못되거나 엉성한 예시는 적극적으로 잘못된 것을 가르칩니다. 학습 데이터처럼 큐레이션하세요. :::