Skip to content

Condition 노드

Condition 노드는 이전 노드의 값을 비교해 IFELSE IFELSE 순서로 실행 경로를 선택합니다.

언제 사용하나요?

  • 점수, 상태 코드, 분류 결과에 따라 후속 처리를 다르게 할 때
  • 값이 비어 있거나 불리언 플래그가 참인지 확인할 때
  • 정상 처리와 대체 응답 경로를 나눌 때

입력

조건의 소스로 현재 노드에서 접근 가능한 이전 노드 출력 중 string, number, boolean 타입 필드를 선택할 수 있습니다.

하나의 IF 또는 ELSE IF 분기에 규칙을 여러 개 추가하고 ANDOR로 결합할 수 있습니다. AND는 모든 규칙이 참이어야 하고 OR는 하나 이상의 규칙이 참이면 해당 분기를 선택합니다.

주요 설정

Condition에는 하나의 IF, 추가할 수 있는 여러 ELSE IF, 항상 마지막에 실행되는 ELSE가 있습니다.

타입사용할 수 있는 연산자
string같음, 같지 않음, 포함, 포함하지 않음, 시작 문자열, 끝 문자열, 비어 있음, 비어 있지 않음
number같음, 같지 않음, 큼, 작음, 크거나 같음, 작거나 같음
boolean참, 거짓

평가 순서는 다음과 같습니다.

  1. IF가 참이면 IF 경로를 선택하고 평가를 끝냅니다.
  2. IF가 거짓이면 ELSE IF를 위에서부터 순서대로 평가합니다.
  3. 먼저 참이 된 ELSE IF 경로를 선택하고 평가를 끝냅니다.
  4. 앞선 조건이 모두 거짓이면 ELSE 경로를 선택합니다.

출력

Condition은 다음 노드에서 선택할 수 있는 데이터 필드를 만들지 않습니다. 선택된 분기의 연결선으로만 실행을 전달하며, 선택되지 않은 분기의 노드는 실행하지 않습니다.

실행 이력에는 선택 결과를 식별할 수 있도록 분기 종류와 분기 ID가 기록됩니다.

연결과 배치 제약

  • IF, 각 ELSE IF, ELSE에는 서로 다른 출력 핸들이 있습니다. 연결할 때 해당 분기의 + 버튼을 사용하세요.
  • 일반 워크플로우에서는 선택된 하나의 분기에서 여러 후속 노드를 실행하도록 연결할 수 있습니다.
  • Iteration 또는 Loop 안에서는 각 분기 핸들을 다음 노드 하나에만 연결할 수 있습니다.
  • 서로 다른 분기 경로는 이후 같은 노드로 다시 합칠 수 있습니다.
  • Loop나 Iteration 안의 Condition은 컨테이너 밖 노드와 직접 연결할 수 없습니다.

예시

검토 점수에 따라 처리 경로를 나누는 예입니다.

분기규칙다음 노드
IFCRITIQUE.result.score 크거나 같음 80승인 메시지 Template
ELSE IFCRITIQUE.result.score 크거나 같음 60수동 검토 요청 Template
ELSE조건 없음재작성 LLM

점수가 85이면 IF만, 70이면 첫 ELSE IF만, 50이면 ELSE만 실행됩니다.

주의사항

  • IF나 ELSE IF에 규칙이 하나도 없고 결합 방식이 AND이면 해당 분기는 참으로 평가됩니다. 의도하지 않은 상시 분기를 만들지 않도록 최소 한 개의 규칙을 설정하세요.
  • ELSE는 조건을 설정하지 않는 최종 폴백입니다. 처리되지 않는 입력이 없도록 ELSE 경로도 연결하는 것을 권장합니다.
  • 비어 있음거짓null, 빈 문자열, 숫자 0, boolean false처럼 falsy한 값을 참으로 판단합니다. 0을 유효한 값으로 구분해야 한다면 숫자 비교를 사용하세요.
  • ELSE IF를 삭제하면 해당 분기 핸들에 연결된 선도 함께 제거됩니다.
  • 조건 소스의 출력 타입이나 경로가 바뀌면 연산자가 더 이상 적합하지 않을 수 있으므로 다시 선택하세요.

관련 노드