Source: https://ailoot.ai/docs/ko/api/systemone/
Canonical: https://ailoot.ai/docs/ko/api/systemone/
Language: ko

[API](https://ailoot.ai/docs/ko/) 

# Jev — 판단 모델

[Markdown](https://ailoot.ai/docs/ko/api/systemone/index.md)

TypeSafe의 Jev 판단 모델은 텍스트나 JSON에 관한 타입 지정 질문에 응답합니다. 선택지 선택, 척도 평가 또는 확률이 포함된 «예/아니요» 판단입니다. 채팅이나 텍스트 생성 모델이 아닙니다.

POST`https://api.ailoot.ai/v1/systemone`

Jev — 판단 모델

```bash
curl https://api.ailoot.ai/v1/systemone \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "jev-latest",
    "state": "도와주세요! 3일째 지급에 실패하고 있어요.",
    "questions": {
      "is_urgent": {
        "type": "noul",
        "instructions": "긴급한 상황임을 나타내나요?"
      }
    }
  }' 
```

```python
import json, os, urllib.request

body = {
    "model": "jev-latest",
    "state": "도와주세요! 3일째 지급에 실패하고 있어요.",
    "questions": {
        "is_urgent": {"type": "noul", "instructions": "긴급한 상황임을 나타내나요?"},
    },
}
req = urllib.request.Request(
    "https://api.ailoot.ai/v1/systemone",
    data=json.dumps(body).encode(),
    headers={"Authorization": "Bearer " + os.environ["AILOOT_API_KEY"],
             "Content-Type": "application/json"},
)
with urllib.request.urlopen(req, timeout=60) as resp:
    result = json.load(resp)
print(result["answers"]["is_urgent"]["noul"])  # 0.95
```

```js
const resp = await fetch("https://api.ailoot.ai/v1/systemone", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.AILOOT_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "jev-latest",
    state: "도와주세요! 3일째 지급에 실패하고 있어요.",
    questions: {
      is_urgent: { type: "noul", instructions: "긴급한 상황임을 나타내나요?" },
    },
  }),
});
const result = await resp.json();
if (!resp.ok) throw new Error(`${resp.status} ${JSON.stringify(result)}`);
console.log(result.answers.is_urgent.noul); // 0.95
```

200 OK

```json
{
  "model": "jev-1.13.0",
  "answers": {
    "is_urgent": {
      "type": "noul",
      "noul": 0.95
    }
  },
  "usage": { "input_tokens": 296, "output_tokens": 20 }
}
```

Jev는 TypeSafe의 System One급 판단 모델입니다. 텍스트를 쓰거나 대화하지 않습니다. 전달할 항목: **상태** (`state`) — 텍스트 또는 JSON — 및 **질문 집합**을 전달하면 확률이 포함된 타입 지정 값을 받습니다. 코드는 자유 텍스트를 파싱하지 않고 즉시 분기·정렬·라우팅할 수 있습니다.

한 요청의 모든 질문은 병렬로, 서로 독립적으로 동일한 `state`를 기준으로 평가됩니다. TypeSafe에 따르면 질문을 추가해도 응답 시간은 거의 달라지지 않으며 질문끼리 서로 방해하지 않습니다.

| 항목 | 요약 |
| --- | --- |
| 모델 | `jev-latest` — Jev의 최신 안정 버전을 가리키는 별칭; [카탈로그 카드](https://ailoot.ai/models/ko/#m=jev-latest) |
| 메서드 | `POST /v1/systemone`. 채팅이 아니므로 OpenAI, Anthropic, Gemini 형식은 Jev에 적합하지 않습니다. 응답은 단일 JSON으로 한 번에 전달됩니다 |
| 허용 입력 | 텍스트만 허용합니다. 문자열, JSON 객체 또는 텍스트 배열입니다. 이미지, 오디오, 영상은 먼저 텍스트로 변환하세요 |
| 컨텍스트 | 요청당 64K토큰: state와 모든 질문의 합계입니다. state와 가장 긴 질문의 합계는 최대 32K |
| 언어 | TypeSafe에 따르면 영어에서 정확도가 가장 높습니다. 다른 언어도 허용하지만 정확도가 낮으므로 자체 데이터로 확인하세요 |
| 가격 | 입력 $0.084 / 1백만 토큰, 출력 무료 |

## [](https://ailoot.ai/docs/ko/api/systemone/#request)요청

### 인증

| 매개변수 | 유형 | 필수 | 설명 |
| --- | --- | --- | --- |
| `Authorization` | header | 필수 | Ailoot 키 형식: `Bearer sk-…`. |

### 요청 본문

| 매개변수 | 유형 | 필수 | 설명 |
| --- | --- | --- | --- |
| `model` | string | 필수 | `jev-latest`. |
| `state` | string \| object \| array | 필수 | 평가할 내용: 텍스트 문자열 또는 JSON입니다. 고객 문의, 데이터베이스 레코드, 대화, 앱의 현재 상태 등이 해당합니다. 이해하기 쉬운 필드 이름을 가진 객체가 보통 단일 문자열보다 편리합니다. |
| `questions` | object | 필수 | 질문입니다. 키는 직접 정하며 응답은 같은 키로 반환됩니다. 키는 응답에 영향을 주지 않습니다. 실제 질문 지정 위치: `instructions`. |
| `questions.*.type` | string | 필수 | `noul`, `choice` 또는 `score` — 아래 참고. |
| `questions.*.instructions` | string \| object \| array | 필수 | 질문 자체입니다. 데이터가 포함된 긴 질문은 객체로 전달할 수 있습니다. 질문은 한 필드에, 데이터는 다른 필드에 넣고 백틱으로 감싼 필드 이름을 참조하세요. |
| `questions.*.criteria` | object \| array |  | 타입별 응답 선택지입니다. noul은 «예»와 «아니요»의 설명(선택 사항), choice는 선택지 사전, score는 순서가 있는 단계 목록을 사용합니다. |

## [](https://ailoot.ai/docs/ko/api/systemone/#question-types)질문 타입

| 타입 | 질문 내용 | 반환값 |
| --- | --- | --- |
| `noul` | 명제가 맞는지 판단: 예 또는 아니요 | `noul` — «예»일 확률, 0~1 |
| `choice` | 주어진 선택지 중 적합한 항목 | `choice`, `probabilities`, `confidence` |
| `score` | 정의한 단계 척도에서 state의 위치 | `score`, `legend`, `probabilities`, `confidence` |

한 요청에서 여러 타입을 함께 사용할 수 있습니다.

### noul — 예 또는 아니요

필드 `criteria` 는 선택 사항입니다. «예»(`true`)와 «아니요»(`false`)의 의미를 설명할 수 있습니다. 응답 `noul` — 0(아니요)부터 1(예) 사이의 숫자입니다.

```json
"is_urgent": {
  "type": "noul",
  "instructions": "긴급한 상황임을 나타내나요?",
  "criteria": {
    "true": "명확히 시급함",
    "false": "긴급성이 드러나지 않음"
  }
}
```

```json
"is_urgent": {
  "type": "noul",
  "noul": 0.95
}
```

### choice — 선택지 선택

`criteria` — «선택지 → 설명» 사전입니다. 설명이 필요 없다면 다음 값을 지정하세요: `null`. 최대 255개 선택지입니다. 응답에서 `choice` — 가장 가능성이 높은 선택지, `probabilities` — 선택지별 확률(합계 1), `confidence` — 신뢰도, 0~1.

```json
"department": {
  "type": "choice",
  "instructions": "어느 팀이 이 문제를 처리해야 하나요?",
  "criteria": {
    "billing": "결제, 청구서 발행, 환불",
    "technical": "버그, 서비스 중단, 연동",
    "sales": "가격, 업그레이드, 신규 고객"
  }
}
```

```json
"department": {
  "type": "choice",
  "choice": "billing",
  "probabilities": { "billing": 0.88, "technical": 0.12, "sales": 0.0 },
  "confidence": 0.81
}
```

### score — 척도 평가

`criteria` — 낮은 단계부터 높은 단계까지이며 최대 10개입니다(TypeSafe는 최소 두 단계를 권장). 응답에서 `score` — 단계별 확률로 가중한 값으로 단계 사이에 위치할 수 있음, `legend` — 단계 번호와 설명, `probabilities` 및 `confidence`. TypeSafe에 따르면 `score` 는 임계값 비교에 적합하지만 단계 사이의 정확한 수치로 쓰기에는 적합하지 않습니다.

```json
"frustration": {
  "type": "score",
  "instructions": "고객이 얼마나 불만을 느끼고 있나요?",
  "criteria": ["차분함", "불만을 느낌", "매우 화가 남"]
}
```

```json
"frustration": {
  "type": "score",
  "score": 1.05,
  "legend": { "0": "차분함", "1": "불만을 느낌", "2": "매우 화가 남" },
  "probabilities": { "0": 0.0, "1": 0.95, "2": 0.05 },
  "confidence": 0.92
}
```

## [](https://ailoot.ai/docs/ko/api/systemone/#response)응답

| 매개변수 | 유형 | 필수 | 설명 |
| --- | --- | --- | --- |
| `model` | string |  | 응답한 모델 버전입니다. jev-latest 별칭은 시간이 지나면 새 버전으로 바뀝니다. 특정 버전에 맞춘 `confidence` 임계값을 사용한다면 이 필드를 확인하세요. |
| `answers` | object |  | 질문마다 같은 키 아래에 응답 하나가 반환됩니다. 각 응답에는 `type`, choice와 score에는 추가로 `confidence`. |
| `usage` | object |  | `input_tokens` 및 `output_tokens`. 입력 토큰에만 요금이 부과됩니다. |

`confidence` 를 임계값으로 쓰면 편리합니다. 확신이 높은 응답은 자동 처리하고, 낮은 응답은 사람이나 대형 모델에게 검토를 맡기세요. 응답은 무엇을 선택할지 알려주며, `confidence` 는 실제로 행동할지를 알려줍니다.

## [](https://ailoot.ai/docs/ko/api/systemone/#many-questions)한 요청에서 여러 질문

같은 state에 대한 모든 질문을 한 요청으로 보내세요. 질문은 병렬 평가되고 state는 한 번만 전송됩니다. TypeSafe에 따르면 13개 질문 예제에서 통합 요청은 12,2배 저렴하고 10배 빨랐습니다. 비교 대상은 동일한 응답을 얻기 위해 13개 요청을 순서대로 보낸 경우입니다.

복잡한 판단은 간단한 질문으로 나누고 코드에서 응답을 합치는 편이 좋습니다. 예를 들어 «제안을 평가해 줘» 대신 시장, 실현 가능성, 경쟁사와의 차이를 따로 평가합니다. 그러면 가중치를 질문 텍스트 대신 코드에서 변경할 수 있습니다.

```json
{
  "model": "jev-latest",
  "state": "도와주세요! 3일째 지급에 실패하고 있어요.",
  "questions": {
    "department": {
      "type": "choice",
      "instructions": "어느 팀이 이 문제를 처리해야 하나요?",
      "criteria": {
        "billing": "결제, 청구서 발행, 환불",
        "technical": "버그, 서비스 중단, 연동",
        "sales": "가격, 업그레이드, 신규 고객"
      }
    },
    "frustration": {
      "type": "score",
      "instructions": "고객이 얼마나 불만을 느끼고 있나요?",
      "criteria": ["차분함", "불만을 느낌", "매우 화가 남"]
    },
    "is_urgent": {
      "type": "noul",
      "instructions": "긴급한 상황임을 나타내나요?"
    }
  }
}
```

## [](https://ailoot.ai/docs/ko/api/systemone/#use-cases)적합한 용도

- **라우팅.** 고객 문의를 알맞은 부서로, 요청을 간단한 코드·대형 모델·사람 중 적합한 처리자에게 전달합니다.
- **정렬과 우선순위.** 긴급성, 어조, 위험을 척도로 평가하며 임계값은 코드에 둡니다.
- **모더레이션과 검증.** 메시지가 규칙을 위반하는지, 출처가 인용문을 뒷받침하는지, 문서에 질문의 답이 있는지 텍스트를 다음 단계로 넘기기 전에 확인합니다.
- **점수 부여와 순위 결정.** 문서, 후보 또는 검색된 부분을 자체 평가 기준으로 판단하고 이후 처리 대상을 코드에서 결정합니다.
- **불안정한 «JSON으로 반환해 줘» 지시 대신.** 파싱이 필요한 텍스트 대신 구조상 타입이 지정된 값을 반환하는 호출입니다.

## [](https://ailoot.ai/docs/ko/api/systemone/#not-for)적합하지 않은 용도

- **채팅, 사용자 응답, 텍스트 또는 코드 생성.** Jev는 텍스트를 쓰지 않습니다. 이 작업에 사용할 모델 종류: [텍스트 모델](https://ailoot.ai/models/ko/?kind=text).
- **Claude Code, Cursor 등 에이전트용 모델.** 에이전트의 모델을 jev-latest로 바꿀 수는 없습니다. 에이전트는 텍스트를 쓰고 도구를 호출하는 모델이 필요합니다. 에이전트가 작성한 코드에서 Jev를 호출할 수는 있습니다.
- **산술, 계산, 날짜 비교.** TypeSafe에 따르면 이런 작업은 코드에서 수행하는 편이 더 안정적입니다. 모델에는 의미 판단 부분만 맡기세요. 예를 들어 choice로 날짜의 각 부분을 추출합니다.
- **이미지, 오디오, 영상.** 모델은 텍스트만 허용하므로 해당 데이터를 미리 텍스트로 변환하세요.

질문마다 구체적이고 좁은 판단 하나를 요청할 때 가장 잘 작동합니다. 조건을 직접 쓰세요. TypeSafe에 따르면 모델은 질문을 문자 그대로 해석하며, 불필요한 데이터가 포함된 큰 state는 정확도를 낮추므로 코드에서 걸러내세요.

## [](https://ailoot.ai/docs/ko/api/systemone/#price)가격

입력 토큰만 과금합니다. 응답의 필드 `usage.input_tokens` 기준 요금: **$0.084 / 1백만**. 출력 토큰은 무료입니다.

이 페이지의 예제 요청(입력 296토큰)은 $0.0001 미만입니다.

Ailoot는 요청 전에 잔액에서 금액을 예약하고 응답 후 실제 사용량에 따라 한 번만 차감합니다 — [작동 방식](https://ailoot.ai/docs/ko/billing/reserve/).

## [](https://ailoot.ai/docs/ko/api/systemone/#limits)제한

| 항목 | 한도 |
| --- | --- |
| 전체 요청: state와 모든 질문 | 64K토큰 |
| state와 가장 긴 질문의 합계 | 32K토큰 |
| choice 하나의 선택지 수 | 최대 255개 |
| score 하나의 단계 수 | 2~10개 |
| 입력 | 텍스트만: 문자열, JSON 객체 또는 텍스트 배열 |

모델 한도는 TypeSafe가 제공한 정보입니다. 키와 잔액 제한은 다른 Ailoot 모델과 동일하게 적용됩니다: [오류와 제한](https://ailoot.ai/docs/ko/errors/).

## [](https://ailoot.ai/docs/ko/api/systemone/#errors)오류

오류는 Ailoot API의 공통 형식인 코드, 이해하기 쉬운 메시지, Request ID로 반환됩니다. 이 메서드의 주요 오류:

| 코드 | 발생 조건 | 해결 방법 |
| --- | --- | --- |
| **400** `invalid_request` | 본문 검증 실패: state, model 또는 questions 누락, 알 수 없는 type, choice 선택지 255개 초과, score 단계 10개 초과 | 오류 메시지에 따라 요청을 수정하세요. 수정하지 않으면 다시 실패합니다 |
| **400** `context_length_exceeded` | state와 질문의 합계가 모델 한도를 초과함 | 코드에서 state를 필터링하고 질문에 필요한 내용만 남기세요 |
| **401** `invalid_api_key` | 키 누락 또는 잘못된 키 | Authorization 헤더로 키를 전달하세요 |
| **402** `insufficient_balance` | 가용 잔액이 예약 금액을 충당하지 못함 | 잔액을 충전하세요 |
| **404** `model_not_found`, `unsupported_endpoint` | 잘못된 ID 또는 잘못된 메서드로 모델 호출. 예: /v1/chat/completions | jev-latest는 POST /v1/systemone으로만 호출하세요 |
| **429** `rate_limit_exceeded` | 요청이 너무 많음 | Retry-After 헤더에 지정된 초만큼 기다린 후 다시 시도하세요 |
| **503** `model_overloaded`, `model_unavailable` | 모델이 일시적으로 과부하 상태이거나 이용 불가 | X-Should-Retry: true이면 Retry-After초 뒤에 다시 시도하세요. false이면 먼저 내역에서 Request ID를 확인하세요 |
| **504** `model_timeout` | 모델이 제시간에 응답하지 않음 | 내역에서 Request ID를 확인하기 전에는 요청을 다시 보내지 마세요 |

전체 코드 목록 페이지: [오류와 제한](https://ailoot.ai/docs/ko/errors/).

궁금한 점이 남았나요? Request ID와 설명을 보내 주시면 해결을 도와드리겠습니다.[지원팀에 문의](mailto:support@ailoot.ai)

## Ailoot · 회사와 그 프로젝트 포트폴리오





Ailoot는 축적된 운영 경험, 폭넓은 고객 기반, 안정적인 서비스, 지속적인 KPI 관리를 바탕으로 합니다.





회사와 그 프로젝트 포트폴리오: 수백만 고객, 매월 수십억 규모의 매출.





Ailoot는 이러한 운영 경험을 고객의 제품, 에이전트, 애플리케이션, 자동화에서 AI 기능을 이용할 수 있는 API 접근에 활용합니다.
