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

# 신호가 오는 곳

> 큐를 채우는 채널들. 피드백, 에러, 검증 등

Nora는 여러 각도에서 Agent를 지켜봅니다. 문제를 잡아내는 각도마다 신호가 생깁니다.

## 채널

### 1. 사용자 피드백

Agent 답변에 달린 👎, 또는 사용자가 써 준 교정입니다. 가장 질 좋은 신호입니다. 실제 사용자가 답이 틀렸다고 말해 주니까요.

세부 종류로는 thumbs, 텍스트 교정, 분류 피드백, 참조 교정이 있습니다.

### 2. 검증 실패

Flow에 인과 그래프가 검증을 켜고 붙어 있으면, `blocked`나 `warned` 판정이 날 때마다 신호가 생깁니다([에이전트 답변 검증](/ko/build/causal-graph/verification) 참고). 사용자가 불평하지 않아도 Agent 답변이 도메인 지식과 어긋나면 잡아냅니다.

### 3. 리트리벌 미스

쿼리에 리트리벌이 결과를 0개 돌려주거나, top-K 점수가 모두 신뢰 임계값 아래인 경우입니다. 지식에 구멍이 있거나, Agent가 쿼리를 잘 다시 못 쓴다는 뜻입니다.

### 4. 도구 에러

도구가 계속 실패하는 경우입니다. 불안정한 API의 500 하나로는 걸리지 않지만, 같은 도구의 에러율이 오르면 걸립니다. 인자 형태 에러(`400: missing required field`)도 걸립니다. 대개 Agent가 잘못 이해했다는 뜻이니까요.

### 5. 가드레일 히트

설정한 가드레일이 막은 경우입니다. 나가는 메시지의 PII, 정책 위반, 출력 형식 검사 실패 같은 것들이죠. 대개 Agent가 옳은 일을 하려다 레일에 부딪힌 것이고, 가끔은 레일 설정이 틀린 것입니다.

### 6. 행동 드리프트

시간이 지나며 통계적으로 행동이 달라지는 경우입니다. 실행당 비용이 오르거나, 지연이 늘거나, 도구 사용 패턴이 바뀌거나, 리트리벌 적중률이 떨어지는 것이죠. 변화가 정상 잡음을 넘어 며칠 이어지면 걸립니다.

### 7. 회귀

예전에 고쳤던 게 다시 실패하는 경우입니다. 해결된 것과 비슷한 신호가 버전 변경 뒤 다시 나오면 걸립니다. [회귀](/ko/reliable/signals/regressions)를 참고하세요.

### 8. 승인 거부

Approvals 큐에서 이유와 함께 거부된 경우입니다. 리뷰어가 특정 종류의 Action을 계속 거부한다면, 그건 Agent의 판단에 대한 신호입니다.

## 채널마다 무게가 다릅니다

모든 채널을 똑같이 치지 않습니다. 기본 심각도 가중치는 이렇습니다.

* **사용자 피드백(교정이 달린 👎)** 가장 높음.
* **검증 블록** 높음.
* **회귀** 높음(이미 고친 게 되돌아온 것).
* **사용자 피드백(맥락 없는 👎)** 중간.
* **도구 에러, 가드레일 히트** 중간.
* **리트리벌 미스** 낮음에서 중간.
* **행동 드리프트** 낮음(원인을 짚기 어려움).

**Reliable → Signals settings**에서 Flow마다 가중치를 조정합니다.

## 커스텀 채널 추가

API로 여러분만의 신호를 올립니다.

```
POST /signals
{
  "flow": "support-agent",
  "trace_id": "trace_abc",
  "source": "external-review",
  "severity": "high",
  "notes": "리뷰어가 잘못된 정책 인용을 플래그"
}
```

바깥의 QA 흐름이 있거나, 샘플 출력을 오프라인으로 리뷰하는 컴플라이언스 팀이 있을 때 좋습니다.

## 채널 끄기

신호 설정에서 Flow마다 끕니다. 걸리길 원치 않는 채널을 끄면 됩니다. 흔히는 아직 자리 잡는 중이라 동작이 출렁일 Flow에서 "행동 드리프트" 를 꺼 둡니다.

## 신호와 트레이스

모든 신호는(trace\_id 없이 API로 올린 것만 빼면) 트레이스로 되돌아 이어집니다. 신호에서 누르면 그걸 만든 바로 그 실행을 봅니다. 트레이스에서 **Signals for this run**을 누르면 이 실행이 걸리게 한 신호를 봅니다.
