누군가에게 뭔가를 설명해도 이해를 못 하는 답답함을 아시죠?
그다음 한 가지 예를 보여주면 갑자기 다 이해가 되나요?
AI도 같은 방식으로 작동합니다.
이것이 Few-Shot 프롬프팅의 핵심 개념입니다—AI가 정확히 당신이 원하는 일을 하게 하기 위한 가장 신뢰할 수 있는 기술 중 하나입니다.
설명의 문제점
프롬프트를 작성할 때, 보통 당신이 원하는 것을 설명하고 있습니다:
“캐주얼하면서도 전문적인 제품 설명을 작성하세요. 기능보다는 이점을 강조하고, 짧은 문장을 사용하고, 부드러운 행동 유도와 함께 끝내세요.”
이것은 많은 지시입니다. 그리고 AI는 “캐주얼하면서도 전문적인"을 당신과 다르게 해석할 수 있습니다. “짧은 문장"을 당신이 생각한 것과 다르게 이해할 수 있습니다.
말은 부정확합니다. 특히 톤, 스타일, 형식을 설명할 때입니다.
해결책: 말하지 말고 보여주기
Few-Shot 프롬프팅은 대사를 뒤집습니다. 당신이 원하는 것을 설명하는 대신에, AI에 그것의 예제를 보여줍니다.
여기가 구조입니다:
예제 1:
입력: [example input]
출력: [당신이 원하는 example output]
예제 2:
입력: [another example input]
출력: [another example output]
이제 이것을 하세요:
입력: [당신의 실제 입력]
출력:
AI는 당신의 예제를 분석하고, 패턴을 식별하고, 새로운 입력에 적용합니다.
긴 설명이 필요하지 않습니다. 예제가 가르칩니다.
실제 예제
당신이 AI로 하여금 특정 스타일로 제품 태그라인을 작성하도록 원한다고 해봅시다.
Few-Shot 없음 (설명)::
피트니스 앱의 슬로건을 작성하세요. 강력하게 만들고,
능동적인 동사를 사용하고, 변환을 암시하고, 8단어 미만으로 유지하세요.
Few-Shot 사용 (보여주기):
내가 좋아하는 슬로건들입니다:
제품: 러닝화
슬로건: "더 빠르게 달려. 가벼움을 느껴. 더 멀리 가."
제품: 명상 앱
슬로건: "마음을 진정시켜. 평화를 찾아."
제품: 커피 구독
슬로건: "더 좋은 아침으로 깨어나."
이제 한 개를 작성하세요:
제품: 피트니스 앱
슬로건:
Few-Shot 버전은 스타일을 설명하지 않습니다—그것을 시연합니다. AI는 당신이 이러한 규칙을 명시할 필요 없이 패턴(짧은 구문, 능동적인 동사, 암시된 이점)을 포착합니다.
Zero-Shot vs One-Shot vs Few-Shot
이러한 용어는 당신이 제공하는 예제의 수를 설명합니다:
| 유형 | 예제 | 최고의 |
|---|---|---|
| Zero-shot | 0 | AI가 이미 아는 간단한 작업 |
| One-shot | 1 | 가벼운 지도가 필요한 작업 |
| Few-shot | 2-5 | 명확한 패턴이 필요한 작업 |
한 가지 예제로 시작하세요. 출력이 일치하지 않으면 다른 예제를 추가하세요. 일반적으로 2-3개의 예제로 충분합니다. 5개 이상은 거의 도움이 되지 않으며 컨텍스트 공간을 낭비합니다.
Few-Shot 프롬프팅이 빛나는 때
분류 작업
AI에게 당신의 카테고리를 가르치기:
이러한 고객 메시지를 분류하세요:
메시지: "내 주문은 언제 도착합니까?"
카테고리: 배송 문의
메시지: "이 제품은 일주일 후에 고장났습니다"
카테고리: 품질 불만
메시지: "파란색으로 있습니까?"
카테고리: 제품 질문
메시지: "돈을 돌려받고 싶습니다"
카테고리: 환불 요청
이제 이것을 분류하세요:
메시지: "배송 주소를 변경할 수 있습니까?"
카테고리:
스타일 매칭
AI로 하여금 특정 스타일로 작성하도록:
정식 텍스트를 캐주얼로 변환하세요:
정식: "죄송하지만 당신의 신청은 수락되지 않았습니다."
캐주얼: "죄송하지만 이번에는 당신과 진행하지 않겠습니다."
정식: "요청한 문서를 첨부 파일로 참조하세요."
캐주얼: "당신이 요청한 문서입니다!"
정식: "당신의 문의는 수신되었으며 48시간 내에 처리될 것입니다."
캐주얼:
형식 변환
특정 출력 구조를 가르치기:
회의 노트를 작업 항목으로 변환하세요:
노트: "Q4 예산 논의. Sarah는 재무에서 최종 수치를 얻어야 합니다.
출시를 11월로 연기. Mike가 일정을 업데이트할 것입니다."
작업 항목:
- [ ] Sarah: 재무에서 Q4 수치 얻기
- [ ] Mike: 11월 출시를 위한 프로젝트 일정 업데이트
노트: "웹사이트 리디자인 검토. 홈페이지 승인됨. 소개 페이지를 위한 새 복사본 필요.
디자인 팀이 다음 스프린트를 시작합니다."
작업 항목:
데이터 추출
특정 정보 추출:
이 메시지에서 연락처 정보를 추출하세요:
메시지: "안녕, 나는 Acme Corp의 John Smith입니다. 당신은
john@acme.com 또는 555-123-4567에서 나에게 연락할 수 있습니다."
추출: 이름: John Smith | 회사: Acme Corp | 이메일: john@acme.com | 전화: 555-123-4567
메시지: "나는 Sarah Chen입니다, 마케팅 이사. 내 직통번호는
555-987-6543입니다. 이메일 sarah.chen@bigco.io"
추출: 이름: Sarah Chen | 회사: BigCo | 이메일: sarah.chen@bigco.io | 전화: 555-987-6543
메시지: "야, StartupXYZ의 Mike입니다. 나에게 가장 좋은 연락 방법은
mike@startupxyz.com입니다"
추출:
모범 사례
1. 대표적인 예제 사용
당신의 예제는 당신이 예상하는 입력의 범위를 포함해야 합니다. 감정을 분류하고 있고 당신의 대부분의 데이터가 중립적이라면, 중립 예제를 포함하세요—긍정적 및 부정적만 아니라.
2. 예제를 일관성 있게 유지
모든 예제는 동일한 형식을 따라야 합니다. 첫 번째 예제가 글머리 기호를 사용하면 모두 사용해야 합니다. 불일치는 패턴 매칭을 혼동합니다.
3. 순서가 중요합니다
연구는 예제 순서가 성능에 상당히 영향을 미친다는 것을 보여줍니다. 당신의 최고의, 가장 명확한 예제를 앞에 배치하세요. 특히 까다로운 모서리 사례가 있으면, 이 예제를 마지막에, 당신의 실제 입력 바로 앞에 배치하세요.
4. 수량보다 품질
세 개의 우수한 예제는 열 개의 평범한 예제를 이깁니다. 모든 예제는 명확해야 하고 당신이 원하는 것을 명확히 보여야 합니다.
5. 지시와 결합하기
Few-Shot은 지시가 없다는 의미가 아닙니다. 당신은 둘 다 포함할 수 있습니다—그리고 종종 해야 합니다:
당신은 고객 서비스 분류기입니다. 메시지를 다음으로 분류하세요:
청구, 기술, 일반, 또는 긴급.
예제:
[당신의 예제]
이제 이 메시지를 분류하세요:
[실제 입력]
지시는 컨텍스트를 제공합니다. 예제는 정확히 어떻게 적용할지 보여줍니다.
Few-Shot을 사용하지 말아야 할 때
Few-Shot은 항상 답이 아닙니다:
- 간단한 사실 질문: “프랑스의 수도는 무엇입니까?“는 예제가 필요하지 않습니다.
- 다양성을 원하는 창의적인 작업: 예제는 창의성을 제한할 수 있습니다. 다양한 아이디어를 원하면 패턴을 보여주지 마세요.
- 매우 긴 출력: 각 예제가 500단어면 컨텍스트 공간을 빠르게 사용합니다.
- AI가 이미 잘하는 작업: Zero-Shot이 작동하면 복잡하게 하지 마세요.
템플릿
재사용 가능한 템플릿은 다음과 같습니다:
[선택사항: 작업에 대한 간단한 지시]
예제 1:
입력: [input]
출력: [output]
예제 2:
입력: [input]
출력: [output]
예제 3:
입력: [input]
출력: [output]
이제 이것을 처리하세요:
입력: [당신의 실제 입력]
출력:
레이블(입력/출력)을 당신의 작업에 맞춰 조정하세요. 분류의 경우 “텍스트"와 “카테고리"를 사용할 수 있습니다. 스타일 전송의 경우 “원본” 및 “다시 작성"을 사용할 수 있습니다.
더 나아가기
Few-Shot 프롬프팅은 다른 기법과 결합하면 훨씬 더 잘 작동합니다:
- Few-Shot + Chain of Thought: 답을 단계별로 추론하는 예제 보여주기
- Few-Shot + Role Prompting: AI에 페르소나를 제공하고 그 페르소나가 어떻게 응답하는지의 예제
- Few-Shot + Format Constraints: 예제 및 명시적 형식 요구사항
당신이 얼마나 구체적일 수 있는지—어떤 기법의 조합을 통해서든—당신의 결과가 더 좋을 것입니다.
결론
Few-Shot 프롬프팅은 말하는 것보다 보여주는 것이 더 정확하기 때문에 작동합니다.
정확히 무엇을 원하는지 말로 설명하려고 하는 대신, 예제로 시연하세요. AI는 패턴을 포착하고 새로운 입력에 적용하는 데 매우 능숙합니다.
다음 번에 당신이 원하는 출력을 얻기 위해 고심할 때, 더 많은 지시를 추가하는 것을 멈추세요. 대신 예제를 추가하세요.
때때로 좋은 예제는 천 마디의 설명 가치가 있습니다.