> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nora.my/llms.txt
> Use this file to discover all available pages before exploring further.

# Before/after

> 나란히 놓고 봅니다. 변경이 정말 나아지게 했을까요?

시뮬레이션은 타겟이 어떻게 했는지를 보여줍니다. **Before/after**는 그걸 *베이스라인과 견줘서* 어떻게 했는지 보여줍니다. 결국 중요한 건 이 숫자입니다.

## 비교 뷰

데이터셋 예시마다 이렇게 놓입니다.

* **왼쪽** 베이스라인 출력.
* **가운데** 타겟 출력.
* **오른쪽** 기대 출력.
* **판정** `improvement` / `regression` / `same` / `both failed`.

판정으로 정렬합니다.

* **개선 먼저** 타겟이 베이스라인을 이긴 곳.
* **회귀 먼저** 타겟이 베이스라인은 처리하던 걸 깨뜨린 곳.
* **Diff 점수** 어느 쪽으로든 가장 크게 달라진 곳.

## 요약 지표

맨 위에 이런 값이 뜹니다.

* **통과율 델타** 타겟 통과율에서 베이스라인 통과율을 뺀 값.
* **개선** 타겟이 베이스라인을 이긴 건수.
* **회귀** 타겟이 베이스라인보다 나빠진 건수.
* **Wash** 판정이 같은 건수.
* **비용 델타** 타겟이 더 비싼지 싼지.
* **지연 델타** 타겟이 더 느린지 빠른지.

크게 개선됐고, 회귀는 작고, 비용이 조금만 늘었다면 대개 출시합니다. 회귀가 크면 안 합니다.

## 회귀 파고들기

회귀가 발목을 잡습니다. **View regressions**를 누르면 그 예시만 봅니다.

회귀마다 이렇게 보여줍니다.

* 베이스라인이 뭐라고 했는지.
* 타겟이 지금 뭐라고 하는지(나빠진 쪽).
* 왜 바뀌었는지. Nora가 트레이스를 자동으로 diff 해서 어느 스텝이 갈라졌는지 짚어 줍니다.

흔한 원인은 이렇습니다.

* 새 프롬프트가 너무 간결해져서 꼭 넣어야 할 면책 문구가 빠짐.
* 새 리트리벌 프리셋이 베이스라인이 기대던 소스를 빠뜨림.
* 모델을 바꾸면서 가장자리 동작이 달라짐.

## 개선 파고들기

개선도 비슷하게 봅니다. 타겟이 *왜* 이겼는지 알아야 그 이유를 넓게 적용할 수 있습니다.

* 변경이 노린 특정 패턴 덕분이었나?
* 아니면 여러 예시를 두루 끌어올렸나?

두루 끌어올린 개선이 좁게 맞춘 개선보다 출시하기 안전합니다.

## 통계적 유의성

예시가 50개보다 적으면 Nora가 "high variance, proceed with caution" 을 띄웁니다. 표본이 작으면 잡음을 신호로 착각하기 쉽습니다.

50개가 넘으면 제대로 된 유의성 검정을 보여줍니다. 통과율 델타의 p-값과 신뢰 구간입니다. 잡음 바닥을 벗어난 델타만 믿으세요.

## 변경 출처 표시

개선 플로우는 모든 시뮬레이션에 그 타겟을 만든 제안을 태그로 붙입니다. Before/after가 그 태그를 물려받으니 이렇게 되짚을 수 있습니다.

> "Improvement #42 (리트리벌 프리셋 변경): 통과율 +8%, 회귀 +1, 지연 +0.02s"

무엇이 왜 바뀌었는지 감사 기록을 쌓기 좋습니다.

## 여러 타겟 한 번에 비교

버전 두 개를 넘겨 한 번에 비교할 수 있습니다. 한 비교에 타겟을 최대 5개까지 넣으면 뷰가 열로 늘어납니다.

모델 세 개나 프롬프트 변형 세 개를 나란히 견줄 때 좋습니다.

## 비교 공유

모든 시뮬레이션 비교에는 퍼머링크가 있습니다. 출시 전에 리뷰어와 공유하세요. 리뷰어도 같은 화면을 보니 따로 데이터를 뽑아 줄 필요가 없습니다.

승인자는 비교 뷰에서 바로 변경을 승인할 수 있습니다([승인](/ko/reliable/optimization/approve) 참고).
