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

# Output 스테이지

> 강화된 청크를 Agent 가 읽는 스토어에 영속화.

**Output** 스테이지는 정리되고 청크화되고 강화된 데이터가 리트리벌 가능한 지식이 되는 곳입니다. 모든 파이프라인은 최소 하나의 Output 블록이 있어야 합니다.

## Output 블록 종류

### 문서 스토어

청크를 Nora **문서 컬렉션** 에 씀. 대부분 파이프라인의 기본 타겟.

설정:

* **Collection name** — 신규 또는 기존.
* **Write mode** — 아래 참고.
* **Retention** — 소스가 삭제된 후 청크가 얼마나 남는지 (기본: tombstone 으로 90일, 이후 제거).

한 번 쓰이면 에이전트는 이 컬렉션을 데이터 소스로 붙여서 리트리벌 가능 ([에이전트에 데이터 붙이기](/ko/build/knowledge/attach) 참고).

### 메모리 스페이스

청크나 요약 사실을 **메모리 스페이스** 에 씀. 생성 시 스페이스 종류 선택 (Wiki, Index, Session, Evolution — [메모리 스페이스](/ko/build/memory/spaces) 참고).

흔한 레시피: 채팅 트랜스크립트 아카이브에 Foundry 파이프라인 실행, 메모리 스페이스로 Output, 그 스페이스를 지원 Agent 에 붙여서 이전 대화를 회상하게 함.

### 지식 그래프

추출된 엔티티와 관계를 그래프 노드와 엣지로 씀. 구조화 도메인 데이터에 유용. [인과 그래프 개요](/ko/build/causal-graph/overview) 참고.

### 외부 싱크

결과를 Nora 밖 시스템으로 밀어냄:

* HTTP 웹훅 (청크마다 POST).
* Kafka 토픽.
* S3 (JSONL 로).
* Postgres (테이블에 upsert).

Nora 가 이미 있는 시스템이 소비하는 지식을 생산할 때 유용.

## 쓰기 모드

* **Upsert** — 새 청크 쓰고, 콘텐츠 해시 바뀐 청크는 업데이트, 변경 없는 것은 그대로. 기본. 90% 경우에 원하는 것.
* **Replace** — 컬렉션을 먼저 비우고 이 실행의 모든 것을 씀. 전체 재빌드에만 사용.
* **Append** — 기존 청크 절대 건드리지 않고 항상 새로 씀. 드묾 — 이력 버전에 접근하고 싶을 때만.

## 삭제 처리

소스 항목이 사라지면 Nora 가 **삭제 이벤트** 를 방출. Output 블록은 기본으로 파생 청크를 **superseded** 로 표시 — 리트리벌은 스킵하지만 감사용으로 여전히 쿼리 가능. 필요하면 Output 블록 설정에서 hard-delete 로 변경.

## 멱등성

Output 쓰기는 청크 콘텐츠 해시로 멱등. 같은 소스에 파이프라인을 재실행하면 같은 스토어 상태가 됨. 그래서 중복 없이 자유롭게 재실행 가능.

## 트랜잭션

Output 블록의 쓰기는 소스 항목별로 원자적으로 커밋됨: 주어진 소스의 모든 청크가 도착하거나 아무것도 도착하지 않음 (실행이 그 항목에 대해 실패로 표시). 부분 인제스트가 Agent 를 반쪽 일관 상태로 남기지 않도록 방지.

## 분할 Output

여러 Output 블록을 병렬로 배선 가능 — 예: 일반 문서 컬렉션 **과** 특화 메모리 스페이스에 동시 쓰기. 각 Output 은 자체 필터 — 다른 하위집합을 다른 목적지로 보내려면 상류에 **filter** 스텝을 놓으세요.

## 쓰기 검증

**Run logs** 페이지가 Output 별 통계 표시: 쓰인 항목, 업데이트된 항목, 변경 없어 스킵된 항목, superseded 된 항목, 저장된 바이트.
