Few-shot 프롬프팅은 몇 가지 예시를 보여주고 AI가 패턴을 학습해 비슷하게 답변하도록 유도하는 기법입니다.
Few-shot vs Zero-shot
기본 구조
예시 1:
입력: [예시 입력 1]
출력: [예시 출력 1]
예시 2:
입력: [예시 입력 2]
출력: [예시 출력 2]
예시 3:
입력: [예시 입력 3]
출력: [예시 출력 3]
이제 다음을 같은 형식으로 처리해주세요:
입력: [실제 입력]
출력:
실전 템플릿
텍스트 분류
다음 리뷰의 감정을 분류합니다.
예시:
리뷰: "배송이 빠르고 제품 품질도 좋아요"
감정: 긍정
리뷰: "사이즈가 안 맞고 색상도 달라요"
감정: 부정
리뷰: "그냥 평범해요. 나쁘지도 좋지도 않음"
감정: 중립
이제 분류해주세요:
리뷰: "가격 대비 괜찮은데 배송이 좀 늦었어요"
감정:
데이터 추출
텍스트에서 연락처 정보를 추출합니다.
예시 1:
텍스트: "김철수 과장에게 연락하세요. 이메일은 kim@company.com이고 전화번호는 010-1234-5678입니다."
결과: {"이름": "김철수", "직책": "과장", "이메일": "kim@company.com", "전화": "010-1234-5678"}
예시 2:
텍스트: "문의는 support@example.co.kr로 보내주세요."
결과: {"이메일": "support@example.co.kr"}
이제 추출해주세요:
텍스트: "영업팀 박지영 대리 (jy.park@sales.kr, 02-555-1234)"
결과:
문체 변환
격식체를 친근한 말투로 변환합니다.
예시:
원문: "본 서비스를 이용해 주셔서 감사합니다."
변환: "저희 서비스 이용해 주셔서 감사해요! 😊"
원문: "해당 기능은 현재 점검 중입니다."
변환: "앗, 이 기능 지금 점검 중이에요! 조금만 기다려주세요~"
이제 변환해주세요:
원문: "귀하의 문의사항에 대해 답변 드립니다."
변환:
코드 변환
Python 코드를 JavaScript로 변환합니다.
예시 1:
Python:
def greet(name):
return f"Hello, {name}!"
JavaScript:
function greet(name) {
return `Hello, ${name}!`;
}
예시 2:
Python:
numbers = [1, 2, 3, 4, 5]
doubled = [x * 2 for x in numbers]
JavaScript:
const numbers = [1, 2, 3, 4, 5];
const doubled = numbers.map(x => x * 2);
이제 변환해주세요:
Python:
def filter_even(nums):
return [n for n in nums if n % 2 == 0]
JavaScript:
요약 생성
기사를 한 줄로 요약합니다.
예시:
기사: "애플이 새로운 맥북 프로를 발표했다. M3 칩을 탑재해 전작 대비 40% 빨라졌으며, 배터리 수명은 22시간으로 역대 최장이다. 가격은 199만원부터 시작한다."
요약: 애플, M3 칩 탑재 신형 맥북 프로 출시 - 40% 성능 향상, 22시간 배터리
기사: "서울시가 2030년까지 모든 버스를 전기버스로 교체한다고 발표했다. 총 1조원의 예산이 투입되며, 연간 10만톤의 탄소 배출을 줄일 수 있을 것으로 예상된다."
요약: 서울시 2030년 전 버스 전기화 추진 - 1조원 투입, 탄소 10만톤 감축
이제 요약해주세요:
기사: "[실제 기사 내용]"
요약:
고급 기법
다양한 예시 (엣지 케이스 포함)
이메일 주소 유효성을 판단합니다.
예시 1 (정상):
입력: user@example.com
결과: 유효 ✓
예시 2 (정상):
입력: name.surname@company.co.kr
결과: 유효 ✓
예시 3 (비정상 - @ 없음):
입력: userexample.com
결과: 무효 ✗ (@ 기호 없음)
예시 4 (비정상 - 도메인 없음):
입력: user@
결과: 무효 ✗ (도메인 없음)
이제 판단해주세요:
입력: [이메일]
결과:
단계별 추론 예시
수학 문제를 단계별로 풉니다.
예시:
문제: 사과 3개에 1500원일 때, 사과 7개의 가격은?
풀이:
1) 사과 1개 가격 = 1500 ÷ 3 = 500원
2) 사과 7개 가격 = 500 × 7 = 3500원
답: 3500원
문제: 시속 60km로 2시간 30분 이동한 거리는?
풀이:
1) 2시간 30분 = 2.5시간
2) 거리 = 60 × 2.5 = 150km
답: 150km
이제 풀어주세요:
문제: [문제]
풀이:
예시 개수 가이드
| 예시 개수 | 용도 |
|---|---|
| 1-2개 | 간단한 형식 지정 |
| 3-5개 | 일반적인 패턴 학습 |
| 5-10개 | 복잡한 작업, 엣지 케이스 포함 |
좋은 예시의 조건
✅ 대표적인 케이스 포함
✅ 엣지 케이스 포함
✅ 일관된 형식
✅ 명확한 입출력 구분
✅ 다양한 난이도
❌ 너무 비슷한 예시만
❌ 예외 상황 누락
❌ 불일치한 형식
❌ 모호한 구분
Few-shot은 AI를 "학습"시키는 가장 효과적인 방법입니다.