14장. Few-shot 프롬프팅
Few-shot 프롬프팅은 모델에게 "이렇게 하라"고 설명하는 대신 "이런 입력에는 이런 출력"이라는 예시 몇 개를 보여 주어 원하는 동작을 끌어내는 기법이다. Claude API에서 예시는 별도의 파라미터가 아니라 messages 배열 안의 user·assistant 메시지 쌍으로 표현된다. 즉 few-shot은 프롬프트 작성 기술인 동시에 메시지 구조 설계 문제이기도 하다. 자격증 시험이 이 장을 다루는 이유도 여기에 있다. 단순히 "예시를 주면 좋아진다"가 아니라, 언제 예시가 필요하고 언제 다른 수단(명령문, 구조화 출력, 도구)이 더 적합한지를 아키텍트 관점에서 판단하도록 묻기 때문이다.
특히 주의할 함정이 하나 있다. 대화 중간에 들어가는 assistant 예시는 정상적인 few-shot이지만, 마지막 턴을 assistant로 채우는 prefill은 claude-opus-4-8을 비롯한 최신 모델군에서 400 오류를 반환한다. 이 둘을 구분하는 것이 이 장의 핵심 시험 포인트다. 또한 capable 모델일수록 예시 개수가 많다고 좋은 것이 아니며, 형식을 반드시 보장해야 한다면 예시 누적보다 output_config.format이나 strict 도구 사용이 정답이라는 점도 함께 익힌다.
이 장을 마치면 다음을 할 수 있다.
- few-shot 예시가 Claude API에서 어떤 메시지 구조로 표현되는지 설명하고, 중간 assistant 예시와 trailing prefill의 차이를 구분한다.
- 예시의 품질·일관성·다양성이 개수보다 중요한 이유를 근거와 함께 제시한다.
- zero-shot, few-shot, 구조화 출력, 도구 사용 중 무엇을 선택할지 의사결정 기준으로 판단한다.
- 큰 few-shot 블록을 프롬프트 캐싱과 결합해 비용을 최적화하는 배치 전략을 설계한다.
| 절 | 제목 | 핵심 주제 |
|---|---|---|
| 01 | 예시 기반 학습 패턴 | 메시지 구조, 중간 assistant 예시 vs prefill 함정, 예시 품질·일관성·다양성, 캐싱 결합 |
| 02 | 언제 어떤 few-shot을 쓸 것인가 | zero-shot 우선 판단, few-shot vs 구조화 출력·도구, 예시 개수 트레이드오프, 모델별 고려 |