프롬프트는 얼마나 필요한가? Few-shot 예시를 블랙박스로 최소화하는 DD-FSM
How Much Prompt Is Enough? A Blackbox Minimization of Few-Shots in LLMs
TL;DR Highlight
Delta debugging으로 few-shot 예시를 평균 65.3% 줄여도 출력은 그대로
Who Should Read
few-shot 예시가 길어 토큰 비용과 모델 교체 시 프롬프트 안정성이 고민인 LLM 앱 백엔드 개발자
Core Mechanics
- 예시 글자의 65%는 없어도 됐다
- 6개 모델, 2개 temperature 12가지 실험에서 평균 65.3%(±15.8%)를 지워도 출력 명제가 그대로였다.
- 모델마다 38.4%에서 87.3%까지 차이가 컸다.
- 남는 건 뼈대, 사라지는 건 설명문
- 프롬프트 ID, 제약 ID, 논리식 같은 식별자와 구조는 남았다.
- 자연어 설명과 이전 프롬프트와의 관계 주석은 많이 지워졌다.
- 큰 모델일수록 더 많이 줄어든다
- 파라미터 10B가 늘 때마다 제거율이 4.3%p 올라갔다.
- 다만 family(모델 계열)를 넣으면 설명력이 훨씬 커서, 크기만으로는 부족했다.
- 너무 짧게 줄인 프롬프트는 다른 모델에서 깨진다
- 가장 짧은 프롬프트(약 29토큰)는 다른 모델 평균 정확도가 낮았다.
- 구조 뼈대를 어느 정도 남긴 프롬프트가 다른 모델에서도 잘 통했다.
- 줄이는 모델과 쓰는 모델을 나눠 고르자
- gemma-2-9b-it과 Mistral-Small-24B가 만든 최소 프롬프트는 모든 다른 모델에서 출력을 냈다.
- Qwen-2.5-72b는 다른 모델이 줄인 프롬프트를 잘 소화했다.
Evidence
- 평균 제거율 65.3%
- 12개 모델/temperature 조합 평균이며 원본 few-shot 1749자 기준이다.
- 최저 38.4%(Mistral-Small-24B, T=0.0), 최고 87.3%(Llama-3.3-70B, T=0.0)였다.
- 최소화 후 정확도
- T=0.0에서 6개 중 4개 모델이 10회 모두 풀 프롬프트 결과와 100% 일치했다.
- T=0.5에서는 3개 모델(gemma-2-9b-it, Mistral-Small-24B, Qwen-2.5-72b)이 100%였다.
- 모델 간 전이
- T=0.0에서 off-diagonal 30쌍 중 22쌍이 유효 출력을 냈고 평균 정확도는 78.1%였다.
- T=0.5에서는 28쌍이 유효했고 평균 75.1%였다.
- 회귀 분석
- 크기만 쓴 모델은 R²=0.544였고 family를 쓴 모델은 R²=0.912였다.
- gemma-2-9b-it은 Llama-3.1-8B보다 16.5%p 더 압축됐다(p=0.042).
How to Apply
- 프롬프트에서 관계 주석부터 지워 보기
- 지금 쓰는 few-shot 예시에서 예시 간 관계를 설명하는 블록을 먼저 뺀다.
- 기존 테스트 입력 몇 개로 출력이 같은지 비교한다.
- ddmin식으로 예시를 반씩 잘라 검증 루프 만들기
- 예시를 줄 단위로 나눠 일부를 제거하고 기준 출력과 비교한다.
- 같으면 제거를 유지하고 다르면 되돌린다.
- 모델 교체 환경이면 길이를 너무 줄이지 말기
- 폴백 모델이 있으면 식별자와 구조 뼈대를 남긴 중간 길이로 멈춘다.
- 줄인 프롬프트를 모든 대상 모델에서 돌려 확인한다.
- 반복 실행으로 불안정한 축소 걸러내기
- 축소 후 같은 입력을 여러 번 돌려 결과가 한결같은지 본다.
- 한 번이라도 다르면 그 축소는 채택하지 않는다.
Try It
# Claude나 ChatGPT에 붙여넣기 (논문 방법의 간이 버전: 수동 프롬프트 최소화)
아래는 내가 쓰는 few-shot 프롬프트와 테스트 입력이다.
[프롬프트]
{{현재 few-shot 프롬프트}}
[테스트 입력]
{{입력 1}}
{{입력 2}}
지시:
1. 먼저 원본 프롬프트로 각 입력의 출력을 만들어 기준 출력으로 삼아라.
2. 프롬프트를 의미 단위(역할 설명, 작업 설명, 예시 본문, 예시 간 관계 주석, 마무리 제약)로 나눠라.
3. 단위를 하나씩 제거한 버전을 만들고, 기준 출력과 같은지 확인하라.
4. 같으면 제거를 유지하고 다르면 되돌려라.
5. 최종 최소 프롬프트와 제거된 부분 목록, 줄어든 글자 수 비율을 보여줘라.
이어서 해 볼 것: 최소 프롬프트를 다른 모델에도 넣어 같은 출력이 나오는지 확인해 보자.Terminology
관련 논문
AI는 도구다, 잘 쓰려면 기술이 필요하다
Hickey의 'AI는 도구가 아니다'에 맞서, LLM도 쓰는 사람의 기술이 결과를 가른다고 반박
딥리서치 에이전트의 Reflective Prompt Optimization: 토픽 분리·멀티 시드로 본 진짜 성능 향상과 프롬프트 과적합
GEPA로 프롬프트를 최적화했더니 held-out 인용 보상 0.702→0.781
GPT-6와 Intelligent UI: 채팅 안에서 시각·인터랙티브 응답 만들기
OpenAI가 GPT-6로 채팅 응답에 UI를 넣는다는데 원문이 없어 댓글 반응만 확인된다
Base 모델도 첫 토큰 단서(cue) 하나로 추론한다: 학습 데이터가 만든 연상
응답 첫 두 토큰만 고정했더니 Olmo-3-7B의 MATH-500 정답률이 42%에서 78%로 올랐다
Jev식 Typed Decision Model에서는 정의보다 라벨이 이긴다
옵션 이름을 A, B로 바꿨더니 정확도가 +0.1511 올랐다
언어모델은 "불안정한(Insecure)" 보고자다: 결함을 숨기는 LLM 리포트
"Be honest" 한 줄을 붙였더니 GPT-5.5의 부정 결과 공개가 2/200에서 190/200으로 늘었다
Claude Opus 5.5 프롬프팅 가이드: effort·진행 업데이트·무인 에이전트 설정
Opus 5.5는 medium effort로 Opus 5 high급 성능, 프롬프트·하네스 조정법 정리
Original Abstract (Expand)
Prompts are the primary mechanism for directing the behavior of large language models (LLMs). Yet the internal structure and causal hierarchy of prompts remain poorly understood: which parts are causally necessary and which are redundant is an open question. This opacity can have severe consequences. Subtle prompt variations can silently shift model outputs in critical software systems, and engineers lack techniques to reason about prompt reliability. We present \framework, a blackbox prompt-minimization framework that reduces few-shot prompts to their necessary minimal subset. We use a case study to apply \framework to a few-shot learning system and demonstrate the insights that this framework can provide. Our experiments show that few-shot exemplars can be reduced by a mean of 65.3\%~$\pm$~15.8\% in character count while fully preserving propositional output fidelity. The models preferentially retain logical identifiers and constraint declarations while discarding natural language prose and cross-prompt relational annotations. Our analysis also shows that some models are universal encoders, able to produce highly legible yet minimized prompts, while others are universal decoders, able to interpret minimized prompts from most other models. By identifying which components are indispensable, \framework provides a principled basis for prompt compression and structural analysis of few-shot exemplars.