개념
퓨샷 러닝(few-shot learning)은 프롬프트 안에 입력과 정답이 짝을 이룬 예시를 몇 개 함께 넣어, 모델이 그 패턴을 따라 답하게 만드는 기법이다. 예시 없이 지시만 주는 제로샷 방식과 대비되며, 예시를 하나만 넣는 경우는 원샷이라고 부른다.
이름에 러닝이 붙어 있지만 LLM의 가중치가 바뀌지는 않는다. 예시는 그저 입력 텍스트의 일부로 들어가고, 모델은 그 안에서 규칙을 읽어 내 이어지는 답을 만든다. 학습이라기보다 주어진 문맥 안에서 패턴을 파악하는 동작에 가까워, 이를 문맥 내 학습(in-context learning)이라 부르기도 한다. 그래서 요청이 끝나면 예시의 효과도 함께 사라진다.
효과가 큰 지점은 두 곳이다. 하나는 출력 형식으로, 원하는 JSON 구조나 문장 길이를 말로 설명하는 것보다 예시 두세 개를 보여 주는 편이 훨씬 정확하게 전달된다. 다른 하나는 판단 기준으로, 어디까지를 긍정으로 볼지처럼 말로 정의하기 애매한 경계를 예시로 대신 보여 줄 수 있다.
예시는 정답을 알려 주는 것을 넘어 작업 자체가 무엇인지를 규정하는 역할도 한다. 지시문만으로는 여러 갈래로 해석될 수 있는 요청도 잘 고른 예시 두 개면 범위가 상당히 좁혀진다. 말로 규칙을 길게 늘어놓다가 오히려 모호해지는 상황에서, 예시로 바꿔 보여 주는 것이 더 짧고 정확한 경우가 많다.
쓰임새
분류, 태깅, 정보 추출, 형식 변환처럼 답의 모양이 정해진 작업에서 특히 잘 듣는다. 시스템 프롬프트에 대표 예시를 고정해 두고 실제 요청만 바꿔 가며 쓰는 구성이 흔하다. 추론이 필요한 문제에서는 답만 보여 주는 대신 풀이 과정까지 담은 예시를 넣어 생각의 사슬을 유도하기도 한다.
예시를 고를 때는 개수보다 대표성이 중요하다. 자주 등장하는 평범한 경우와 헷갈리기 쉬운 경계 사례를 섞고, 예시들 사이에서 형식을 완전히 통일해야 한다. 예시가 늘어난 만큼 매 요청에 토큰 비용이 함께 붙는다는 점도 고려한다.
예시를 어디에 두는지도 결과에 영향을 준다. 지시문 뒤에 예시를 모아 두고 마지막에 실제 입력을 놓는 배치가 일반적이다. 이때 예시와 실제 입력의 형식이 조금이라도 다르면 모델은 그 차이를 의미 있는 신호로 오해한다. 항목 이름, 구분 기호, 줄바꿈 방식까지 똑같이 맞추는 것이 좋다.
자주 하는 오해
예시는 많이 넣을수록 성능이 올라가나?
몇 개를 넘어서면 개선 폭이 크게 줄고 프롬프트만 길어져 비용과 지연이 늘어난다. 잘 고른 세 개가 대충 고른 스무 개보다 나은 경우가 많다.
퓨샷이 파인튜닝을 대체할 수 있지 않나?
둘은 목적이 다르다. 퓨샷은 매 요청마다 예시를 실어 보내는 즉석 조정이고, 파인튜닝은 모델 자체를 바꿔 두는 작업이다. 같은 예시를 매번 반복해 보내고 있다면 파인튜닝을 검토할 신호다.
예시는 형식만 맞으면 되는 것 아닌가?
예시에 담긴 편향이 그대로 따라 나온다. 특정 답변에 치우친 예시를 넣으면 모델의 출력도 그쪽으로 기울고, 예시의 순서에 따라 결과가 달라지기도 한다. 라벨이 고르게 섞이도록 배치하는 것이 안전하다.