> ## 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.

# 비용 vs. 품질

> 맞교환의 경계선. 싼 게 늘 나쁘지도, 비싼 게 늘 좋지도 않습니다

모든 변경은 Agent를 두 축 위 어딘가로 옮깁니다. **품질**(통과율)과 **실행당 비용** 입니다. Pareto 뷰가 그 정확한 자리를 보여줍니다.

## Pareto 뷰가 보여주는 것

가로축은 실행당 비용, 세로축은 통과율입니다.

돌린 시뮬레이션이 모두 점으로 찍힙니다. 베이스라인, 배포 버전, Draft, 개선 후보가 다 올라옵니다.

**Pareto 프론티어**는 어느 것에도 밀리지 않는 점들을 이은 선입니다. 같은 비용에서 품질이 가장 높거나, 같은 품질에서 가장 싼 점들이죠. 프론티어 아래에 있는 건 프론티어 위 어떤 점보다 확실히 못합니다.

## 결정하기

* **더 싸고 품질도 더 높음** 두말없이 출시.
* **더 싸고 품질은 같음** 대개 출시. 가장자리 회귀만 조심.
* **비용은 같고 품질이 더 높음** 대개 출시.
* **더 비싸지만 품질도 더 높음** 여기가 고민되는 지점. 품질 이득이 비용 값을 하나요? 도메인에 따라 다릅니다.
* **더 비싼데 품질은 같거나 낮음** 출시하지 않습니다.

Pareto 뷰는 결정을 돕는 도구지, 대신 정해 주지는 않습니다.

## 비용, 품질, 지연

세 번째 축인 지연도 켤 수 있습니다. 어떤 워크플로우는 지연에 민감해서(채팅) 500ms를 더 쓰면서까지 쌀 이유가 없습니다. 어떤 건 배치(야간)라 지연이 상관없습니다.

차트에서 **Add axis**를 누르면 3D 산점도나 여러 개의 2D 투영으로 봅니다.

## 프론티어 거르기

전체를 다 찍으면 지저분할 수 있습니다. 이렇게 거릅니다.

* **타겟 종류** Draft 변형만, 개선 후보만, 배포 버전만 보기.
* **데이터셋** 특정 데이터셋 결과만 보기.
* **차원** 특정 태그의 성능만 보기("어려운 케이스만").

하위 집합이 달라지면 Pareto 모양도 달라집니다. 어떤 변경은 평균에선 앞서도 어려운 케이스에선 질 수 있습니다.

## 데이터셋 태그별 Pareto

"품질" 은 어느 예시로 시험하느냐에 따라 달라지므로, 프론티어도 태그마다 바뀝니다.

* `easy` 예시에서는 싼 모델이 비싼 모델을 자주 따라잡아 프론티어가 평평합니다.
* `hard` 예시에서는 비싼 모델이 앞서서 프론티어가 가파릅니다.

여기서 전략이 나옵니다. 쉬운 의도는 싼 모델을 쓰는 Agent에, 어려운 의도는 비싼 모델을 쓰는 Agent에 맡깁니다.

## 이력 Pareto

이력 뷰는 프론티어가 시간에 따라 어떻게 움직였는지 보여줍니다. 매주 최고 점들을 찍습니다. 이렇게 읽습니다.

* **프론티어가 왼쪽 위로** 품질은 오르고 비용은 내려감. 가장 이상적.
* **프론티어가 오른쪽 위로** 품질 이득에 비용이 더 듦. 흔하고, 받아들일 만할 때도 있음.
* **프론티어가 오른쪽 아래로** 품질은 떨어지는데 비용은 오름. 나쁨. 조사하세요.

## 모델 고르기

모델만 바꿔 가며 돌린 시뮬레이션(같은 Flow, 다른 모델)이 자연스럽게 모델 비교 Pareto를 만듭니다. 기본 모델을 정할 때 맞교환이 눈에 보여 좋습니다.

## Pareto를 보고 나오는 개선 제안

Draft가 프론티어 아래(밀리는 자리)에 있으면 Nora가 위로 끌어올릴 조정을 짚어 줍니다.

* "top-K를 12에서 6으로 줄이면 이 데이터셋에서는 품질 그대로 실행당 \$0.02 절약."
* "리랭커를 켜면 실행당 \$0.01 더 쓰고 통과율 +5%."

이 제안은 시뮬레이션 이력에 근거합니다. 과거에 어떤 변경이 먹혔는지 Nora가 알고 있습니다.
