Few-shot Patterns for Output Consistency

이 문서는 CCAF Domain 4를 이해하기 위한 개념 설명용 노트다.
여기서는 few-shot을 단순한 예시 추가 기법이 아니라, 모델이 어떤 출력 패턴을 안정적으로 따르도록 만드는 강한 구조 신호로 이해하는 데 초점을 둔다.

왜 few-shot이 중요한가

모델에게 원하는 출력 형식을 말로 설명하는 것만으로도 어느 정도는 유도할 수 있다. 하지만 형식이 복잡해지거나, 여러 필드의 관계가 중요하거나, 일관된 표현 패턴이 필요해지면 설명만으로는 부족할 수 있다.

예를 들어:

  • 같은 필드를 항상 같은 이름으로 써야 하거나
  • 특정 enum 값만 써야 하거나
  • 설명 필드와 분류 필드의 톤이 섞이지 않아야 하거나
  • 리스트 아이템마다 같은 구조를 유지해야 하는 경우

few-shot example은 이런 패턴을 직접 보여준다.

즉 few-shot의 강점은 단순히 “도와주는 예시”가 아니라,

원하는 출력 패턴을 모델 앞에 실제로 펼쳐 보인다는 점

이다.


왜 설명보다 예시가 더 강할 때가 있는가

설명은 규칙을 말해준다.
예시는 그 규칙이 실제로 어떻게 구현된 모습이어야 하는지를 보여준다.

예를 들어 “severity는 low/medium/high 중 하나로 반환하라”는 설명은 이해 가능하다.
하지만 실제 예시가 함께 있으면 모델은 다음까지 같이 배운다.

  • 필드 순서
  • 값의 표현 방식
  • 주변 필드와의 관계
  • 설명 문자열의 길이와 톤
  • null이나 optional field를 다루는 방식

즉 few-shot은 단순 문장을 보강하는 게 아니라,

출력 형식의 암묵적 규칙까지 함께 전달하는 수단

이다.


output consistency에 왜 특히 강한가

few-shot은 reasoning correctness만이 아니라, 형식 일관성(format consistency) 에 특히 강하다.

왜냐면 모델은 예시를 보고:

  • “이런 식으로 쓰는구나”
  • “이 값 공간은 이렇게 좁혀야 하는구나”
  • “이 필드는 이런 역할이구나”

를 패턴으로 받아들이기 때문이다.

그래서 few-shot은 특히 아래 상황에서 유용하다.

  • 출력 형식이 고정돼야 할 때
  • 여러 항목이 같은 구조를 반복해야 할 때
  • 설명 필드의 톤까지 일관돼야 할 때
  • 분류/추출/요약 결과를 동일한 모양으로 맞춰야 할 때

즉 few-shot은 예쁘게 보이게 만드는 장식이 아니라,

일관된 출력 표면을 학습시키는 도구

에 가깝다.


좋은 few-shot 예시는 어떤 예시인가

좋은 예시는 단순히 많이 주는 예시가 아니다.
보통 아래 특징을 가진다.

  • 실제로 자주 나오는 입력을 반영한다
  • 출력 구조가 명확하다
  • 필드 간 관계가 드러난다
  • 엣지 케이스를 너무 많이 넣어 핵심 패턴을 흐리지 않는다
  • 모델이 일반화할 수 있을 만큼 대표성이 있다

즉 좋은 few-shot은 “모든 경우를 다 보여주기”가 아니라,

출력 패턴의 중심을 선명하게 보여주기

에 가깝다.


언제 few-shot이 특히 필요한가

다음 경우에는 few-shot의 가치가 특히 크다.

1. 형식 설명만으로 자꾸 흔들릴 때

스키마는 맞는데 필드 표현 방식이 들쭉날쭉한 경우

2. 출력 톤이나 밀도가 중요할 때

예:

  • rationale은 짧게
  • summary는 한 문장
  • recommendation은 imperative form

같은 암묵적 스타일이 필요한 경우

3. 복합 구조를 일관되게 유지해야 할 때

예:

  • 배열 안 객체 구조
  • 중첩 필드
  • 다단계 분류 결과

4. optional field 처리 방식이 중요할 때

예:

  • 없는 경우 null로 둘지
  • 필드를 생략할지
  • 기본값으로 채울지

이런 패턴은 설명보다 예시가 더 잘 전달할 수 있다.


few-shot의 한계는 무엇인가

few-shot이 강력하다고 해서 만능은 아니다.

문제가 되는 경우:

  • 예시가 너무 많아 핵심 패턴이 흐려짐
  • 특정 사례에 과도하게 끌려 일반화가 약해짐
  • 예시와 실제 입력 분포가 너무 다름
  • outdated example이 잘못된 패턴을 고정함

즉 few-shot은 많이 넣는다고 무조건 좋아지지 않는다.
핵심은:

적은 수의 대표 예시로 원하는 출력 패턴을 선명하게 고정하는 것

이다.


schema와 few-shot은 어떻게 다르게 작동하는가

이 둘은 비슷해 보여도 역할이 다르다.

  • schema는 허용 가능한 구조를 정의한다
  • few-shot은 그 구조 안에서 어떤 패턴으로 출력해야 하는지 보여준다

즉:

  • schema는 경계
  • few-shot은 패턴

이다.

둘을 함께 쓰면:

  • schema가 형식의 외곽을 잡고
  • few-shot이 실제 출력 습관을 잡아준다

이 조합이 특히 강하다.


흔한 오해

“few-shot은 설명을 반복하는 장식이다”

아니다. 예시는 실제 출력 패턴을 직접 보여주는 강한 신호다.

“예시는 많을수록 좋다”

그렇지 않다. 너무 많으면 패턴이 흐려질 수 있다.

schema가 있으면 few-shot은 필요 없다”

아니다. schema가 구조를 잡아도, 표현 패턴 일관성은 예시가 더 잘 잡아줄 수 있다.


한 문장 요약

Few-shot은 설명을 보강하는 장식이 아니라, 모델이 원하는 출력 패턴을 더 일관되게 따르도록 만드는 강한 구조 신호다.