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

# nora feedback

> 트레이스에 thumbs 와 교정 제출 — CLI 나 외부 앱에서.

피드백이 답변이 좋거나 나쁘다고 시그널링하는 방법. 제출된 모든 피드백 로우가 시그널 됨, 클러스터에 합류하고 결국 개선 시드 가능.

`feedback` CLI 가 **외부 앱** 과 **배치 제출** 표면. 채팅 UI 의 앱 내 thumbs 가 아래서 같은 엔드포인트 사용.

## 명령

| 명령                              | 설명                           |
| ------------------------------- | ---------------------------- |
| `feedback describe <flow-slug>` | 외부 POST 용 URL·auth·본문 모양 인쇄. |
| `feedback list <trace-id>`      | 한 트레이스의 기존 피드백 로우 나열.        |
| `feedback submit <trace-id>`    | CLI 에서 피드백 로우 삽입.            |

## `feedback describe`

```bash theme={null}
nora feedback describe support-agent
```

외부 피드백 POST 를 위한 정확한 HTTP 계약 인쇄:

* **URL** — POST 할 엔드포인트.
* **Auth** — 필수 헤더나 서명 스키마.
* **본문 모양** — 필드, 타입, 필수인 것.
* **응답** — 돌아올 것.

외부 앱 문서에 복사-붙여넣기하고 👍/👎 버튼 배선.

기계 소비 가능 버전에 `--json` 추가.

## `feedback list`

```bash theme={null}
nora feedback list tr_abc
```

한 트레이스의 모든 피드백 로우. 포함:

* `like` 또는 `dislike`.
* 코멘트 (있다면).
* 외부 사용자 정보 (제출 앱이 넘겼다면).
* 메타데이터 페이로드.
* 구조화 교정 (있다면).
* 타임스탬프.

같은 실행에 대한 여러 의견 집계에 유용.

## `feedback submit`

```bash theme={null}
nora feedback submit tr_abc \
  --dislike \
  --comment "잘못된 환불 정책 인용됨" \
  --external-user u_alice \
  --external-user-display-name "Alice Smith" \
  --correction '{"expected":"30일","actual":"14일"}' \
  --metadata '{"channel":"web-chat","urgency":"high"}'
```

플래그:

* `<trace-id>` (위치, 필수) — 피드백 붙일 트레이스.
* `--like` **또는** `--dislike` (정확히 하나, 필수).
* `--comment <text>` — 사람 읽기 노트.
* `--external-user <id>` — 여러분 앱의 사용자 식별자.
* `--external-user-display-name <name>` — 사람 읽기 이름 (UI 표시용).
* `--correction <json>` — 구조화 수정 ("무엇이 일어났어야").
* `--metadata <json>` — 임의 태그/컨텍스트.

## 레시피

### CSV 에서 피드백 벌크 임포트

CSV 가 있다 가정: `trace_id,verdict,comment,corrector_email`.

```bash theme={null}
while IFS=, read -r trace verdict comment corrector; do
  flag="--$verdict"   # --like 또는 --dislike
  nora feedback submit "$trace" \
    $flag \
    --comment "$comment" \
    --external-user "$corrector"
done < feedback-batch.csv
```

외부 시스템에서 QA 리뷰 결과 임포트에 좋음.

### diff 에서 교정 붙임

QA 프로세스가 제안된 올바른 출력 생성하면 `--correction` 으로 제출:

```bash theme={null}
nora feedback submit tr_abc \
  --dislike \
  --comment "교정 참고" \
  --correction '{"expected":"'"$(cat expected.txt | jq -Rs)"'"}'
```

이 트레이스가 데이터셋에 추가될 때 교정이 기대 출력 됨.

### 많은 트레이스에 걸쳐 피드백 집계

```bash theme={null}
for tr in $(nora traces list --flow support --status completed --json | jq -r '.[].id'); do
  count=$(nora feedback list "$tr" --json | jq 'length')
  [ "$count" -gt "0" ] && echo "$tr: $count 피드백"
done
```

### 앱의 thumbs UI 배선

```bash theme={null}
# 계약 가져오기
nora feedback describe support-agent

# 여러분 앱이 버튼 눌림에 피드백 게시
# curl -X POST <url> -H "Authorization: ..." -d '{...}'
```

외부 `--external-user` 값이 사용자 ID 를 Nora 에 직접 노출 없이 시스템 간 피드백 귀속 가능하게.

## Submit 후 무슨 일

* 피드백 로우가 트레이스에 저장.
* 큐에 시그널 생성 ([시그널 개요](/ko/reliable/signals/overview) 참고).
* 유사 패턴 있으면 시그널이 기존 클러스터에 합류 가능.
* 개선 플로우가 수정 제안 가능 ([시그널에서 수정까지](/ko/reliable/signals/from-signal-to-fix) 참고).

다른 것 할 필요 없음 — 피드백이 자동으로 개선 루프에 롤.

## 피드백 편집·삭제

CLI 로 피드백 불변. 편집 (오타 수정, 잘못된 thumbs 철회) 은 앱 사용: 제출한 리뷰어가 7일 안에 철회 가능.

## 관련

* [트레이스의 피드백](/ko/reliable/traces/feedback) — 앱 쪽 개념.
* [시그널 개요](/ko/reliable/signals/overview) — 다음 무슨 일.
* [`nora traces`](/ko/cli/traces) — 피드백 붙일 트레이스 찾기.
