콘텐츠로 이동

변수 시스템

w5w의 변수 시스템을 통해 이전 노드의 출력을 다음 노드의 입력으로 전달할 수 있습니다.


변수 참조 문법

기본 형식

{{ $('노드_ID').속성.경로 }}
부분 설명 예시
$('노드_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 구조화된 데이터 스킬 (실행 결과), 트리거 (입력 데이터)

사용 예시

트리거 데이터 참조

{{ $('trigger').data_content.email }}
{{ $('trigger').data_content.customer_name }}

AI 에이전트 출력 참조

{{ $('agent_1').text_content }}

AI 에이전트가 생성한 전체 텍스트를 참조합니다.

스킬 실행 결과 참조

{{ $('skill_1').data_content.result }}
{{ $('skill_1').data_content.result.items }}

배열 인덱스 접근

{{ $('skill_1').data_content.results[0].name }}
{{ $('skill_1').data_content.results[2].email }}

중첩 객체 접근

{{ $('trigger').data_content.order.customer.address.city }}

변수 셀렉터

에디터에서 변수를 쉽게 삽입할 수 있는 시각적 UI입니다.

사용 방법

  1. 텍스트 입력 필드에서 {{를 입력합니다.
  2. 변수 셀렉터 팝업이 나타납니다.
  3. 참조할 노드를 선택합니다.
  4. 노드 출력의 필드를 클릭하여 변수를 삽입합니다.

변수 셀렉터 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에서 조회한 데이터를 에이전트에게 전달하여 분석합니다.

에이전트 입력: 다음 데이터를 분석해주세요: {{ $('db_query').data_content.result }}

패턴 3: 조건 분기

에이전트의 판단 결과에 따라 다른 경로를 실행합니다.

조건: {{ $('agent_1').data_content.sentiment }} == "positive"
→ True:  감사 이메일 전송
→ False: 담당자에게 알림

패턴 4: 반복 + 변수

반복 노드 내에서 현재 항목을 참조합니다.

이메일 수신자: {{ $('iterator_1').data_content.current_item.email }}
이메일 본문:   {{ $('iterator_1').data_content.current_item.name }}님, 안녕하세요.

주의 사항

존재하지 않는 변수

참조하는 노드가 실행되지 않았거나 해당 필드가 없으면 빈 값("")으로 치환됩니다. 테스트 실행으로 변수가 올바르게 해석되는지 확인하세요.

변수 해석 시점

변수는 각 노드가 실행되기 직전에 해석됩니다. 따라서 이전 노드의 실행이 완료된 후에만 올바른 값이 전달됩니다.


다음 단계