JEV에게 묻는 방법은 딱 세 종류다 — 하나의 요청에 섞어 쓰고, 병렬로 답을 받는다
JEV의 API는 복잡하지 않습니다. 하나의 상태(state)를 주고, 그 상태에 대한 질문(questions)을 던지면 끝입니다. 질문은 세 가지 프리미티브 중 하나예요 — Choice(선택), Score(척도 점수), Noul(참일 확률 0~1). 이 셋은 한 요청에 섞어 넣을 수 있고, 같은 상태를 공유하며 병렬로 동시에 평가됩니다.
💡 답은 언제나 타입이 정해진 값 + 확률 + confidence로 돌아옵니다. 문자열을 파싱할 일이 없습니다.
| 프리미티브 | 하는 일 | 출력 | 예시 |
|---|---|---|---|
| Choice | 여러 옵션 중 하나 선택 | 선택값 + 각 옵션 확률분포 + confidence | 티켓을 어느 팀으로 라우팅 |
| Score | 정해진 순서 척도(rubric)로 평가 | 연속 점수 + confidence | 고객 불만 강도(low·mid·high) |
| Noul | "참인가?"를 묻는 참/거짓 질문 | 0~1 사이 확률 하나 | "환불 요청인가?" · "긴급한가?" |
💡 셋의 공통점 — 유효한 출력이 스키마에 미리 정의돼 있어 환각도 타입 에러도 나올 수 없습니다. 차이는 오직 "무엇을 묻느냐"입니다.
💡 세 출력 모두 확률/신뢰도를 품고 있다는 게 핵심입니다. 코드가 "확신 높으면 자동, 낮으면 사람에게"를 그대로 구현할 수 있습니다.
세 프리미티브는 각각 출력 타입이 다릅니다. Choice는 정의된 옵션 집합에서 고른 값, Score는 순서 척도 위의 연속 점수, Noul은 0~1 참 확률을 냅니다. 결정의 형태를 이 세 타입 중 하나로 고정하면, 응답이 스키마에 정의된 형태를 벗어날 수 없어 코드가 파싱 없이 값을 바로 소비합니다.
💡 LLM처럼 "문자열을 뽑아 다시 파싱"하는 대신, 처음부터 타입 있는 답을 받는 겁니다.
3-2강에서는 이 프리미티브를 실제 코드로 호출합니다. state와 questions를 어떻게 넣는지, 지원 티켓 예제의 JSON 요청/응답과 LangChain 파이썬 코드를 직접 보고, 질문을 여러 개 섞어도 왜 응답 시간이 거의 그대로인지 확인합니다.