영상에 나온 n8n 워크플로 두 개, Jev 출력 읽는 법과 판단 게이트 챗봇
유튜브 영상 앞부분에서 Jev가 무엇을 받고 무엇을 돌려주는지 보여드릴 때 쓴 n8n 워크플로 두 개를 그대로 올려 둡니다. 하나는 Jev의 출력 타입 세 가지를 실제 호출로 확인하는 워크플로이고, 다른 하나는 Jev가 먼저 판단한 뒤 LLM이 답장을 쓸지 사람에게 넘길지를 정하는 고객지원 챗봇입니다.
둘 다 커뮤니티 노드 없이 HTTP Request 노드로 Jev를 부릅니다. 가져온 뒤 자격증명만 고르면 바로 실행됩니다.
💡 사전 요구사항: n8n과 TypeSafe API 키가 필요합니다. Jev를 n8n에 처음 붙여 보신다면 n8n의 판단 단계를 Jev로 바꿔 보기를 먼저 보시면 흐름이 더 쉽게 잡힙니다.
워크플로 1. Jev 출력 읽는 법
위는 실제 캔버스입니다. 인터랙티브 캔버스 열기를 누르면 n8n 공식 뷰어로 바뀌어 확대·이동하거나 노드를 더블클릭해 설정을 볼 수 있습니다. 뷰어는 불러오는 데 30초쯤 걸립니다. 전체 화면으로 보기
같은 고객 문의에 질문 세 개를 한 요청으로 보내고, 돌아온 숫자를 IF·Switch 노드가 읽어 분기합니다. 영상에서는 위쪽 고객지원 레인만 보여드렸고, 캔버스에는 이메일 보안 레인이 하나 더 들어 있습니다.
가져오기
워크플로 파일 주소는 아래와 같습니다.
https://storage.googleapis.com/dante-edu/n8n-jev-output-chatbot/jev-output-types.json
n8n 편집 화면 오른쪽 위 메뉴에서 Import from URL을 고르고 이 주소를 붙여 넣으면 됩니다.
자격증명
| 자격증명 | 설정 | 어느 노드에서 고르나 |
|---|---|---|
| Header Auth | Name Authorization, Value Bearer 본인의 TypeSafe API 키 | Jev 판단: 고객지원, Jev 판단: 메일 보안 |
수동 실행을 누르면 Jev 요청이 두 번 나갑니다. 각 노드를 열어 입력과 출력을 보시면 됩니다.
출력 타입 세 가지
| 타입 | 응답 필드 | 뜻 |
|---|---|---|
| choice | choice, confidence, probabilities | 후보 중 하나와 후보별 확률 |
| noul | noul | "예"일 확률 하나(0~1) |
| score | score, confidence, probabilities, legend | 기준 배열에서 0부터 센 위치(소수) |
처음 보면 헷갈리는 곳이 세 군데 있습니다.
- noul에는 참/거짓 값이 없습니다.
0.8같은 숫자 하나만 옵니다. 참인지 거짓인지는 워크플로의 임계값이 정합니다. - score는 정수가 아닙니다.
2.23처럼 소수로 오고, 기준 배열의 첫 칸이 0입니다. 1~5단계로 보여 주려면 워크플로가 반올림하고 1을 더합니다. 영상의 긴급도 2.2가 3단계 "보통"이 된 이유입니다. - 임계값은 Jev가 아니라 IF 노드에 있습니다.
결과 정리노드의임계값_*필드를 바꿔 보면 분기가 어떻게 달라지는지 바로 보입니다.
고객지원 레인의 분기
| 판단 | 영상에서 나온 값 | 임계값 | 결과 |
|---|---|---|---|
| intent | refund, 확신도 1 | 0.9 이상 | 환불 큐 |
| needs_human | 약 0.8 | 0.85 이상이면 상담원 | 자동 응답 |
| urgency | 약 2.2 → 3단계 | 4단계 이상이면 높은 우선순위 | 일반 우선순위 |
값은 실행할 때마다 소수점 둘째 자리가 조금씩 달라집니다.
⚠️
Jev 판단노드는 세 번 다시 시도한 뒤에도 실패하면 멈추지 않고 넘깁니다. 이때 확신도는 0, 상담원 필요는 1로 채워져 사람 검토 쪽으로 갑니다. 잘못 자동 분류하는 것보다 안전한 쪽으로 떨어지게 만든 구조입니다.
워크플로 2. 판단 게이트 고객지원 챗봇
채팅 메시지가 들어오면 Jev가 먼저 판단하고, IF 노드가 사람에게 넘길지 LLM이 답장을 쓸지를 정합니다. 사람에게 넘기는 문의에는 LLM을 아예 부르지 않습니다.
가져오기
https://storage.googleapis.com/dante-edu/n8n-jev-output-chatbot/jev-support-chatbot.json
자격증명
| 자격증명 | 설정 | 어느 노드에서 고르나 |
|---|---|---|
| Header Auth | Name Authorization, Value Bearer 본인의 TypeSafe API 키 | Jev 판단 |
| OpenRouter | 본인의 OpenRouter API 키 | OpenRouter 모델 |
| Basic Auth | 채팅 페이지에 쓸 아이디와 비밀번호 | 채팅 수신 |
편집 화면 아래 Open chat으로 바로 시험할 수 있습니다. 워크플로를 활성화하면 채팅 수신 노드의 Chat URL로 채팅 페이지를 열 수도 있습니다.
⚠️ 채팅 페이지를 켜 두는 동안에는 비밀번호를 아는 사람 누구나 여러분의 TypeSafe·OpenRouter 크레딧을 씁니다. 시험이 끝나면 워크플로를 비활성화해 주세요.
사람에게 넘기는 조건
다음 중 하나라도 해당하면 상담원 연결 안내를 보내고, LLM은 부르지 않습니다.
- 상담원 필요(needs_human) 확률이 0.85 이상
- 의도(intent)를 고른 확신도가 0.9 미만
- Jev 호출 실패
긴급도가 4단계 이상이면 안내 문구가 "우선 배정했습니다"로 바뀝니다. 그 밖의 문의는 OpenRouter의 gpt-4o-mini가 Jev가 고른 의도와 긴급도를 참고해 답장을 씁니다. 답장 끝에는 — Jev 판단: … 한 줄이 붙어서 왜 그 경로로 갔는지 채팅 화면에서 바로 볼 수 있습니다.
영상에서 보낸 메시지
| 메시지 | Jev 판단 | 경로 |
|---|---|---|
| 지난주 Pro 구독했는데 오늘 중복 결제됐어요. 환불해 주세요. | refund 1.00, 상담원 필요 0.80, 긴급도 4/5 | LLM 답장 |
| 벌써 세 번째 문의입니다. 오늘 안에 해결 안 되면 카드사에 신고하겠습니다. | other 0.54, 상담원 필요 0.86, 긴급도 4/5 | 상담원 우선 배정(LLM 호출 없음) |
| 팀원 초대는 어디서 하나요? | 상담원 필요 0.47 | LLM 답장 |
| 안녕하세요! | 상담원 필요 0.19 | LLM 답장 |
두 번째 메시지는 LLM을 거치지 않아서 다른 메시지보다 훨씬 빨리 답이 왔습니다. 이 메시지들로 먼저 시험해 보시고, 임계값을 바꿔 가며 몇 건이 사람에게 넘어가는지 직접 보시면 됩니다.
마무리, 판단과 글쓰기를 나누면
두 워크플로 모두 같은 구조입니다. Jev는 숫자만 주고, 그 숫자로 무엇을 할지는 IF·Switch 노드의 규칙이 정합니다. 글을 써야 하는 단계만 LLM에게 맡기니, 사람이 받아야 할 문의에는 LLM 비용이 들지 않습니다.
영상 뒷부분에서는 이런 판단을 클라우드가 아니라 내 컴퓨터 안의 오픈 판단 모델로 돌려 봤습니다. 사내 문서처럼 밖으로 보내기 망설여지는 데이터가 있다면 영상도 함께 봐 주세요.
실제 고객 문의를 외부 API로 보낼 때는 개인정보 처리 방침을 먼저 확인하세요. 궁금한 점이나 여러분 환경에서 돌려 본 결과가 있으면 카카오톡 오픈채팅방 Agentic AI 커뮤니티에 남겨 주세요.
