LLM 기능 A/B 테스트 — GrowthBook, Statsig, 그리고 Vibes 문제

전통적인 A/B 테스트(A/B testing)는 비결정적(non-deterministic) LLM을 염두에 두고 만들어진 도구가 아닙니다. 핵심 구분은 다음과 같습니다. 평가(Eval)는 "모델이 이 일을 할 수 있는가?"에 답하고, A/B 테스트는 "사용자가 그 차이를 신경 쓰는가?"에 답합니다. 둘 다 필요합니다. 그저 느낌만으로(Vibe check) 배포(ship)하던 시대는 끝났습니다. 2026년에 테스트해야 할 축은 다음과 같습니다. 프롬프트 엔지니어링(prompt engineering, 표현 방식), 모델 선택(model selection, GPT-4 vs GPT-3.5 vs OSS, 정확도 vs 비용 vs 지연시간), 생성 파라미터(generation parameters, temperature, top-p). 실제 사례를 보면, 챗봇의 보상 모델(reward model) 변형은 대화 길이 +70%, 리텐션 +30%을 달성했고, Nextdoor의 AI 제목줄(subject-line) 실험은 보상 함수(reward function) 정제 뒤 +1% CTR을 얻었으며, Khan Academy의 Khanmigo는 지연시간 대 수학 정확도(latency-vs-math-accuracy) 축에서 반복적으로(iterate) 다듬어 갔습니다. 플랫폼 진영은 둘로 갈립니다. Statsig(2025년 9월 OpenAI가 11억 달러에 인수) — 순차 검정(sequential testing), CUPED, 올인원(all-in-one) 묶음. GrowthBook — 오픈 소스(open-source), 데이터 웨어하우스 네이티브(warehouse-native), 베이지안(Bayesian) + 빈도주의(Frequentist) + 순차(Sequential) 엔진, CUPED, SRM 점검, Benjamini-Hochberg + Bonferroni 보정. 선택은 데이터 웨어하우스 SQL 친화도와 "OpenAI에 인수됨"이 조직에 의미가 있는지에 달려 있습니다.

유형: Learn 언어: Python (표준 라이브러리, 장난감 수준의 순차 검정 시뮬레이터) 선수 지식: Phase 17 · 13 (Observability), Phase 17 · 20 (Progressive Deployment) 예상 시간: 약 60분

학습 목표

  • 평가(Eval, "모델이 일을 할 수 있는가")와 A/B 테스트("사용자가 신경 쓰는가")를 구분합니다.
  • 테스트 가능한 세 축(프롬프트, 모델, 파라미터)을 열거하고 각 축에 맞는 지표(metric)를 고릅니다.
  • CUPED(Controlled-experiments Using Pre-Experiment Data), 순차 검정(sequential testing), Benjamini-Hochberg 다중 비교 보정(multiple-comparison correction)을 설명합니다.
  • 데이터 웨어하우스 SQL 친화도와 기업 인수(corporate acquisition) 입장에 따라 Statsig 또는 GrowthBook 중 하나를 선택합니다.

문제

시스템 프롬프트(system prompt)를 손수 다듬었습니다. 느낌상 더 좋아 보입니다. 그래서 그대로 배포합니다. 그런데 전환율(conversion)이 잡음(noise) 수준만큼만 움직입니다. 지표(metric)를 탓하게 됩니다. 또는 새 모델을 배포했는데 전환율이 꿈쩍도 하지 않습니다. 모델이 퇴보(degrade)한 것일까요, 아니면 변화가 너무 작아서 감지(detect)할 수 없었던 것일까요? A/B 없이 배포했기 때문에 알 길이 없습니다.

평가(Eval)는 라벨이 붙은 데이터 집합(labeled set)에서 모델이 과제를 수행할 수 있는지에 답합니다. 하지만 사용자가 그 결과물을 더 선호하는지에는 답하지 못합니다. 그것은 통제된 온라인 실험(controlled online experiment)만이 답할 수 있습니다. 그리고 그 실험은 충분한 검정력(power)을 갖추고, 비결정성(non-determinism)을 통제하며, 다중 비교(multiple comparison)를 보정해야만 의미가 있습니다.

사전 테스트

2문제 · 이 강의를 시작하기 전에 얼마나 알고 있는지 확인해보세요

1.LLM 기능에 대한 평가(eval)와 A/B 테스트의 핵심 차이는 무엇인가요?

2.LLM의 비결정성(non-determinism) 때문에 A/B 테스트 검정력 계산(power calculation)에서 표본 크기를 1.3~1.5배로 부풀려야 하는 이유는 무엇인가요?

0/2 답변 완료

개념

평가(Eval) vs A/B 테스트

평가(Eval) — 오프라인(offline), 라벨링된 데이터 집합, 채점자(rubric, LLM-as-judge, 사람 평가자 중 하나)를 사용합니다. 답하는 질문은 "이 고정된 분포(fixed distribution)에서 출력이 정확/도움됨/안전한가?"입니다.

A/B 테스트 — 온라인, 실사용자, 무작위 할당(randomized)으로 진행합니다. 답하는 질문은 "새 변형(variant)이 중요한 사용자 단위 지표(user-level metric)를 움직이는가?"입니다.

둘 다 필요합니다. 평가는 실제 노출(exposure) 전에 회귀(regression)를 잡아내고, A/B는 노출 후에 제품(product)에 미친 영향을 확인합니다.

무엇을 테스트할 것인가

  1. 프롬프트 엔지니어링(prompt engineering) — 표현(wording), 시스템 프롬프트 구조, 예시. 지표: 과제 성공률, 사용자 리텐션, 요청당 비용(cost/request).
  2. 모델 선택(model selection) — GPT-4 vs GPT-3.5-Turbo vs Llama-OSS. 지표: 정확도(과제 기준) + 요청당 비용 + 지연시간 P99. 다목적(multi-objective) 비교입니다.
  3. 생성 파라미터(generation parameters) — temperature, top-p, max_tokens. 지표: 과제에 따라 다름(출력 다양성 vs 결정성).

CUPED — 분산 축소(variance reduction)

CUPED는 사전 실험 데이터를 활용한 통제 실험(Controlled-experiments Using Pre-Experiment Data)의 약자입니다. 실험 후 기간(post-period)을 비교하기 전에 사전 기간(pre-period)의 분산을 회귀(regression)로 제거합니다. 일반적인 분산 축소율은 30~70%입니다. 유효 표본 크기(effective sample size)가 사실상 공짜로 늘어나는 셈입니다.

구현: Statsig와 GrowthBook 모두 제공합니다.

순차 검정(sequential testing)

고전적인 A/B는 고정된 표본 크기(fixed sample size)를 가정합니다. 순차 검정("들여다보며 결정하기", peek-and-decide)은 반복적으로 결과를 들여다보는 상황에서도 거짓 양성률(false-positive rate)을 통제합니다. 항상 유효한 순차 절차(always-valid sequential procedure, 예: mSPRT, Howard의 신뢰 시퀀스)는 명확한 승자가 보이면 조기 중단(early stop)을 허용합니다.

다중 비교 보정(multiple-comparison corrections)

95% 신뢰도로 A/B 테스트 20개를 돌리면 단지 우연만으로도 거짓 양성(false positive)이 하나 나옵니다. Bonferroni 보정은 테스트별 α를 더 엄격하게 줄입니다. Benjamini-Hochberg는 거짓 발견율(false-discovery rate)을 통제합니다. GrowthBook은 둘 다 구현합니다.

SRM — 표본 비율 불일치(sample ratio mismatch)

할당 해시(assignment hash)가 사용자를 변형(variant)에 무작위로 배정합니다. 50/50으로 나누려 했는데 실제로 47/53이 나왔다면 무언가가 망가진 것입니다. SRM 점검이 이를 표시(flag)합니다. 두 플랫폼 모두 제공합니다.

Statsig vs GrowthBook

Statsig:

  • 2025년 9월 OpenAI가 11억 달러에 인수했습니다. 호스팅형(hosted) SaaS입니다.
  • 순차 검정, CUPED, 보류 집단(held-out populations)을 제공합니다.
  • 기능 플래그(feature flags) + 실험(experimentation) + 관측 가능성(observability)을 묶은 올인원 제품입니다.
  • 잘 맞는 경우: 묶음형 제품(bundled product)을 원하고 OpenAI 소유라는 점이 문제가 되지 않는 팀.

GrowthBook:

  • 오픈 소스(MIT 라이선스), 데이터 웨어하우스 네이티브입니다(Snowflake/BigQuery/Redshift에서 직접 읽음).
  • 베이지안, 빈도주의, 순차 등 여러 엔진을 제공합니다.
  • CUPED, SRM, Bonferroni, BH 보정을 제공합니다.
  • 자체 호스팅(self-host) 또는 매니지드 클라우드(managed cloud) 중 선택할 수 있습니다.
  • 잘 맞는 경우: 데이터 웨어하우스 SQL 중심의 조직, 데이터 팀이 지표 레이어(metric layer)를 통제하며 OSS를 선호하는 팀.

비결정성은 검정력을 복잡하게 만듭니다

같은 프롬프트도 매번 조금씩 다른 출력을 만듭니다. 전통적인 검정력 계산(power calculation)은 독립 동일 분포(IID) 관측을 가정합니다. LLM의 비결정성 아래서는 유효 표본 크기가 명목값보다 작아집니다. 안전 마진(safety margin)으로 필요한 표본 크기에 약 1.3~1.5배를 곱합니다.

실제 사례 결과

  • 챗봇 보상 모델 변형: 대화 길이 +70%, 리텐션 +30%.
  • Nextdoor 제목줄(subject lines): 보상 함수 정제 뒤 +1% CTR.
  • Khan Academy Khanmigo: 지연시간 대 수학 정확도 트레이드오프(trade)를 반복적으로 조정.

안티 패턴: 느낌만으로 배포하기(shipping on vibes)

모든 시니어 엔지니어는 "느낌상 더 좋다"는 이유로 A/B 없이 배포된 기능을 하나쯤 떠올릴 수 있습니다. 대부분은 팀이 몇 달 동안 알아차리지 못한 제품 지표 퇴행(regression)을 만들어 냈습니다. A/B는 이런 문제를 강제로 막아 주는 장치(forcing function)입니다.

기억해야 할 숫자

  • Statsig는 2025년 9월 OpenAI에 11억 달러에 인수되었습니다.
  • GrowthBook: 오픈 소스 MIT, 베이지안 + 빈도주의 + 순차.
  • CUPED 분산 축소: 30~70%.
  • LLM 비결정성 → 표본 크기 버퍼 +30~50%.

사용해보기

code/main.py는 고정 경계(fixed boundary)와 순차 경계(sequential boundary)를 함께 두고 순차 A/B 테스트를 시뮬레이션합니다. 순차 방식이 어떻게 조기 중단을 가능하게 하는지를 보여 줍니다.

산출물 만들기

이 강의는 outputs/skill-ab-plan.md를 만듭니다. 기능 변경, 작업 부하(workload), 기준선(baseline)이 주어지면 플랫폼, 게이트(gate), 표본 크기를 선택해 줍니다.

연습문제

  1. 쉬움: code/main.py를 실행합니다. 기준선 전환율 3%에 예상 향상(lift) 5%라면 80% 검정력에 필요한 표본 크기는 얼마입니까?
  2. 중간: 헬스케어 규제를 받는 온프레미스(on-prem) 고객에게는 Statsig와 GrowthBook 중 무엇을 고르겠습니까?
  3. 중간: GPT-4 vs GPT-3.5를 해결된 티켓당 비용(cost-per-resolved-ticket)으로 비교하는 A/B를 설계합니다. 주요 지표(primary metric), 가드레일 지표(guardrail metric), 보조 지표(secondary metric)는 각각 무엇입니까?
  4. 중간: 카나리(canary)는 통과했지만 A/B에서는 전환율이 -1.2%로 나타납니다. 배포하시겠습니까? 에스컬레이션 기준(escalation criteria)을 작성하세요.
  5. 어려움: 사후 분산(post variance)의 60%를 설명하는 사전 기간(pre-period)에 CUPED를 적용합니다. 유효 표본 크기 증가(effective-sample-size boost)를 계산하세요.

핵심 용어

용어흔한 설명실제 의미
평가(Eval)"오프라인 테스트"라벨링된 데이터 집합에서 모델 역량을 평가하는 절차
A/B 테스트"실험"실사용자를 무작위 배정해 비교하는 온라인 실험
CUPED"분산 축소"사전 기간 회귀로 분산을 줄이는 방법
순차 검정(Sequential test)"들여다봐도 되는 테스트"조기 중단을 허용하는 항상 유효한 절차
다중 비교(Multiple comparison)"패밀리 오류"여러 테스트가 거짓 양성을 부풀리는 문제
Bonferroni"타이트한 보정"α를 테스트 수로 나누는 보수적 보정
Benjamini-Hochberg"BH FDR"거짓 발견율 통제, 덜 보수적입니다
SRM"잘못된 분할"표본 비율 불일치, 할당 버그를 뜻함
Statsig"OpenAI 소유"2025년에 인수된 상용 올인원 플랫폼
GrowthBook"그 오픈 소스 쪽"MIT 라이선스, 웨어하우스 네이티브 플랫폼
mSPRT"순차 확률 비 검정"고전적인 순차 절차

더 읽을거리

실습 코드

이 강의의 실습 코드 1개

main
Code

산출물

이 강의에서 생성된 프롬프트, 스킬, 코드 산출물 1개

ab-plan

Design an LLM A/B test — pick platform (Statsig or GrowthBook), primary metric, guardrails, sample size with LLM-noise buffer, CUPED, sequential stopping, and multiple-comparison correction.

Skill

확인 문제

3문제 · 모두 맞추면 완료 표시가 가능합니다

1.팀이 95% 신뢰도로 A/B 테스트 20개를 돌렸고, 하나가 유의미한 결과를 보입니다. 이것이 왜 오해의 소지가 있으며, 어떤 보정을 적용해야 하나요?

2.온프레미스(on-premises) 헬스케어 회사가 데이터 웨어하우스 네이티브 SQL 통합과 완전한 데이터 통제권을 가진 A/B 테스팅이 필요합니다. Statsig과 GrowthBook 중 어느 것이 더 적합한가요?

3.CUPED가 A/B 테스트에서 달성하는 것은 무엇이며, LLM 기능 실험에서 왜 가치가 있나요?

0/3 답변 완료

추가 문제 풀기

AI가 강의 내용을 바탕으로 새로운 문제를 생성합니다