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

# 블록 와이어링

> 데이터가 흐르도록 블록을 잇고, Agent의 판단으로 갈래를 나눕니다

블록은 와이어링하기 전에는 아무것도 안 합니다. 와이어가 실행 순서와 데이터가 흐르는 길을 정합니다.

## 연결 만들기

블록마다 오른쪽 가장자리에 **출력 포트**가 하나 이상, 왼쪽에 **입력 포트**가 있습니다. 출력에서 입력으로 끌어 와이어를 만듭니다.

* 포트는 담는 데이터 종류(payload, error, control flow)에 맞는 색을 띱니다.
* 포트는 맞는 종류의 와이어만 받습니다. 안 맞으면 그 자리에서 거절합니다.
* 와이어를 지우려면 눌러서 고른 뒤 `Delete`를 누릅니다.

## 출력 모양

블록마다 종류가 정해진 출력을 냅니다.

* **Trigger** → 들어온 페이로드.
* **Agent** → `answer`, `tool_calls`, `citations`, 그리고 Agent에게 뽑아 달라고 한 구조화 필드가 담긴 객체.
* **Tool** → 도구의 응답 JSON.
* **Action** → 상태 객체(success, error, skipped).

모양이 맞으면 어떤 출력이든 하류 입력으로 흘려보낼 수 있습니다. 안 맞으면 사이에 **Transform** 스텝을 넣으세요.

## 갈래 나누기

분기만 하는 블록은 없습니다. 갈래는 두 군데서 생깁니다.

### Agent의 판단

Agent에 도구를 여럿 붙이면, 실행 중에 Agent가 도구 설명을 읽고 무엇을 부를지 고릅니다. 캔버스에서 Agent 하나에 와이어가 여러 갈래로 뻗은 모양이 이것입니다. 갈래가 미리 정해진 게 아니라 그때그때 골라집니다.

그래서 도구 설명이 분기 기준입니다. [Tool 블록](/ko/build/workflow/tool-block)을 참고하세요.

### 조건부 Action

Action마다 **run when** 표현식을 둘 수 있습니다. 이게 false 면 그 Action은 건너뛰고 뒤 Action은 그대로 돕니다.

Agent가 무엇을 부를지는 Agent에게 맡기고, 그 뒤에 무엇을 실행할지는 조건부 Action으로 거릅니다.

## 루프

Flow 안의 루프는 드뭅니다. Agent가 이미 도구 호출을 안에서 돌리니까요. 쓸 수 있는 루프 패턴이 둘입니다.

* **List Fanout** 리스트의 항목마다 같은 하류 서브플로우에서 병렬로 처리한 뒤 결과를 합침.

가드레일도 있습니다. Flow는 실행당 와이어를 도는 횟수에 상한(기본 100)을 둡니다. 폭주 루프를 막죠. Flow 설정에서 바꿀 수 있습니다.

## 빠진 와이어 경고

필수 입력을 안 이으면 블록에 빨간 점이 뜹니다. Publish 점검이 필수 입력을 다 이을 때까지 출시를 막습니다.

## 보기 좋게 하는 팁

* 와이어를 우클릭해 **웨이포인트**를 더하면 복잡한 Flow가 읽기 쉬워집니다.
* 위쪽 툴바의 **자동 배치**로 Flow 전체를 깔끔한 왼쪽→오른쪽 배치로 맞춥니다.
