Jev — это ИИ-модель, которая по введённому тексту возвращает выбор, оценку или вероятность «Да/Нет». Текст она не генерирует. Модель подходит для задач, где в приложении постоянно повторяется суждение, например распределение обращений. Цена составляет $0,042 за 1 миллион входных токенов, выход бесплатный.
Содержание
- 1. Что такое Jev?
- 2. Различия между Choice, Score и Noul
- 3. Гарантия типа и точность суждения — разные вещи
- 4. Пример: маршрутизация обращений в поддержку
- 5. Задачи, для которых модель не подходит, и известные слабые места
- 6. Как читать цену, лимиты входных данных и скорость
- 7. Что проверить при пробном использовании
- FAQ
1. Что такое Jev?
TypeSafe объявила о раннем доступе к Jev 15 сентября 2026 года. Это не чат, который выдаёт длинные объяснения. Модель рассчитана на суждения внутри приложения: «какой команде передать обращение» или «насколько оно соответствует критериям».
Главная особенность — заранее заданная форма возвращаемых значений. Однако ответ в правильном формате всё равно может содержать неверное суждение. Если прочитать в анонсе фразу «галлюцинаций нет» как «модель правильно отвечает на любое содержание», её будут использовать неправильно.
TypeSafe называет Jev «System One model». По анонсу, это название компании, взятое из различия, которое психолог Даниэль Канеман описал в книге «Думай медленно… решай быстро»: быстрая, интуитивная «Система 1» и медленная, обдуманная «Система 2». Это не единый уровень производительности для всего ИИ. Официальное описание System One представляет модель, которая понимает естественный язык и возвращает типизированные суждения, которые программа может использовать напрямую.
Название Jev отсылает к экономисту Уильяму Стэнли Джевонсу. Оно выражает идею: по мере снижения стоимости интеллекта сферы его применения вырастают на порядки, как в парадоксе Джевонса, когда повышение эффективности увеличивает спрос, а не уменьшает его (Заменит ли ИИ белых воротничков?).
- state
- Материал для суждения. Текст или данные в формате JSON. Сюда помещают текст обращения, выбранные пользователем пункты, справочную информацию для классификации и т. п.
- questions
- Что решить. Вопрос вроде «какой команде передать обращение?», а также варианты ответа и критерии оценки.
Поскольку варианты вывода задаются заранее, не нужен отдельный шаг, который извлекал бы название категории из фразы вроде «скорее всего, это техническая команда». С другой стороны, модель не подходит для длинных текстов: ответов, кода или обоснований. Если сочетать её с генеративным ИИ, распределение такое: Jev определяет, куда направить задачу, а генеративная модель вызывается только тогда, когда нужен текст.
Чем это отличается от ответа LLM в формате JSON?
Получать ответ в JSON не уникально для Jev. Например, у Claude есть структурированный вывод, который ограничивает ответ JSON-схемой. Если классификация уже реализована на генеративной модели, менять её только потому, что «формат задан», не нужно.
Jev специализируется на возврате выбора, оценок по шкале и бинарных суждений вместе с их вероятностями. Если после суждения нужны объяснения или ответы, берите генеративную модель. Если нужно многократно выбирать варианты из текста, Jev тоже стоит сравнить. Если нужны точные расчёты сумм или дат, используйте обычный код. Так распределяются задачи. Практично выбирать после того, как на одном и том же входе и критериях сравнили точность, время ожидания и стоимость.
2. Различия между Choice, Score и Noul
Официальное описание Primitives делит типы вопросов на три. Похожие вопросы выбирают в зависимости от нужного результата.
Choice: выбор варианта
Задайте неупорядоченные варианты, например «Биллинг», «Техническая», «Другое», и выберите один.
Числа выбора, вероятностей и количества в этой статье — иллюстративные примеры.
Добавьте «Другое» или «Недостаточно данных для решения», чтобы покрыть входные данные, которые не подходят ни к одному варианту. Если варианты слишком узкие, классификация может быть формально корректной, но не соответствовать реальности.
Score: измерение по шкале
Описывает упорядоченную шкалу из 2–10 уровней. Возвращаемое значение — средневзвешенное по вероятностям каждого уровня, поэтому оно может быть дробным.
Пример расчёта для 3 уровней: вероятности 10%, 40% и 50%
Информации нет
0 × 0,1 = 0
Частично понятно
1 × 0,4 = 0,4
Шаги воспроизведения полностью известны
2 × 0,5 = 1,0
= 1,4
Между «частично понятно» и «шаги воспроизведения полностью известны». Это значение на определённой шкале от 0 до 2, а не доля правильных ответов.
Источник расчёта: TypeSafe «Primitives» и «API reference».
Значение Score можно использовать, чтобы решить, превышен ли порог. Однако официальная документация предупреждает не интерполировать между уровнями и не вычислять по «1,4» обратно, что «фактический объём составляет примерно столько-то». Уровни Jev 1.13 слабо откалиброваны как числа (известные слабые места Jev 1.13).
Noul: вероятность «Да»
Условие должно быть явным, например: «Сообщается ли в тексте, что сервис сейчас недоступен?»
При 0,5 «Да» и «Нет» примерно равновероятны
Это не значит «умеренно серьёзно». Чтобы измерить серьёзность, используйте Score с заданными уровнями.
- Где писать условие
- Явно укажите его в
instructions. Ключ, по которому идентифицируется вопрос, не передаётся в рассуждения модели, поэтому не пытайтесь передать намерение только именем вопроса. - Поле confidence
- Есть у Choice и Score, у Noul отдельного поля нет.
3. Гарантия типа и точность суждения — разные вещи
Гарантия типа, на которую делает упор анонс TypeSafe, означает, что вывод ограничивается заданными вариантами или диапазоном значений. Если обращения делятся на отдел оплат и техническую команду, модель не придумает свободным текстом название отдела, которого нет в списке. Однако выбрала ли она правильный отдел — отдельный вопрос.
По официальному описанию, confidence для Choice и Score — статистика, которая сводит концентрацию распределения вероятностей к одному числу от 0 до 1. Это показатель по умолчанию. Если он не подходит для вашей задачи, можно самостоятельно вычислить другой показатель по возвращаемым вместе с ним probabilities.
- Варианты близки
- Confidence низкий.
- Сосредоточено на одном варианте
- Confidence высокий.
Не читайте «0,9, значит, это обращение определено верно на 90%». Калибровка вероятностей — свойство, которое оценивают по совокупности многих прогнозов, а не признак правильности отдельного случая.
На практике пишут код, который ветвится по confidence. Официальная страница Confidence показывает такое ветвление после того, как пользователь выбрал запрос из вариантов «Проверить баланс», «Подтвердить отложенный вывод» или «Поддержка» (фрагмент; комментарии переведены автором).
if confidence < 0.5:
# Модель действительно сомневается. Не строим догадок
route_to_human(user_message)
elif action.choice == "check_balance":
# Низкое влияние. Показ другого экрана можно отменить
show_balance(account_id)
elif action.choice == "approve_transfer":
if confidence > 0.9:
# Большое влияние и высокая уверенность. Подтвердить, затем выполнить
confirm_then_execute(account_id)
else:
# Большое влияние, уверенность средняя. Сначала уточнить
ask_user_to_confirm(account_id)
Порог 0,5 нужен, чтобы поймать случаи, когда модель сама показала, что действительно сомневается. Сверх этого для необратимых операций, например подтверждения вывода средств, требуется более высокий порог, чем для операций только чтения. Обратите внимание: даже при значении выше 0,9 код не выполняет действие сразу, а запрашивает подтверждение. Высокая уверенность не заменяет разрешения на выполнение.
0,5 и 0,9 — примеры, а не рекомендованные значения. Официальная документация тоже говорит, что подходящие значения зависят от области и от работы модели в вашем применении. Рекомендуется начинать с осторожных порогов и подстраивать их на собственных данных.
4. Пример: маршрутизация обращений в поддержку
Рассмотрим обращение «Я нажимаю кнопку скачивания счёта, но ничего не происходит». Если отправить его в отдел оплат из-за слова «счёт», ошибка интерфейса будет пропущена. Если поручить суждение Jev, нужно объяснить границы каждой команды и затем попросить модель выбрать вариант.
Следуя официальному Quick start и спецификации API, запрос выглядит так. Получите API-ключ и отправьте JSON на POST https://api.typesafe.ai/v1/systemone.
{
"model": "jev-1.13.0",
"state": "Я нажимаю кнопку скачивания счёта, но ничего не происходит.",
"questions": {
"team": {
"type": "choice",
"instructions": "Выберите вариант команды, соответствующий основной просьбе из сообщения.",
"criteria": {
"billing": "Вопросы о сумме счёта, способе оплаты или двойном списании.",
"technical": "Действия на экране, ошибки, функции, которые не работают.",
"review": "В сообщении смешаны несколько просьб или недостаточно данных, чтобы решить, кто должен его обработать."
}
},
"service_unavailable": {
"type": "noul",
"instructions": "Сообщается ли в тексте, что экран или функция сейчас недоступны?"
}
}
}
Отправка запроса и обработка ответа
Получите API-ключ в консоли и укажите в HTTP-заголовках Authorization: Bearer <API_KEY> и Content-Type: application/json. Храните ключ в переменных окружения на сервере и не встраивайте его в публичный HTML или репозиторий.
Чтобы сначала проверить соединение, можно вставить пример curl из официального Quick start и запустить его как есть. Положите ключ в переменную окружения TYPESAFE_API_KEY и выполните. Этот пример с помощью Noul спрашивает, выражает ли англоязычное обращение срочность.
curl -X POST https://api.typesafe.ai/v1/systemone \
-H "Authorization: Bearer $TYPESAFE_API_KEY" \
-H "Content-Type: application/json" \
-d @- <<'EOF'
{
"state": "Hi, I've been trying to connect my Stripe account for 3 days and the integration keeps failing. I'm losing sales. Please help ASAP.",
"model": "jev-latest",
"questions": {
"urgency": {
"type": "noul",
"instructions": "Выражает ли это сообщение срочность?"
}
}
}
EOF
Чтобы отправить русский пример выше, замените JSON между <<'EOF' и EOF на этот JSON. Если вызывать API из кода или дать агенту, который помогает с разработкой, прочитать спецификацию, официальная документация предлагает следующие варианты.
- Вызов из Python:
pip install typesafe-sdk(Python 3.10 или новее). Клиент SDK читает переменную окруженияTYPESAFE_API_KEYи по умолчанию вызываетjev-latest. - Разработка в Claude Code:
claude plugin marketplace add typesafe-ai/skills, затемclaude plugin install typesafe@typesafe-ai. Устанавливается официальный skill, который передаёт агенту для написания кода три типа вопросов и шаблоны проектирования (Agent skill).
Вернёмся к русскому примеру: поля, которые читаются, и их назначение показаны на схеме и в таблице ниже. Choice даёт вариант команды, Noul — есть ли сообщение о недоступности функции.
| Поле для чтения | Пример значения / смысл | Что делать в приложении |
|---|---|---|
team.choice | technical (техническая команда) | Показать вариант команды |
team.probabilities | {"technical": 0.80, "billing": 0.15, "review": 0.05} | Проверить, не делится ли суждение между вариантами |
team.confidence | Концентрация, рассчитанная по распределению вероятностей | Сравнить с условием, заданным по собственным оценочным данным |
service_unavailable.noul | 0,85 (оценено как сообщение о недоступности) | Не путать с серьёзностью; использовать как пункт для подтверждения |
Каждое поле находится под answers. Также предусмотрите, куда передавать на проверку, если варианты близки, данных недостаточно или ответ получить не удалось. Основание для типов: TypeSafe «API reference».
- 401 и 422: исправьте настройки или ввод
- 401 означает отсутствующий или недействительный ключ, 422 — ошибку проверки формата входных данных. Исправьте настройки или текст и отправьте запрос снова.
- 429 и 529: подождите и повторите
- Не повторяйте запрос быстро подряд, постепенно увеличивайте время ожидания. Официальный SDK по умолчанию делает такие повторы автоматически.
Ошибки HTTP — это не то же самое, что низкий confidence. Не принимайте их за значения ответа. Основание — спецификация API выше.
На старте достаточно не менять существующую маршрутизацию, а просто сопоставить отдел, который выбрал человек, с вариантами Jev. Проверьте: не уходит ли технический вопрос в биллинг, если в нём есть слово «счёт»; может ли обращение с несколькими просьбами уйти на проверку; не делает ли модель выводов при нехватке информации. Найдя ошибку, добавьте этот случай в список неудачных примеров и проверьте, не перекрываются ли описания вариантов.
При встраивании в ИИ-агента разделяйте «модель, которая судит», «инструменты, которые выполняют» и «условия, при которых выполнение разрешено». Расчёт сумм и проверку прав оставляйте в коде. Тогда при ошибке легче понять, где именно она произошла.
В официальной документации TypeSafe есть также примеры реализации: защитные механизмы для LLM-приложений, отбор документов, найденных через RAG, переупорядочивание результатов поиска и проверка цитат. Даже при использовании для защитных механизмов или отбора документов остаётся слабость «входных данных, подталкивающих к ответу», описанная в следующем разделе. (Подход к остановке и на входе, и на выходе объясняется в статье Что такое защитные механизмы ИИ?)
5. Задачи, для которых модель не подходит, и известные слабые места
TypeSafe публикует известные слабые места Jev 1.13. Не считайте, что модель точна только потому, что предназначена лишь для суждений. Разделяйте задачи так:
| Условие, с которым модель плохо справляется | Возможная проблема | Способ решения при проектировании |
|---|---|---|
| Подсчёт и вычисления | Путает количество символов, пунктов или точные числа | Считать парсером или обычным кодом |
| Сравнение дат | Нестабильны суждения о порядке и о попадании в период | Извлечь нужные элементы и сравнивать их как даты |
| Двойные отрицания и косвенные вопросы | Ориентируется на буквальную формулировку, а не на смысл | Записывать условие прямо и разделять суждения |
| Входные данные с большим количеством лишней информации | Ненужная информация мешает суждению | Сначала искать и извлекать, передавать только нужные пункты |
| Входные данные, подталкивающие к ответу | Зависит от инструкций внутри текста или от утверждений о том, как его следует классифицировать | Оценивать на неудачных примерах с такими подталкиваниями и отдельно управлять правами выполнения |
| Расхождение instructions и criteria | Если вопрос и критерии требуют разного, возможна путаница (например, назначение значения «нет» для true в Noul снижает точность) | Писать criteria как продолжение вопроса и выравнивать их направление |
| Генерация свободного текста | Не подходит для ответов, объяснений или генерации кода | Использовать шаблоны или генеративную модель |
Также вероятности Да/Нет, полученные из отдельных вопросов, не обязательно удовлетворяют математическим соотношениям. Даже если одно условие и его отрицание спрашивать отдельными Noul-вопросами, сумма не обязательно будет равна 1, и вероятности Choice и Noul нельзя сравнивать с одним порогом. Если вы меняете форму вопроса, оценивайте его заново, а не используйте прежние подобранные значения.
Что проверить при работе на русском языке
6. Как читать цену, лимиты входных данных и скорость
По состоянию на 21 сентября 2026 года на странице Models TypeSafe текущей моделью значилась jev-1.13.0. 14 октября 2026 года также вышла jev-1.14.0 (цена и длина контекста те же). На момент проверки 19 октября псевдоним jev-latest (стабильная версия) указывал на 1.13, а jev-preview — на 1.14. Псевдонимы переключаются при выходе новой версии, поэтому для стабильных результатов указывайте идентификатор с номером версии. Цена составляет $0,042 за 1 миллион входных токенов, выходные токены бесплатны. Это не фиксированная плата за обращение: она зависит от количества входных токенов, включая state и questions. Ориентир: в примере ответа из официального Quick start (английское обращение из трёх предложений и три вопроса) usage.input_tokens составляет несколько сотен токенов. В анонсе TypeSafe пишет, что пока не может доказать, что эта цена не субсидируется, и что устойчивость покажет только время. При этом компания ожидает, что цены будут снижаться, а не расти.
Двойное ограничение: 64k и 32k
Условие 1: весь запрос
до 64k токенов
Условие 2: state + самый длинный вопрос
до 32k токенов
Оба условия должны выполняться. Это не значит, что документ на 64k можно целиком поместить в state. Это значения по умолчанию. Если добавить в запрос заголовок TypeSafe-Danger-Zone-Long-Context: true, оба лимита поднимаются до 262k токенов. Цена та же, но, как объясняет официальная документация, работа становится медленнее и точность ниже.
Входные данные — только текст. Изображения, аудио и видео напрямую передать нельзя, поэтому их нужно сначала преобразовать в текст или структурированные данные отдельным процессом.
Лимиты запросов могут меняться
Лимиты запросов задаются для каждой организации; свой лимит проверяйте в консоли разработчика (по состоянию на страницу Models на 19 октября 2026 года; раньше там приводились фиксированные цифры). Единицы измерения — токены в секунду и запросы в секунду. При превышении любого из них возвращается 429 Too Many Requests. Официальный SDK по умолчанию повторяет запрос с нарастающей паузой, а если в ответе есть заголовок retry-after, следует ему. Если вызываете HTTP API напрямую, напишите собственную логику повторов с увеличением времени ожидания, как описано выше.
Официальная документация отмечает, что из-за очень большого спроса лимиты динамически корректируются и могут измениться без предупреждения. Более высокие лимиты доступны по индивидуальным или корпоративным контрактам. Если архитектура предполагает одновременную отправку большого объёма текста, проверьте значения на момент старта и заранее решите, как ждать при достижении лимита.
Скорость и стоимость сравнивайте на одной и той же задаче
В анонсе TypeSafe время от запроса до результата указано как 70–500 мс. Однако публичные оценки компании проводились в основном с её ноутбуков на западном побережье США, где находится база сервиса.
По сравнению с генеративными моделями приводится цифра «в 193,6 раза быстрее и в 444,6 раза дешевле». Она получена на рабочем процессе, который создала сама компания. TypeSafe ожидает, что это верхняя граница реально достижимых улучшений. Компания пишет, что тестовые процессы не подбирались в её пользу и не входят в обучающие данные, но также отмечает, что их создавали сотрудники её команды по возможностям модели, поэтому смещение возможно. Читайте обе цифры как собственные данные поставщика и сравнивайте на своих задачах, учитывая следующее:
- Результат меняется при изменении условий: сравнивайте при одинаковом сетевом расстоянии, длине входа, количестве вопросов и настройках сравниваемой модели.
- Нельзя использовать как множитель для обычного чата: в официальное сравнение входит обработка, которая извлекает распределение вероятностей из генеративной модели.
Что сравнивать на практике
- Стоимость: цена API за единицу плюс операционные затраты
- Учитывайте долю предобработки, повторов и ожидания проверки. Даже если классификация дешёвая, общие затраты не уменьшатся, если вырастет проверка людьми.
- Скорость: среднее значение плюс медленные запросы
- Проверьте, не останавливается ли работа при перегрузке или при медленных ответах.
7. Что проверить при пробном использовании
Начните с Playground: проверьте, передаются ли критерии вашего вопроса. В официальном Quick start есть шаги по получению API-ключа и вызову API. Поскольку доступ ранний, сначала проверьте после входа, есть ли у вас право на использование.
① Введите текст
Если доступ есть, вставьте текст обращения в Playground.
② Задайте варианты
Определите варианты команд и их границы через Choice.
③ Меняйте формулировку и сравнивайте
Смотрите, как меняются варианты и вероятности. Это можно проверить ещё до подготовки среды выполнения.
Четыре пункта, которые нужно учесть при оценке
Подготовьте правильные ответы и границы.
Кроме примеров, где люди определили команду, включите несколько просьб, очень короткие тексты, отрицания и подталкивающие фразы. При работе с реальными данными убедитесь, что их можно отправлять во внешний сервис.
Зафиксируйте критерии вопросов.
Запишите, что считается каждым вариантом, и определите условия передачи в «Другое». Проверяйте также на примерах, отличных от тех, на которых подбирались критерии.
Смотрите точность и долю обращений, направленных на проверку, вместе.
Для каждого порога считайте, сколько обращений обработано автоматически и сколько из них оказались ошибочными. Указывайте и объём ожидающих проверки, чтобы точность сама по себе не выглядела лучше, чем есть.
Фиксируйте модель и вопросы.
Сохраняйте идентификатор модели, тип входа, версию вопросов, ответы и время обработки, и сравнивайте результаты до и после изменений.
1 квадрат = 1 обращение.
Доля автоматической обработки
80%
80 ÷ 100 обращений всего
Доля ошибок среди автоматически обработанных
5%
4 ошибки ÷ 80 автоматических
Передано человеку
20 обращений
100 всего − 80 автоматических
Смотрите все три показателя вместе. Одних 100 обращений недостаточно, чтобы доказать точность в рабочих условиях.
Если применять к вашей работе
- Многократно применять суждение с заданными вариантами к большому объёму текста
- Рассмотрите Jev как вариант для сравнения. Оценивайте её точность на собственных входных данных, критериях и языке.
- Писать тексты: ответы, объяснения или код
- Используйте генеративную модель или шаблоны.
- Точно считать суммы или даты
- Обрабатывайте обычным кодом.
Основа этой статьи: анонс TypeSafe и официальная документация (проверено 21 сентября 2026 года, обновление проверено 19 октября). Автор не запускал API и не измерял точность на русском языке или реальное время ожидания.
FAQ
Q. Может ли Jev вести диалог, как ChatGPT?
A. Нет, это не модель, которая генерирует свободные ответы. Вы вводите текст и получаете суждения в том формате, который задали через Choice, Score или Noul. Если нужны ответы или пояснения, сочетайте её с генеративной моделью или шаблонами.
Q. Если галлюцинаций нет, разве модель не может ошибаться?
A. Ограничение вывода типом или вариантами и правильное суждение о содержании — разные вещи. В официальной документации также перечислены слабые места: вычисления, даты, входные данные с большим количеством лишней информации и подталкивающие фразы. Точность нужно измерять на собственных данных.
Q. Значит ли 0,5 у Noul «среднее»?
A. Это значит, что «Да» и «Нет» оцениваются как примерно равновероятные. Это не значение, означающее середину серьёзности или качества. Для измерения степени подойдёт Score с описанными уровнями.
Q. Можно ли использовать модель на русском?
A. Официальная документация говорит, что модель обрабатывает и другие языки, кроме английского, включая CJK-письменности, но объясняет, что основной язык обучения — английский, и сейчас точность для него самая высокая. Перед использованием в рабочих задачах проверьте модель на русскоязычных оценочных данных.
Q. Можно ли использовать для определения изображений или аудио?
A. Входные данные текущей модели — только текст. Изображения и аудио напрямую передать нельзя. Если архитектура передаёт текст или структурированные данные, полученные другим процессом, оценивайте и ошибки этой предобработки.