TypeSafe AI выпустила модель, которая не пишет ответы. Вместо текста — числа с вероятностями: да/нет, выбор из вариантов, оценка по шкале. Это называют «decision models» или «System One models» — по аналогии с быстрым интуитивным мышлением из книги Канемана «Думай медленно, решай быстро». Если у вас есть задача классификации, ранжирования или фильтрации — Jev закрывает её быстрее и дешевле обычного LLM.

Что такое Jev и чем он отличается от GPT

Обычный LLM принимает текст и возвращает текст. Jev принимает текст и возвращает float. Никакой генерации токенов — только вероятностное решение.

Архитектурно это работает через параллельный сэмплинг, а не последовательную генерацию. Отсюда скорость — ответы приходят за десятки миллисекунд. Модель обучена через RLCD (Reinforcement Learning for Calibrated Decisions) — метод, заточенный именно под калиброванные вероятности, а не под связный текст. Основал компанию Диого Алмейда, бывший исследователь OpenAI.

Ценовая модель тоже нестандартная: платите только за входные токены, выход бесплатный. Входная цена — $0.042 за миллион токенов. Для сравнения: GPT-5 Nano стоит $0.05/млн на входе.

Три типа вопросов, которые умеет Jev

Jev принимает объект state — строку, массив строк или набор пар ключ-значение — и набор вопросов. Все вопросы обрабатываются параллельно, поэтому 50 вопросов занимают столько же времени, сколько один.

Noul (Bernoulli / да-нет). Название — сокращение от Bernoulli. Вы формулируете утверждение, модель возвращает число от 0 до 1: насколько она уверена, что утверждение истинно.

Choice (выбор из вариантов). Передаёте список опций, получаете: выбранный вариант + распределение вероятностей по всем вариантам.

Score (оценка по шкале). Описываете числовую шкалу с подписями к уровням, получаете float в пределах этого диапазона.

Пример запроса к API (структура эндпоинта /v1/systemone):

json
{
  "state": {
    "text": "Пользователь написал: 'Купи виагру дёшево, жми сюда!!!'"
  },
  "questions": {
    "is_spam": {
      "type": "noul",
      "statement": "This message is spam"
    },
    "urgency": {
      "type": "score",
      "levels": [
        {"value": 0, "label": "Not urgent at all"},
        {"value": 10, "label": "Extremely urgent"}
      ]
    }
  }
}

Ответ придёт в виде объекта с числами для каждого ключа из questions.

Где Jev реально полезен

Спам и модерация. Классический Noul-вопрос: «This content violates community guidelines». Получаете вероятность нарушения — и сами решаете, при каком пороге блокировать.

Reranking поисковой выдачи. Схема: сначала BM25 или векторный поиск отдаёт 100 кандидатов (дёшево и быстро), затем Jev оценивает каждый документ на релевантность запросу через Score-вопрос. Итог — топ-10 с нормальным качеством за копейки.

python
import httpx

def rerank(query: str, candidates: list[str], api_key: str) -> list[tuple[str, float]]:
    questions = {
        f"doc_{i}": {
            "type": "noul",
            "statement": f"This document is relevant to the query: {query}"
        }
        for i, _ in enumerate(candidates)
    }

    states = [{"text": doc} for doc in candidates]

    scores = []
    for i, state in enumerate(states):
        resp = httpx.post(
            "https://api.typesafe.ai/v1/systemone",
            headers={"Authorization": f"Bearer {api_key}"},
            json={"state": state, "questions": {f"doc_{i}": questions[f"doc_{i}"]}}
        )
        scores.append((candidates[i], resp.json()["answers"][f"doc_{i}"]["value"]))

    return sorted(scores, key=lambda x: x[1], reverse=True)

Приоритизация и лейблинг. Расставить теги на 10 000 статей, отсортировать тикеты по срочности, выбрать категорию товара — всё это Choice или Score вопросы.

Нестандартные эксперименты. Сообщество уже сделало: jevchat (Jev предсказывает следующий символ — работает ужасно, но смешно), jev-leftpad (считает, сколько пробелов нужно до нужной длины), jev-2048 (играет в 2048 через выбор направления хода).

Где ломается

Полный чёрный ящик. LLM хотя бы может объяснить своё решение — пусть и ненадёжно. Jev не объясняет ничего. Только число. Если модель пометила письмо как спам — вы не знаете, какой сигнал сработал.

Скрытые предубеждения. Саймон Уиллисон провёл эксперимент: попросил Jev оценить города залива Сан-Франциско по вопросу «Good city?». Купертино — первый. Ист-Пало-Альто — последний. Это не случайность, это паттерн, который невозможно вытащить из числа.

Нужны хорошие эвалы. Без объяснений единственный способ понять, работает ли модель правильно — запустить сотни тестовых примеров с известными ответами. Хорошая новость: при цене $0.042/млн токенов тысяча экспериментальных запросов стоит буквально центы.

Open-weight альтернативы уже есть. Проект Kev воспроизводит поведение Jev поверх Qwen 3.5 — модели на 0.8B, 4B и 9B параметров. Уже существует JevBench для сравнения «decision models» между собой. Всё это появилось меньше чем за неделю после релиза.

Что попробовать дальше

  • Запустить reranking поверх существующего поиска: BM25 → Jev Score → топ-10.
  • Сравнить качество спам-фильтра на Jev против fine-tuned классификатора на вашем датасете.
  • Посмотреть на Kev (open-weight) — если важна воспроизводимость и локальный запуск.
  • Проверить поддержку через LangChain Gateway, если уже используете LangChain в стеке.

FAQ

Чем Jev отличается от structured outputs в GPT-4o?

Structured outputs в GPT-4o всё равно генерируют токены — просто принудительно в JSON-схему. Jev не генерирует текст вообще: он возвращает числа напрямую через параллельный сэмплинг. Это принципиально другая архитектура — быстрее и дешевле для задач классификации.

Можно ли использовать Jev для генерации текста?

Нет. Jev возвращает только float. Проект jevchat показал, что технически можно предсказывать символ за символом — но это медленно и бессмысленно. Для генерации текста используйте обычный LLM.

Что такое Noul-вопрос?

Это тип вопроса да/нет в API Jev. Название — сокращение от Bernoulli (распределение Бернулли). Вы формулируете утверждение, модель возвращает число от 0 до 1: вероятность того, что утверждение истинно.

Как проверить качество Jev на своей задаче?

Соберите датасет с известными правильными ответами (хотя бы 200-500 примеров), прогоните через Jev и сравните с ground truth. При цене $0.042/млн токенов это обойдётся в несколько центов. Без такого эвала запускать Jev в продакшн не стоит.

Есть ли open-source альтернативы Jev?

Да. Проект Kev воспроизводит поведение Jev поверх Qwen 3.5 с моделями 0.8B, 4B и 9B. Также существует SemIf — hosted decision model, доступная через LangChain Gateway. JevBench позволяет сравнивать разные реализации между собой.

Источники