Choice, Score, Noul
요청을 작성하기 전에 Choice, Score, Noul을 비교한다.
모든 Jev 호출은 하나의 state을 대상으로 한 형식 지정 질문의 맵이다. Choice은 최대 255개의 정의된 옵션 중 하나를 고른다. Score는 state을 2~10개의 순서 있는 단계에 배치하며 두 단계 사이에 놓일 수도 있다. Noul는 P(yes)를 [0, 1] 범위의 noul로 반환하며 별도의 confidence 필드가 없다. 결정에 맞는 프리미티브를 선택하고 산술, 날짜, 생성 작업은 다른 도구에서 처리한다.
프리미티브 선택 방법
답이 대기열, 기술, 클래스 레이블, 다음 링크처럼 이름이 정해진 선택지 하나라면 Choice을 사용하세요. TypeSafe이 표시하는 질문은 "이 선택지 중 어느 것입니까?"입니다. 반환값은 선택 결과, 확률, confidence입니다. 기준은 최대 255개 선택지를 담는 맵입니다. Wikipedia 링크가 수백 개라면 Choice 하나에 모두 넣을 수 없습니다. Wikiracing 데모처럼 먼저 점수를 매긴 뒤 추린 후보 중 하나를 선택해야 합니다.
답이 '차분함 / 불만 / 매우 불만' 또는 1-5 심각도처럼 짧고 순서가 있는 범례상의 정도라면 Score을 사용한다. score, legend, probabilities, confidence을 반환한다. criteria는 2~10개 단계의 순서 있는 배열이다. 점수를 정확한 크기로 보간하지 않는다. Jev 1.13의 단계는 두 눈금 사이의 수치를 복원하는 데 부정확하므로 기댓값은 임계값 확인에만 사용한다.
질문에 예 또는 아니요로 답할 수 있을 때는 Noul을 사용하세요. 예: "이것이 사실인가?" 0부터 1까지의 noul을 반환합니다. 기준에는 참과 거짓에 대한 설명을 선택적으로 넣을 수 있습니다. confidence 필드는 없습니다. 0.5에 가까운 Noul은 중간 강도가 아니라 불확실성을 뜻합니다. Noul이 선택지 2개인 Choice과 같다고 가정하거나, 한쪽에 맞춘 임계값을 다른 쪽에 그대로 적용하지 마세요. TypeSafe의 jaggedness 페이지에서는 같은 문의에 대한 환불 Noul 0.22와 예 Choice 0.01을 나란히 보여 줍니다.
Choice
- 유형 필드
- choice
- question
- 다음 중 어느 옵션입니까?
- returns
- 선택, 확률, confidence
- criteria
- 최대 255개 옵션의 맵
- 최대 옵션 수
- 255
Score
- 유형 필드
- score
- question
- 어느 단계입니까?
- returns
- 점수, 범례, 확률, confidence
- criteria
- 2~10개 단계의 순서 있는 배열
- 최소 레벨 수
- 2
- 최대 레벨 수
- 10
Noul
- 유형 필드
- noul
- question
- 이것이 사실입니까?
- returns
- noul (0~1)
- 신뢰도 있음
- false
- criteria
- 선택적 참/거짓 설명
병렬 질문과 ID
한 요청의 질문들은 state를 공유하지만 서로 독립적으로 병렬 실행되며, 질문을 추가해도 지연 시간은 거의 늘지 않는다. 같은 맵에 Choice, Score, Noul을 섞을 수 있다. 키는 urgency, department, frustration처럼 직접 정하며 대응하는 답변도 같은 키로 반환된다. 키는 기반 모델에 전송되지 않으며 추론에도 사용되지 않는다.
루프에서 키를 생성할 때는 이 ID 규칙이 중요합니다. jaggedness 페이지의 개수 계산 예시는 목록 항목마다 Noul을 하나씩 요청하고(item_0, item_1, …), Python에서 답을 합산합니다. Jev은 이 이름들을 토큰으로 보지 않습니다. 재시도 기록을 원래 맵과 연결할 수 있도록 로그에서 이름을 일관되게 유지하세요.
모든 프리미티브 응답에 공통으로 포함되는 반환 메타데이터는 requestId, timestamp, latency, metadata다. requestId로 추적 기록을 연결한다. timestamp와 latency는 전송 사실로 취급하며 재질문의 근거로 삼지 않는다. metadata는 핵심 페이로드에 첨부되는 선택적 내용이다. 먼저 세 프리미티브를 비교한 뒤 이 공통 필드를 형식 지정 답변을 감싸는 봉투로 이해한다.
실사용 제한
Choice 선택지 255개는 권장치가 아니라 절대 한도입니다. Wikiracing는 Score으로 후보를 추린 뒤 Choice을 적용해 이 한도를 넘는 문제를 처리합니다. 분류 체계에 레이블이 400개라면 같은 2단계 구조나 Choice 계층이 필요합니다. API가 256개를 받아 주리라 기대하지 마세요.
Score의 2~10개 단계는 사람이 소리 내 읽을 수 있는 짧은 범례용이다. 100점 품질 척도에는 맞지 않는 프리미티브이므로 원자적 Scores로 나누고 코드에서 더한다. 1.4처럼 단계 사이의 점수는 정상이다. 이 소수값으로 금액을 복원하는 것은 올바르지 않다.
Noul에는 confidence 필드가 없으므로, 게이트에는 noul 값과 직접 추가한 두 번째 질문을 사용해야 합니다. 흔히 쓰는 조합은 "범위에 포함되는가"를 묻는 Noul과, noul이 높을 때만 "어느 분류에 속하는가"를 묻는 Choice입니다. jaggedness의 불변 조건 기록은 이 두 수치를 같은 통계값으로 취급하지 말라는 경고입니다.
하나의 티켓을 대상으로 세 프리미티브를 모두 섞은 요청은 고급 기법이 아니라 일반적인 구조다. 긴급도는 Noul, 담당 부서는 Choice, 불만도는 Score으로 구한 뒤 코드에서 처리한다. 빠른 시작의 curl 예시와 같은 맵이다. 이 페이지에서 비교하는 이유는 JSON을 작성하기 전에 유형을 고르게 하려는 것이다.
공통 봉투 필드는 네 번째 프리미티브가 아니다. requestId, timestamp, latency, metadata는 호출을 추적할 수 있도록 모든 답변과 함께 전달된다. 제품 관련 정보는 state에 넣는다. metadata에 정책을 넣고 있다면 Jev이 실제로 읽는 객체로 옮긴다.
새 팀원이 내일 읽는다고 생각하고 criteria를 작성한다. Choice의 옵션 이름과 Score의 단계 이름도 질문의 일부다. 모호한 레이블은 프로덕션에서 문자 그대로 해석되는 원인이 된다.
Noul은 고유명사다. 요청의 나머지가 영어 문장이어도 철자를 그대로 유지한다.
출처