다크 모드
Condition 노드
Condition 노드는 이전 노드의 값을 비교해 IF → ELSE IF → ELSE 순서로 실행 경로를 선택합니다.
언제 사용하나요?
- 점수, 상태 코드, 분류 결과에 따라 후속 처리를 다르게 할 때
- 값이 비어 있거나 불리언 플래그가 참인지 확인할 때
- 정상 처리와 대체 응답 경로를 나눌 때
입력
조건의 소스로 현재 노드에서 접근 가능한 이전 노드 출력 중 string, number, boolean 타입 필드를 선택할 수 있습니다.
하나의 IF 또는 ELSE IF 분기에 규칙을 여러 개 추가하고 AND나 OR로 결합할 수 있습니다. AND는 모든 규칙이 참이어야 하고 OR는 하나 이상의 규칙이 참이면 해당 분기를 선택합니다.
주요 설정
Condition에는 하나의 IF, 추가할 수 있는 여러 ELSE IF, 항상 마지막에 실행되는 ELSE가 있습니다.
| 타입 | 사용할 수 있는 연산자 |
|---|---|
| string | 같음, 같지 않음, 포함, 포함하지 않음, 시작 문자열, 끝 문자열, 비어 있음, 비어 있지 않음 |
| number | 같음, 같지 않음, 큼, 작음, 크거나 같음, 작거나 같음 |
| boolean | 참, 거짓 |
평가 순서는 다음과 같습니다.
- IF가 참이면 IF 경로를 선택하고 평가를 끝냅니다.
- IF가 거짓이면 ELSE IF를 위에서부터 순서대로 평가합니다.
- 먼저 참이 된 ELSE IF 경로를 선택하고 평가를 끝냅니다.
- 앞선 조건이 모두 거짓이면 ELSE 경로를 선택합니다.
출력
Condition은 다음 노드에서 선택할 수 있는 데이터 필드를 만들지 않습니다. 선택된 분기의 연결선으로만 실행을 전달하며, 선택되지 않은 분기의 노드는 실행하지 않습니다.
실행 이력에는 선택 결과를 식별할 수 있도록 분기 종류와 분기 ID가 기록됩니다.
연결과 배치 제약
- IF, 각 ELSE IF, ELSE에는 서로 다른 출력 핸들이 있습니다. 연결할 때 해당 분기의
+버튼을 사용하세요. - 일반 워크플로우에서는 선택된 하나의 분기에서 여러 후속 노드를 실행하도록 연결할 수 있습니다.
- Iteration 또는 Loop 안에서는 각 분기 핸들을 다음 노드 하나에만 연결할 수 있습니다.
- 서로 다른 분기 경로는 이후 같은 노드로 다시 합칠 수 있습니다.
- Loop나 Iteration 안의 Condition은 컨테이너 밖 노드와 직접 연결할 수 없습니다.
예시
검토 점수에 따라 처리 경로를 나누는 예입니다.
| 분기 | 규칙 | 다음 노드 |
|---|---|---|
| IF | CRITIQUE.result.score 크거나 같음 80 | 승인 메시지 Template |
| ELSE IF | CRITIQUE.result.score 크거나 같음 60 | 수동 검토 요청 Template |
| ELSE | 조건 없음 | 재작성 LLM |
점수가 85이면 IF만, 70이면 첫 ELSE IF만, 50이면 ELSE만 실행됩니다.
주의사항
- IF나 ELSE IF에 규칙이 하나도 없고 결합 방식이
AND이면 해당 분기는 참으로 평가됩니다. 의도하지 않은 상시 분기를 만들지 않도록 최소 한 개의 규칙을 설정하세요. - ELSE는 조건을 설정하지 않는 최종 폴백입니다. 처리되지 않는 입력이 없도록 ELSE 경로도 연결하는 것을 권장합니다.
비어 있음과거짓은null, 빈 문자열, 숫자0, booleanfalse처럼 falsy한 값을 참으로 판단합니다.0을 유효한 값으로 구분해야 한다면 숫자 비교를 사용하세요.- ELSE IF를 삭제하면 해당 분기 핸들에 연결된 선도 함께 제거됩니다.
- 조건 소스의 출력 타입이나 경로가 바뀌면 연산자가 더 이상 적합하지 않을 수 있으므로 다시 선택하세요.