Field note · 2026-04-24
프롬프트 최적화에서 합의가 필요한 이유
프롬프트 최적화를 돌리다 보면 이런 상황에 자주 부딪힌다. 라운드를 거듭할수록 점수는 올라가고, 4라운드 만에 65%에서 92%까지 왔다. 배포 직전에 최종 검수를 하는데, 특정 입력 그룹에서 오답률이 오히려 30%나 올라가 있다. 평균이 올라가는 동안 아무도 그 그룹을 보지 않았다. 이런 일이 벌어지는 이유는 단순하다.
프롬프트 최적화에서 합의가 필요한 이유
1. 점수가 올라가는데 뭐가 문제인가
프롬프트 최적화를 돌리다 보면 이런 상황에 자주 부딪힌다. 라운드를 거듭할수록 점수는 올라가고, 4라운드 만에 65%에서 92%까지 왔다. 배포 직전에 최종 검수를 하는데, 특정 입력 그룹에서 오답률이 오히려 30%나 올라가 있다. 평균이 올라가는 동안 아무도 그 그룹을 보지 않았다.
이런 일이 벌어지는 이유는 단순하다. 최적화 과정에서 "무엇을 보고 있는가"가 정의되지 않았기 때문이다. 대부분의 팀은 하나의 점수 — HITL 정확도, 또는 confidence, 또는 ROUGE — 만 추적한다. 그 점수가 올라가면 라운드를 통과시킨다. 그런데 그 점수가 올라가는 동안 다른 곳에서 무슨 일이 벌어지는지를 아무도 모른다.
NLP 앙상블 시스템에서는 이 문제를 이미 해결했다. "어떤 출력은 투표로 모으고, 어떤 출력은 겹침을 보며, 어떤 출력은 품질 기준을 다시 세운다"는 원칙이 있다(NLP 앙상블 전략 아티클 참조). 프롬프트 최적화도 같은 원칙이 필요하다. 이 글은 APO(Automatic Prompt Optimization) 시스템이 채택한 다층 합의 설계를 실무 관점에서 풀어본다.
2. 하나의 점수가 감추는 세 가지
최적화 과정에서 단일 점수만 보면 세 가지 문제가 은폐된다. 하나씩 살펴보자.
2.1 라벨 불일치
성능을 측정하려면 정답이 있어야 한다. 보통 HITL(Human-in-the-Loop) 라벨러가 정답을 매긴다. 그런데 5개 샘플 중 3개만 라벨이 일치하고 나머지 2개는 라벨러마다 다르다면, 프롬프트가 좋아진 건지 정답 기준이 흐려진 건지 구분할 수 없다.
쉽게 말하면 시험 채점자가 채점 기준을 다르게 해석하고 있는 상태다. 이때 시험 점수가 올랐다고 해서 학생이 잘 한 건 아니다. 채점 자체가 흔들리고 있는 것이다.
2.2 회귀 은폐
전체 평균이 +3% 올랐다. 그런데 분포를 열어 보면 70개 샘플은 +8%인데 30개 샘플은 -15%다. 큰 그룹의 소폭 개선이 작은 그룹의 심각한 악화를 덮은 것이다.
NLP 분류에서 macro-average F1이 올라가도 특정 클래스의 recall이 0에 빠지는 것과 같은 구조다. 평균이 올라갔다는 사실이 곧 "모든 곳에서 좋아졌다"를 뜻하지 않는다.
2.3 수렴 오판
라운드 1→2: +10%, 2→3: +5%, 3→4: +1%. 개선도가 줄어드는데도 "계속 돌리면 더 나아질 것"이라고 믿는다. 실제로는 쉬운 샘플은 다 맞추고, 남은 건 프롬프트 수준에서는 해결이 안 되는 구조적 어려움일 수 있다. 멈춰야 할 시점을 모르면 토큰 비용만 누적된다.
3. 네 가지 신호 — 같은 것을 다른 눈으로 보기
하나의 점수가 이 세 가지를 감추는 이유는, 하나의 점수가 하나의 실패 모드만 드러내기 때문이다. 프롬프트 최적화에 쓸 수 있는 Reward Signal은 네 가지이고, 각각이 드러내는 실패 모드가 다르다.
| Reward Signal | 무엇을 측정하나 | 집계 방식 | 무엇을 놓치나 |
|---|---|---|---|
| HITL-Based | 인간 라벨 vs 모델 출력 일치 | 다수결 (일치도) | 라벨러 간 불일치, 경계 케이스 |
| Confidence | 모델이 자기 답에 얼마나 확신하는가 | 가중 평균 | 보정 실패 (틀렸는데 확신 높음) |
| Semantic Similarity | ROUGE, BERTScore 등 의미 유사도 | 분포 기반 | 표현 다양성 무시 |
| Task-Specific | F1, Exact Match 등 과제별 메트릭 | 과제별 맞춤 | 메트릭 과적합 |
비유하자면 건강 검진에서 혈압만 재는 것과, 혈압·혈당·심전도·영상을 함께 보는 것의 차이다. 혈압이 정상이라고 건강한 게 아니다. 신호를 최소 2가지 이상 병렬로 추적하는 것이 첫 번째 원칙이다.
4. 신호끼리 다른 방향을 가리킬 때
신호를 여러 개 추적하면 금방 직면하는 문제가 있다. 두 신호가 서로 반대 방향을 가리킨다. 이건 버그가 아니다. 오히려 가장 가치 있는 정보다.
4.1 충돌 유형 3가지
| 충돌 패턴 | 의미 | 대응 |
|---|---|---|
| HITL↑ BUT Confidence↓ | 모델이 더 정확해졌지만 자기 확신 보정이 안 됨 | 신뢰도 캘리브레이션 재검토 |
| Accuracy↑ BUT Variance↑↑ | 평균은 올랐지만 편차가 심화 → 과적합 조기 경고 | 하위 그룹별 성능 분석 |
| Mean↑ BUT Worst-10%↓ | 큰 그룹 개선, 작은 그룹 악화 | 트레이드오프를 명시하고 의사결정자에게 보고 |
NLP 앙상블에서 1:1:1 완전 불일치가 "입력 분포가 달라졌다"는 경보 역할을 하는 것과 같은 논리다. 신호 충돌은 구조적 문제의 조기 경고 시스템이다.
4.2 충돌 감지 흐름
신호 간 충돌을 명시적으로 감지하고 대응하는 것이 두 번째 원칙이다.
5. 멈춰야 할 시점 — 비용-효율 계산
신호 추적도, 충돌 감지도 결국 "계속할 가치가 있느냐"는 질문으로 이어진다. APO에서는 라운드마다 비용-효율을 계산한다.
5.1 경제 효율 공식
Round N → N+1:
개선율 = (0.85 - 0.80) / 0.80 = 6.25%
토큰 비용 = 5,000 × 8 iterations = 40,000 tokens
경제효율 = 40,000 tokens / 6.25% = 6,400 tokens per 1% improvement
이 수치가 사업적 임계치를 넘으면 라운드를 더 돌릴 이유가 없다. 마치 Mac mini M4에서 앙상블 호출이 하루 3,200회를 넘으면 API보다 로컬이 저렴해지는 손익분기점이 있듯이, 최적화에도 "더 이상 투자 대비 효과가 나지 않는 지점"이 존재한다.
5.2 수렴의 세 층위
비용만으로 멈춤을 결정할 수는 없다. 수렴에는 세 층위가 있고, 세 가지 모두 수렴을 가리킬 때만 멈추는 것이 안전하다.
| 층위 | 판정 기준 | 의미 |
|---|---|---|
| 기술적 수렴 | 개선율 < 2% | 프롬프트 표현력의 한계 |
| 경제적 수렴 | tokens/1% > 사업 임계치 | 투자 대비 효과 소진 |
| 구조적 수렴 | 4가지 신호 모두 안정화 | 시스템 전체가 plateau |
기술적으로는 수렴했지만 경제적 여유가 있고 특정 신호가 불안정하면? 추가 라운드가 정당화된다. 경제적 한계에 도달했지만 기술적 개선 여지가 크면? 비용 구조를 재검토하거나 최적화 전략 자체를 전환해야 한다.
비용-효율을 라운드마다 계산하고, 수렴을 세 층위에서 판정하는 것이 세 번째 원칙이다.
6. Safety Gate — 배포 직전의 마지막 관문
최적화가 끝나고 배포를 결정하는 시점에서, 보통의 Safety Gate는 하나만 본다.
BASIC_GATE:
delta = optimized - baseline
PASS if delta ≥ -0.05
이것만으로는 앞서 말한 회귀 은폐를 막을 수 없다. 평균 delta가 양수여도 하위 10%가 곤두박질쳤을 수 있다.
6.1 강화된 Safety Gate
APO가 쓰는 강화된 Gate는 네 조건을 AND로 묶는다.
ENHANCED_GATE:
delta ≥ -0.05 -- 전체 성능 하한
AND worst_case[10%] ≥ baseline - 0.10 -- 최악 사례 하한
AND deterioration_count ≤ 5% of total -- 악화 범위 상한
AND hitl_disagreement ≤ prev + 0.05 -- 라벨 일관성 상한
→ ALL PASS: 배포 안전
→ ANY FAIL: reflective review 필요
각 조건이 잡아내는 실패 모드가 다르다.
| 조건 | 무엇을 막는가 |
|---|---|
| delta ≥ -0.05 | 전체 성능 급락 |
| worst_case[10%] ≥ baseline - 0.10 | 하위 그룹 붕괴 (회귀 은폐) |
| deterioration_count ≤ 5% | 소수 샘플 악화가 평균에 묻히는 것 |
| hitl_disagreement ≤ prev + 0.05 | 라벨 기준 자체의 흔들림 |
NLP 앙상블에서 "세 모델이 동시에 똑같이 틀릴 확률이 매우 낮다"는 다양성 원칙처럼, 네 조건이 동시에 통과해야만 한다는 AND 구조가 안전의 핵심이다. 하나만 통과시키면 나머지 세 개의 맹점을 물려받는다.
6.2 Gate 판정 의사결정 흐름
7. 누가 무엇을 판단하는가 — HITL 배분
Safety Gate까지 설계했으면 마지막 질문이 남는다. 이 과정에서 AI가 하는 일과 인간이 하는 일을 어떻게 나눌 것인가.
HITL 아티클에서 다뤘듯이, HITL은 "실패 관측"과 "의사결정 권한"의 두 층으로 설계되어야 한다. 프롬프트 최적화에서의 배분은 아래와 같다.
| 단계 | 주체 | 이유 |
|---|---|---|
| Baseline 설정 | 인간 | 모든 개선의 척도. 잘못 잡으면 전체가 오염 |
| 신호 수집·계산 | AI | 객관적 연산. 자동화 적합 |
| 신호 해석 (충돌 감지 후) | AI + 인간 | AI가 충돌 패턴 분류 → 인간이 구조적 원인 판단 |
| 수렴 판정 | 인간 | 수치만이 아니라 비용-효과의 사업적 맥락 필요 |
| Safety Gate 실패 시 예외 처리 | 인간 | 트레이드오프는 사업 맥락을 아는 사람만 결정 가능 |
| 최종 배포 결정 | 인간 | 최적화 결과의 비즈니스 적합성 판단 |
핵심은 AI가 잘하는 것(수집·계산·분류)과 인간이 잘하는 것(맥락·판단·예외)을 분리하는 것이다. 앙상블에서 Proposer와 Arbiter의 역할을 분리하는 것과 같은 원리다.
8. 도입 우선순위
한 번에 전체 파이프라인을 바꾸려 하면 실패 확률이 높다. 앙상블 도입에서 "분류부터 시작하라"는 조언과 같은 논리로, APO의 합의 구조도 구현 난이도가 낮은 곳부터 단계적으로 확장하는 것이 현실적이다.
| 우선순위 | 추가 요소 | 구현 난이도 | 이유 |
|---|---|---|---|
| 1 | 신호 2개 병렬 추적 | 낮음 | HITL + Confidence만 추가해도 보정 실패 즉시 감지 |
| 2 | 회귀 감지 (worst-case percentile) | 낮음 | 분포의 하위 10%만 체크하면 되므로 구현 최소 |
| 3 | 충돌 감지 자동화 | 중간 | 신호 간 방향 비교 로직 + 보고 파이프라인 필요 |
| 4 | 비용-효율 계산 | 중간 | 토큰 소비 추적 + 임계치 설정 필요 |
| 5 | Enhanced Safety Gate | 높음 | 4개 AND 조건 + reflective review 프로세스 설계 |
| 6 | 3-level Convergence | 높음 | 기술·경제·구조 세 축 모니터링 + 멈춤 판정 프로세스 |
1순위부터 시작하면 기존 최적화 파이프라인에 코드 몇 줄만 추가해도 효과를 검증할 수 있다. 신호 하나를 더 추적하는 것은 파이프라인 구조를 바꾸는 게 아니라, 로깅을 하나 더 다는 것에 가깝다. 그 신호가 기존 신호와 반대 방향을 가리키는 순간이 오면, 이 글 전체의 필요성을 체감하게 된다.
마지막으로 한 줄로 정리하면 이렇다. 프롬프트 최적화에서 점수를 올리는 건 어렵지 않다. 어려운 건 점수가 올라가는 과정에서 무엇을 놓치고 있는지 아는 것이다. 다층 신호 추적, 충돌 감지, 비용-효율 계산, 강화된 Safety Gate — 이 네 가지는 "더 좋은 프롬프트를 만드는 기술"이 아니라, 좋아 보이는 프롬프트가 정말 좋은지 검증하는 구조다.
출처
관련 아티클
- [[2026-04-23_HITL은-두-번-설계되어야-한다_v4|HITL 아티클]] — 1.1절 "앙상블이 있을 때 — 합의의 구조적 관측"
- [[2026-04-17_NLP-태스크별-앙상블-전략-L1-관점-v6|NLP 앙상블 전략]] — Proposer-Arbiter 구조와 태스크별 합의 방식
- [[APO-Ontology-Core|APO Core]] — 11개 엔티티와 사업 규칙의 정식 정의
- [[APO-Ontology-Relationships|APO Relationships]] — 16개 사상과 합성 규칙
참고 문헌
- Kadavath, S. et al. (2022). Language Models (Mostly) Know What They Know. arXiv. — LLM self-calibration과 보정 실패
- Wang, X. et al. (2023). Self-Consistency Improves Chain of Thought Reasoning. ICLR. — 다수결 기반 앙상블 효과
- Goodhart, C. (1975). Problems of Monetary Management. — 측정 지표가 목표가 되면 좋은 지표이기를 멈춘다