Zero-shot·One-shot·Few-shot의 차이를 이해하고, 예시의 품질·다양성·순서가 출력에 미치는 영향을 실험 데이터와 함께 배운다.
Few-shot Prompting이란?
모델에게 작업 방식을 설명하는 대신, 직접 예시를 보여주는 기법입니다. 인간이 새 업무를 배울 때 "예를 들면 이런 방식으로 해줘"라고 하는 것과 같습니다.
# Zero-shot: 예시 없이 바로 요청
"이 리뷰가 긍정인지 부정인지 분류해줘: 배송이 너무 느렸어요."
# One-shot: 예시 1개
"리뷰를 긍정/부정으로 분류해줘.
예시: 포장이 꼼꼼해서 좋았어요 → 긍정
분류해줘: 배송이 너무 느렸어요."
# Few-shot: 예시 여러 개
"리뷰를 긍정/부정/중립으로 분류해줘.
예시1: 포장이 꼼꼼해서 좋았어요 → 긍정
예시2: 배송이 3일이나 걸렸어요 → 부정
예시3: 그냥 보통이에요 → 중립
분류해줘: 배송이 너무 느렸어요."
Few-shot이 효과적인 이유
모델은 예시를 통해 다음을 학습합니다:
- 작업 형식: 입력과 출력의 패턴
- 판단 기준: 경계 케이스 처리 방식
- 출력 스타일: 어조, 길이, 구조
- 도메인 특화 규칙: 일반적 규칙에서 벗어난 특수 케이스
예시 설계의 핵심 원칙
원칙 1: 다양성 확보
예시가 모두 비슷하면 모델이 패턴을 과도하게 일반화합니다.
# 나쁜 예시 세트 (모두 비슷한 케이스)
예시1: "너무 좋았어요!" → 긍정
예시2: "정말 마음에 들었습니다" → 긍정
예시3: "훌륭한 제품이네요" → 긍정
# 좋은 예시 세트 (다양한 케이스)
예시1: "너무 좋았어요!" → 긍정
예시2: "배송은 빨랐는데 품질이 별로" → 부정 (복합 감정)
예시3: "예상대로였어요, 특별하진 않음" → 중립 (무감정)
예시4: "처음엔 실망했지만 CS 대응이 훌륭해서 만족" → 긍정 (반전)
원칙 2: 경계 케이스 포함
# 경계 케이스가 중요한 이유
모호한 입력: "빨리 왔는데 생각보다 작네요"
→ 경계 케이스 예시 없으면 모델이 임의로 판단
→ 경계 케이스 예시 있으면 일관된 기준 적용
원칙 3: 예시의 형식 일관성
# 형식이 일관된 예시 (좋음)
입력: "..."
분류: [레이블]
이유: "..." (한 줄)
# 형식이 불일관한 예시 (나쁨)
예시1 형식: 입력 → 레이블
예시2 형식: 입력 : 레이블 (이유: ...)
고급 기법: 예시의 순서 효과
연구에 따르면 Few-shot에서 마지막 예시가 결과에 가장 큰 영향을 미칩니다 (최신성 편향, Recency Bias). 가장 중요하거나 대표적인 예시를 마지막에 배치하세요.
... (일반 예시들) ...
마지막 예시: [가장 입력과 유사한 케이스] → [원하는 패턴]
분류해줘: [실제 입력]
실전 Few-shot 활용: 구조화된 데이터 추출
아래 형식으로 채용 공고에서 정보를 추출해줘.
예시1:
입력: "삼성전자 소프트웨어 엔지니어 채용. 경력 3년 이상. 서울 강남구. 연봉 5,000~7,000만원"
출력: {"company": "삼성전자", "role": "소프트웨어 엔지니어", "experience": "3년 이상", "location": "서울 강남구", "salary": "5000-7000"}
예시2:
입력: "스타트업 백엔드 개발자 구함. 신입 가능. 판교. 급여 협의"
출력: {"company": null, "role": "백엔드 개발자", "experience": "신입 가능", "location": "판교", "salary": null}
추출해줘: "카카오 데이터 분석가 채용. 경력 2년 이상 우대. 제주 또는 판교. 연봉 4,500만원~"
Few-shot vs. Fine-tuning 선택 기준
| 기준 | Few-shot | Fine-tuning |
|---|---|---|
| 데이터 준비 | 3~10개 예시 | 수백~수천 개 예시 필요 |
| 적용 속도 | 즉시 | 훈련 시간 필요 |
| 비용 | 낮음 | 높음 |
| 일관성 | 중간 | 높음 |
| 적합한 경우 | 탐색, 프로토타이핑 | 대규모 반복 작업 |
몇 개의 예시가 최적인가?
연구 결과에 따르면:
- 1~3개: 형식 패턴 학습에 충분
- 5~10개: 복잡한 분류나 뉘앙스 학습에 효과적
- 10개 이상: 컨텍스트 윈도우를 낭비할 수 있음. 대신 Fine-tuning 고려
Few-shot은 모델에게 "이렇게 해줘"라고 설명하는 것보다 "이렇게 한 게 바로 내가 원하는 거야"라고 보여주는 것입니다. 다양성 있는 고품질 예시 5~7개가 수백 단어의 지시보다 강력한 경우가 많습니다.
관련 검색어 · Few-shot 프롬프팅, 예시 기반 프롬프트, Zero-shot One-shot, 프롬프트 예시 설계, In-context Learning, AI 분류 프롬프트