article · 2026-04-24
프롬프트 최적화에서 합의가 필요한 이유
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. — 측정 지표가 목표가 되면 좋은 지표이기를 멈춘다