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

# 데이터셋 만들기

> 만드는 네 가지 방법. 트레이스에서, 클러스터에서, 파일에서, 맨땅에서

## 프로덕션 트레이스에서

가장 흔한 방법입니다. Traces에서 원하는 실행으로 거른 다음([검색·필터](/ko/reliable/traces/search) 참고) **Add to dataset**를 누릅니다.

두 가지가 있습니다.

* **Trace-as-example** 트레이스 전체가 예시가 됩니다. 입력은 원래 입력이고, 기대 출력은 그때 나온 답입니다("있는 그대로 담기" 로 표시).
* **Corrected-example** 답이 어땠어야 하는지로 기대 출력을 고칩니다.

한꺼번에도 됩니다. 트레이스 수백 개로 거른 뒤 **Add all to dataset**를 누릅니다. 교정을(피드백으로 있으면) 넣을지, 있는 그대로 담을지 Nora가 묻습니다.

## 신호 클러스터에서

클러스터는 저마다 실패 패턴을 대표합니다. 클러스터에서 우클릭 → **Save as dataset**를 누릅니다.

* 신호마다 그 트레이스가 예시가 됩니다.
* 신호에 텍스트 교정이 있으면 그게 기대 출력이 됩니다.
* 없으면 "needs review" 로 표시됩니다. 시뮬레이션을 돌리기 전에 주석을 답니다.

이게 대개 가장 좋은 방법입니다. 실패가 *그대로* 원하는 테스트이고, Nora가 이미 묶어 두었으니까요.

## 파일에서

CSV나 JSONL을 올립니다.

**CSV**

```csv theme={null}
input,expected_output,tags
"비밀번호 어떻게 재설정해요?","Settings → Security → Reset Password로 가세요","auth,customer"
"인보이스는 언제 만기예요?","인보이스는 매달 1일 만기입니다","billing,customer"
```

**JSONL**(더 유연합니다. 구조화된 입력과 출력을 담을 수 있습니다)

```jsonl theme={null}
{"input":{"question":"reset password"},"expected":{"answer":"..."},"tags":["auth"]}
```

바깥 QA 시스템에서 데이터셋을 들여올 때 파일을 씁니다.

## 맨땅에서

**Datasets → New → Add example**를 누릅니다. 입력을 치거나 붙이고, 기대 출력을 치고, 태그를 답니다. 테스트를 처음 띄울 소량의 손 제작 예시에 가장 빠릅니다.

## 여러 턴 예시

어떤 Flow는 대화형입니다. 여러 턴 예시를 지원합니다.

* 예시 하나가 **대화**(턴 목록)입니다.
* 턴마다 기대 입력과 기대 출력이 있습니다.
* 시뮬레이션이 대화를 재생하며 턴마다 채점합니다.

임포트 형식은 이렇습니다.

```jsonl theme={null}
{"conversation":[
  {"role":"user","content":"..."},
  {"role":"assistant","content":"expected answer"},
  {"role":"user","content":"follow-up"},
  {"role":"assistant","content":"expected answer 2"}
]}
```

## 태그와 묶기

예시마다 태그를 달 수 있습니다. 흔히 이렇게 씁니다.

* **Feature** 어느 제품 기능을 시험하는지.
* **Difficulty** easy / medium / hard.
* **Source** 예시가 온 곳(`prod`, `synthetic`, `hand-crafted`).
* **Language** 다국어 커버리지용.

시뮬레이션은 태그 일부에만 돌릴 수 있습니다. "고객 대상 어려운 케이스만 돌리기" 처럼요.

## 예시별 메타데이터

입력, 기대 출력, 태그 말고도 예시에 이런 걸 담을 수 있습니다.

* **Scope** 테넌트별/사용자별 동작을 시험.
* **딸린 컨텍스트** 세션 메모리, 이전 턴, 기능 플래그.
* **Notes** 리뷰어를 위한 자유 텍스트.

시뮬레이션 결과가 실제 동작을 담도록, 프로덕션 런타임에 최대한 가깝게 맞추세요.

## 임포트한 뒤 편집

예시는 모두 그 자리에서 고칠 수 있습니다. 여럿 골라 태그와 노트를 한꺼번에 손봅니다. 낱개 예시는 언제든 지웁니다.
