Jev는 정해진 선택지와 확률을 반환하는 TypeSafe AI의 결정 모델입니다. 자연어 판단을 코드의 분기 조건에 연결할 때 적합합니다. 출력 형식은 제한하지만 판단의 정확성을 보장하지는 않습니다.
가격은 2026년 9월 15일 발표, 한계는 9월 17일 검토 문서 기준입니다.
Jev는 어떤 일을 맡는 모델인가요?
Jev는 입력 내용을 읽고 미리 정의한 질문에 구조화된 답을 반환합니다. 평가할 내용은 state에 넣습니다. 판단 기준은 questions에 정의합니다. 반환된 답은 분류나 우선순위 결정에 사용할 수 있습니다.
TypeSafe AI는 이 방식을 System One 모델이라고 부릅니다. 학습 방식은 RLCD라는 이름으로 설명합니다. 이는 판단 확률의 보정에 초점을 둔 강화학습입니다. 다만 서비스별 정확성은 별도로 검증해야 합니다.
공식 Introduction 문서는 설계 원칙을 다음처럼 표현합니다.
Atomic questions, composed in code
TypeSafe AI, Introduction
뜻은 질문마다 하나의 판단을 맡기라는 것입니다. 여러 판단의 조합은 코드에서 처리합니다. 한 요청에 담긴 질문들은 같은 상태를 독립적으로 평가합니다. 자세한 구조는 TypeSafe AI Introduction에서 확인할 수 있습니다.
Jev의 결정 결과를 자동 처리와 사람 검토로 나누는 분기 설계가 중요합니다.
Choice·Score·Noul 비교
질문 유형은 반환된 답을 코드에서 어떻게 사용할지에 따라 고르세요. 담당 부서는 범주 선택 문제입니다. 심각도는 순서가 있는 평가 문제에 해당합니다. 특정 요구의 유무는 참과 거짓으로 나눌 수 있습니다.
| 유형 | 묻는 내용 | 주요 반환값 | 코드 연결 |
|---|---|---|---|
| Choice | 정해진 범주 중 어느 것인가 |
choice, probabilities, confidence
|
switch 분기 |
| Score | 설명된 단계 중 어느 수준인가 |
score, probabilities, confidence
|
점수와 임계값 비교 |
| Noul | 특정 조건이 참인가 | noul |
확률을 비교한 뒤 if 분기 |
Choice의 선택지는 어떻게 정하나요?
Choice는 질문 하나에 최대 255개 선택지를 받습니다. 선택지의 이름과 설명을 함께 평가합니다. 목록에 없는 입력도 들어온다면 other 같은 항목을 고려하세요. 이는 억지 분류를 줄이기 위한 설계입니다.
Choice는 주어진 후보 사이에서 하나를 고릅니다. 모든 후보가 부적절한지까지 별도로 판단하려면 질문을 추가해야 합니다. 반환 확률의 합은 1입니다. 정의와 제한은 Choice 문서에 나와 있습니다.
Score와 Noul은 어떻게 다른가요?
Score는 설명이 붙은 단계에서 위치를 평가합니다. 단계 번호는 0부터 시작합니다. 결과는 단계 번호의 확률 가중평균입니다. 따라서 정수가 아닌 점수도 반환할 수 있습니다.
Noul은 조건이 참일 확률을 0부터 1 사이로 반환합니다. 0.5 근처는 참과 거짓의 확률이 비슷하다는 뜻입니다. 불만의 정도가 중간이라는 의미로 읽으면 안 됩니다. 정도를 재려면 Score, 유무를 묻으려면 Noul을 사용하세요.
일반 코드·생성 모델과의 역할 비교
정확한 계산은 코드에 맡기고 의미 판단만 모델에 맡기세요. 문장을 새로 작성하는 작업은 생성 모델의 역할입니다. Jev는 답의 범위가 정해진 판단에 맞습니다. 이 구분을 기준으로 기존 기능의 교체 범위를 정할 수 있습니다.
| 작업 조건 | 적합한 처리 방식 | 이유 |
|---|---|---|
| 날짜 간격이나 항목 수 계산 | 일반 코드 | 규칙에 따라 정확히 계산 가능 |
| 고객 문의의 담당 부서 분류 | Jev Choice | 선택지가 정해진 의미 판단 |
| 장애 보고의 심각도 평가 | Jev Score | 설명된 단계 사이의 판단 |
| 상담원 연결 요구 확인 | Jev Noul | 특정 의도의 유무 판단 |
| 답변 작성이나 자유로운 요약 | 생성 모델 | 새로운 문자열 생성 필요 |
문자열 출력을 처리할 때는 형식 검증 코드가 필요할 수 있습니다. Jev는 정의된 답의 형식을 직접 반환하는 구조입니다. 그렇다고 모든 검증과 재시도가 사라지는 것은 아닙니다. 공식 SDK도 통신 오류 등에 대비한 재시도 정책을 제공합니다.
외부 입력 검증과 업무 규칙 검사는 계속 구분해서 설계하세요. 모델의 답이 타입에 맞아도 업무상 틀릴 수 있습니다. 이 구분은 공식 Client SDKs와 모델 한계 문서를 바탕으로 한 설계 해석입니다.
TypeScript 질문 정의와 답의 타입
TypeScript SDK는 질문 정의에서 반환값의 타입을 추론합니다. Choice의 선택지 키가 답의 허용값으로 연결됩니다. 그 결과 허용되지 않은 문자열 비교를 컴파일 단계에서 찾을 수 있습니다. SDK 요구 환경은 Node.js 20 이상입니다.
다음은 공식 SDK 호출 형태를 응용한 설명용 코드입니다. 실행 결과나 정확도를 측정한 예시는 아닙니다. 환경 변수 TYPESAFE_API_KEY 설정이 필요합니다.
import { TypeSafeClient, choice } from "@typesafe-ai/sdk";
const api = new TypeSafeClient();
async function classifyMessage(message: string) {
const result = await api.systemOne({
model: "jev-1.13.0",
state: { message },
questions: {
topic: choice("Classify the subject of message.", {
account: "Account access or password problems",
delivery: "Shipment tracking or delivery problems",
other: "Any subject outside those categories",
}),
},
});
return result.answers.topic;
}
이 예제의 choice 타입은 account | delivery | other입니다. 문자열은 실제 TypeScript에서 따옴표로 표시되는 리터럴 타입입니다. 다만 타입 검사는 문의를 올바르게 분류했는지 판단하지 않습니다. 설치와 호출 규격은 JavaScript SDK 문서를 기준으로 확인하세요.