변수 시스템¶
w5w의 변수 시스템을 통해 이전 노드의 출력을 다음 노드의 입력으로 전달할 수 있습니다.
변수 참조 문법¶
기본 형식¶
| 부분 | 설명 | 예시 |
|---|---|---|
$('노드_ID') |
참조할 노드의 ID | $('trigger'), $('agent_1') |
.속성 |
출력의 최상위 속성 | .text_content, .data_content |
.경로 |
중첩된 필드 경로 | .result.items[0].name |
노드 출력 구조¶
모든 노드는 실행 후 다음 구조의 출력을 생성합니다:
{
"text_content": "노드의 텍스트 출력",
"data_content": {
"key1": "value1",
"key2": {
"nested": "value"
}
}
}
| 필드 | 설명 | 주로 사용하는 노드 |
|---|---|---|
text_content |
주요 텍스트 출력 | AI 에이전트 (생성된 답변) |
data_content |
구조화된 데이터 | 스킬 (실행 결과), 트리거 (입력 데이터) |
사용 예시¶
트리거 데이터 참조¶
AI 에이전트 출력 참조¶
AI 에이전트가 생성한 전체 텍스트를 참조합니다.
스킬 실행 결과 참조¶
배열 인덱스 접근¶
중첩 객체 접근¶
변수 셀렉터¶
에디터에서 변수를 쉽게 삽입할 수 있는 시각적 UI입니다.
사용 방법¶
- 텍스트 입력 필드에서
{{를 입력합니다. - 변수 셀렉터 팝업이 나타납니다.
- 참조할 노드를 선택합니다.
- 노드 출력의 필드를 클릭하여 변수를 삽입합니다.
표시되는 노드¶
현재 노드보다 앞에 위치한 노드(엣지를 통해 연결된 이전 노드)의 출력만 선택할 수 있습니다.
실제 데이터 확인
변수 셀렉터는 이전 테스트 실행의 실제 출력 데이터를 표시합니다. 먼저 이전 노드를 테스트 실행한 후 변수 셀렉터를 사용하면 실제 데이터 구조를 확인하며 변수를 선택할 수 있습니다.
변수 사용 위치¶
| 위치 | 예시 |
|---|---|
| 에이전트 입력 프롬프트 | {{ $('trigger').data_content.question }}에 답변해주세요 |
| 에이전트 시스템 프롬프트 | 정적 텍스트 권장 (변수 사용 가능하지만 비권장) |
| 스킬 파라미터 | 수신자: {{ $('trigger').data_content.email }} |
| 조건 노드 조건식 | {{ $('agent_1').data_content.score }} > 80 |
| 텍스트 분류 입력 | {{ $('skill_1').text_content }} |
| 응답 노드 본문 | {{ $('agent_1').text_content }} |
활용 패턴¶
패턴 1: 트리거 → 에이전트 → 스킬¶
트리거 입력을 에이전트에게 전달하고, 에이전트의 답변을 이메일로 전송합니다.
에이전트 입력: {{ $('trigger').data_content.question }}
이메일 본문: {{ $('agent_1').text_content }}
이메일 수신자: {{ $('trigger').data_content.email }}
패턴 2: 스킬 → 에이전트 (데이터 분석)¶
DB에서 조회한 데이터를 에이전트에게 전달하여 분석합니다.
패턴 3: 조건 분기¶
에이전트의 판단 결과에 따라 다른 경로를 실행합니다.
패턴 4: 반복 + 변수¶
반복 노드 내에서 현재 항목을 참조합니다.
이메일 수신자: {{ $('iterator_1').data_content.current_item.email }}
이메일 본문: {{ $('iterator_1').data_content.current_item.name }}님, 안녕하세요.
주의 사항¶
존재하지 않는 변수
참조하는 노드가 실행되지 않았거나 해당 필드가 없으면 빈 값("")으로 치환됩니다. 테스트 실행으로 변수가 올바르게 해석되는지 확인하세요.
변수 해석 시점
변수는 각 노드가 실행되기 직전에 해석됩니다. 따라서 이전 노드의 실행이 완료된 후에만 올바른 값이 전달됩니다.

