Jev: что это за модель и где она нужна
Jev не пишет текст, а отвечает на закрытые вопросы с вероятностью. Что это за модель, где она нужна и почему это возвращение идеи, которую все бросили.
Что такое Jev и что случилось 15 сентября
15 сентября 2026 года компания TypeSafe AI открыла ранний доступ к модели Jev, и с тех пор про неё не перестают спорить. Jev не языковая модель: он вообще не пишет текст, а отвечает числами на заранее заданные вопросы.
Почему шумят, проще показать цифрами.
Цифры Jev взяты из анонса TypeSafe, для сравнения стоит Claude Haiku 4.5, младшая модель в линейке. DeepSeek V4.1-Flash, которым принято хвастаться как самым дешёвым вариантом, берёт 0,15 доллара за вход в непиковые часы, и это всё равно в три с половиной раза дороже. На демонстрации вендора разрыв в скорости выглядит так: 0,114 секунды против 8,566 у GPT-5.6 Terra на той же задаче.
Звучит как реклама, и наполовину это она и есть. Но под рекламой лежит идея, которая действительно меняет то, как собирают ИИ-продукты. И, что самое смешное, идея эта старше, чем весь нынешний бум LLM.
Разберёмся по порядку: как Jev устроен, где он нужен, где я всё это уже видел пару лет назад, чем он отличается от того, что было, и каким цифрам верить рано.
Как устроен Jev: состояние, вопросы, вероятности
Свой класс моделей TypeSafe называет «System One», модели первой системы. Это отсылка к Канеману: первая система отвечает за быстрые автоматические решения, вторая за медленные рассуждения. Все привычные нам языковые модели изображают вторую, а Jev хочет занять место первой.
Устроено это так. Jev не генерирует текст вообще, на вход он принимает две вещи: состояние
(state) и набор объявленных вопросов (questions). На выход отдаёт ответы на
эти вопросы, каждый со своей вероятностью.
Выглядит запрос так:
Привет, третий день не могу подключить ЮKassa, платежи стоят
Тот же запрос в JSON
{
"model": "jev-latest",
"state": "Привет, третий день не могу подключить ЮKassa, платежи стоят",
"questions": {
"is_urgent": {
"type": "noul",
"instructions": "Сообщение выражает срочность"
},
"department": {
"type": "choice",
"instructions": "Кто должен разбираться с обращением",
"criteria": {
"billing": "Оплата, счета, возвраты",
"technical": "Баги, интеграции, недоступность",
"sales": "Цены, апгрейды, новые аккаунты"
}
},
"frustration": {
"type": "score",
"instructions": "Насколько раздражён пользователь",
"criteria": ["Спокоен", "Раздражён", "В ярости"]
}
}
}А ответ, если перевести его на человеческий, так:
Показать тот же ответ в JSON
{
"answers": {
"is_urgent": { "type": "noul", "noul": 0.999 },
"department": {
"type": "choice",
"choice": "technical",
"probabilities": { "technical": 0.88, "billing": 0.12, "sales": 0.0 },
"confidence": 0.81
},
"frustration": {
"type": "score",
"score": 1.43,
"confidence": 0.35,
"legend": { "0": "Спокоен", "1": "Раздражён", "2": "В ярости" },
"probabilities": { "0": 0.0, "1": 0.57, "2": 0.43 }
}
}
}Обрати внимание на вариантах выбора: в запросе рядом с каждым идёт описание. «Техподдержка» это «баги, интеграции, недоступность», «оплата» это «счета и возвраты». Вот эти несколько слов и заменяют собой датасет, который раньше размечали неделями: модель решает по ним, а не по названию ключа.
Это все три типа вопроса, которые Jev умеет. Если развернуть JSON, у каждого найдётся своё имя и свои правила:
noulэто «да/нет». В ответ приходит одно число: вероятность, что утверждение верно.choiceэто «выбор», до 255 вариантов. Их описания лежат вcriteria, по ним модель и решает. В ответе лучший вариант и вероятности по всем.scoreэто «оценка». Вcriteriaуровни по порядку, от двух до десяти. В ответе позиция между ними: 1.43 это не проценты, а место на шкале.
Вот ради чего всё затевалось: вопросов в одном запросе может быть сколько угодно, и считаются они за один проход, а не токен за токеном, как у языковой модели. Отсюда разница в скорости на порядки и бесплатный выход: отдавать почти нечего, несколько чисел.
Потолки при этом невысокие: около 64 тысяч токенов на состояние вместе с вопросами и около 32 тысяч на один вопрос. Полный лог сессии туда не засунешь, состояние придётся готовить.
Для Python есть готовая обвязка, pip install langchain-typesafe, вызов
сводится к одному invoke с теми же полями, ключ кладётся в TYPESAFE_API_KEY.
Разбор с кодом есть в блоге LangChain.
Где это вообще нужно
Главное: Jev не заменяет языковую модель, он снимает с неё работу, для которой она избыточна. А таких мест куда больше, чем кажется, и начинаются они задолго до всяких агентов.
Общая форма у всех задач ниже одна. Вопрос закрытый, варианты ответа известны заранее, и объяснять словами ничего не надо. Такое раньше решали либо классификатором, который надо было обучать, либо большой моделью, которой за это платили как за сочинение.
Разбор входящего потока. Обращения в поддержку, письма, заявки с формы. Кому отдать, насколько срочно, в каком настроении человек пишет. Ровно тот пример, который был выше: три вопроса, один запрос, сто миллисекунд. Оператор получает очередь, уже разобранную по темам и приоритетам, а не свалку.
Модерация. Спам, токсичность, фишинг, накрутка. Задача древняя, объёмы дикие, а ответ всегда из короткого списка. Vercel именно на этом месте заменила свой классификатор безопасности на Jev и получила ускорение в 5-18 раз при лучшей точности, об этом писали в блоге LangChain.
Опять выкатили сырое, у меня всё встало. Ребята, вы там вообще тестируете или сразу в прод?
Резкий, но осмысленный комментарий это пограничный случай: половина за то, чтобы пропустить, почти столько же за то, чтобы скрыть. И вот тут важна не метка, а цифра рядом с ней: уверенность 39 процентов значит «не решай сам, отдай модератору». Почему этой цифре можно верить и почему раньше было нельзя, разберём дальше.
Триаж тикетов. Косметика, сломанная функция с обходным путём или блокер, это шкала с тремя уровнями.
Дежурство. Будить человека ночью или подождать до утра. То самое место, где правила на порогах вечно врут: то молчат на реальной аварии, то звонят из-за скачка метрики.
Почта и документы. Счёт, договор, реклама, письмо из налоговой. Разложить по папкам и понять, требует ли ответа.
Игры и симуляции. Тот случай, где на входе вообще нет языка. Подаёшь состояние структурой, спрашиваешь, что делать дальше, получаешь распределение по действиям. На Jev уже гоняют Doom и StarCraft, и как раз потому, что сто миллисекунд укладываются в игровой цикл, а три секунды на ответ большой модели нет.
Здоровье 23, брони нет, патронов 4, два врага в пяти метрах впереди, аптечка в десяти метрах слева, за спиной дверь
Ни одного слова на естественном языке здесь нет, есть цифры и расстановка на карте. Раньше такое писали правилами: если здоровье ниже тридцати, то отступать. Правила работают ровно до случая, который в них не предусмотрен, а дальше бот упирается в стену и умирает по инструкции.
Агенты. Тут Jev встаёт слоем принятия решений, и мест сразу несколько.
Роутинг между моделями. Вопрос типа choice с вариантами «быстрая модель»,
«дорогая модель», «человек», а в описаниях к ним ты объясняешь, чем эти случаи
отличаются. Низкая уверенность становится отдельной веткой: не угадывай, отправь
наверх. И да, описания в criteria это и есть то место, где ты объясняешь
модели задачу, вместо того чтобы собирать датасет.
Проверка вызова инструмента. Агент собрался что-то сделать, спрашиваем про его намерение, пока оно ещё намерение:
Удалить таблицу заказов в базе
Показать тот же запрос в JSON
{
"state": "Агент собирается выполнить: удалить таблицу заказов в базе",
"questions": {
"destructive": {
"type": "noul",
"instructions": "Действие необратимо изменяет или удаляет данные"
},
"matches_request": {
"type": "noul",
"instructions": "Действие соответствует тому, о чём просил пользователь"
},
"needs_confirmation": {
"type": "noul",
"instructions": "Стоит спросить подтверждение у человека"
}
}
}И ответ:
Три вопроса уходят одним запросом и считаются за один проход. Второй ответ тут важнее первого: удаление таблицы само по себе законная операция, но пользователь просил не этого. Раньше такое разбирали по логам после того, как данные уже уехали.
Остановка при буксовке. Вопрос типа score со шкалой от «каждый шаг
приближает к цели» до «повторяет одно и то же действие». Третий одинаковый
запуск сборки с той же ошибкой поднимает оценку, и цикл прерывается до того, как
сожжёт бюджет.
Ранжирование контекста. Какие из найденных кусков реально относятся к вопросу. Вместо того чтобы просить большую модель «выбрать релевантное» и получить в ответ пересказ.
Обрати внимание на форму: везде ответ известен заранее, меняется только выбор. Ровно то, на чём большая модель тратит время и деньги впустую. Языковую модель зовём, когда нужен язык, а не когда нужно решение. Если собираешь агента из кусков, эта логика хорошо ложится на то, о чём я писал в разборе про субагентов Claude Code и в сборке ИИ-сотрудника: там добрая половина конструкции это маршрутизация и решения, а не генерация.
Всё это уже было: Rasa, интенты и confidence
Теперь главное, ради чего я сел писать. Читаю описание Jev и чувствую дежавю. Текст на вход, метка из готового списка и уверенность на выход, быстро и соврать не может. Это же обычный классификатор.
На таких классификаторах последние десять лет держались все чат-боты поддержки: Rasa с открытым кодом, Dialogflow у Google, Wit.ai у Facebook, LUIS у Microsoft. Бот в приложении банка, который угадывал, хочешь ты перевыпустить карту или оспорить списание, внутри устроен ровно так.
И врать он не умеет не потому, что кто-то изобрёл хитрую архитектуру. Других меток, кроме своих, у него просто нет.
Дальше стоит остановиться. У нас был инструмент, который отвечал меткой за миллисекунды и не умел соврать. Правда, его приходилось обучать, и это стоило недель. И мы его выбросили.
На его место поставили модель, которая умеет только писать текст, и стали требовать от неё структуру. Сначала парсером, проверкой схемы, повтором запроса на случай сбоя и заклинанием в промпте капслоком «верни только валидный JSON». Потом по-взрослому: схемой ответа, которую гарантирует сам провайдер.
И вот тут честная оговорка, потому что возражают обычно ровно здесь. Да, сегодня формат гарантирован, выковыривать ответ регуляркой давно не надо. Только гарантирует его constrained decoding: грамматика ограничивает выбор следующего токена на сервере, а модель всё равно печатает этот JSON токен за токеном. Генерация никуда не делась, она просто стала аккуратной.
Поэтому ждём мы по-прежнему секунды вместо миллисекунд и платим за каждый выходной токен. Всё ради одного слова из трёх.
Нам возвращают классификатор, называют его новым классом моделей и объясняют, что соврать он не может по построению. Так он и раньше не мог. Мы сами променяли это свойство на удобство, несколько лет чинили последствия костылями, и вот покупаем его обратно.
Я с этим возился вживую. В 2024 году на архитектурном курсе был спринт про диалоговые системы. Устроены они из трёх частей, и логика простая: одна часть понимает, что человек сказал, вторая решает, что с этим делать, третья формулирует ответ. Проектной работой шла сборка такого ассистента на Rasa и подключение его к сайту.
Задача звучала скромно: научить систему понимать фразу вроде «забронируй столик на завтра на 19:00 для четверых». От неё требовалось вернуть намерение («бронирование») и четыре вытащенных из фразы значения: ресторан, дата, время, количество человек. Никакого текста в ответ, только разобранный на части смысл.
А теперь как это давалось.
- 01
Арендовать машину в облаке
На ноутбуке обучение не потянуть, и окружение держится на строгих версиях: шаг влево, и ничего не ставится.
- 02
Руками написать сотни примеров фраз
Самое долгое: по два-три десятка на каждое намерение, а намерений десяток, вот и набегают сотни. И все придумываешь сам: подход складывался до эпохи LLM, когда попросить сгенерировать варианты было не у кого.
- 03
Запустить обучение и ждать
Дальше от тебя ничего не зависит, можно идти пить чай.
А понимает она ровно то, что ты разметил. Новое намерение, скажем «отменить бронь», это ещё тридцать примеров и обучение заново. Смена проекта обнуляет всё.
Вместе с ответом система выдавала число: насколько она уверена. Границу, ниже которой бот говорит «не понял», ты выбирал сам. Беда в том, что число условное: 0.7 у одной обученной модели и 0.7 у другой означали разное. Границу подбирали на глаз и перебирали заново после каждого обучения. Запомни это место, дальше оно выстрелит.
Скриньте этот абзац. Сегодня Jev ту задачу целиком не решает: «Итальяно» и «19:00» из фразы он не вытащит, документация советует доставать кандидатов регуляркой или языковой моделью, а Jev пусть выбирает. Но следующим шагом он научится сам, задача очевидная и лежит ровно в его логике. И тогда мы вернёмся к тому самому флоу с курса: на вход фраза человека, на выходе намерение и значения из неё. Только без датасета, без обучения и без арендованной машины, в готовой коробке за 0,042 доллара.
Чем Jev отличается от Rasa и подобных старых решений
Если бы разницы не было, статья закончилась бы ворчанием про моду. Но разница есть, и она принципиальная.
Расшифрую две строки, остальные говорят сами за себя. «Датасет и часы тренировки» это те самые два-три десятка фраз на каждое намерение и арендованная машина под обучение, а справа вместо них текст вопроса, написанный словами. «Вход» означает, что Rasa умела слушать только человеческую речь, а Jev принимает что угодно, от корзины в магазине до позиции моба.

Последняя строка заслуживает отдельного абзаца, потому что она и есть главный аргумент. Под калибровку у TypeSafe отдельный метод обучения, RLCD, Reinforcement Learning for Calibrated Decisions, обучение с подкреплением под калиброванные решения. Смысл в том, чтобы сделать цифру честной, и тогда порог перестаёт быть магическим числом, подобранным на глаз: «ниже 0,6 отдаём человеку» начинает означать именно то, что написано.
Мой вывод одной строкой: Jev это интент-классификатор, доросший до фаундейшн-модели, то есть обученный один раз и работающий на любой теме без дообучения. Обобщение Rasa: та же форма ответа, но без обучения, с произвольным входом и с честной калибровкой.
Чему не верить
Без этого раздела текст был бы рекламой.
Рекордные цифры это верхний предел. В начале я приводил разрыв на конкретных моделях, 75 раз по скорости и 24 по цене. У самой TypeSafe в рекордах стоят 193 и 444, и она же уточняет, что это лучший случай на удобной задаче. Независимая проверка пока одна, тот самый случай Vercel с выигрышем в 5-18 раз.
Калибровку проверяй на своих данных. Прогони тысячу случаев с известным ответом и посмотри, совпадает ли заявленная вероятность с долей правильных.
Многого он не умеет. Достать значение из текста, посчитать арифметику,
разобраться с форматами дат, различить близкие цвета в hex, ответить на
косвенный вопрос. Знаний о мире у него тоже нет, а точность падает, когда в
state много постороннего.
Это ранний доступ. API будет меняться, а в одном choice не больше 255
вариантов. Строить на нём боевой контур сегодня означает подписаться на
переделки.
Частые вопросы про Jev
Jev заменит GPT и Claude?
Нет, и не пытается. Он не генерирует текст вообще: ни ответа пользователю, ни кода, ни объяснения своего решения. Языковая модель берёт задачу целиком и отвечает словами, Jev отвечает числами на заранее заданный вопрос. Это слой принятия решений внутри системы, а не собеседник.
Сколько стоит Jev?
По заявлению TypeSafe, 0,042 доллара за миллион входных токенов, выходные токены бесплатны. Отдавать почти нечего: ответ это несколько чисел, а не текст.
Чем Jev отличается от structured outputs у обычной модели?
Структурированный вывод гарантирует формат: ответ придёт строго по схеме, и парсить его руками не надо. Но получает он это ограничением грамматики при генерации, то есть модель по-прежнему печатает JSON токен за токеном, а ты платишь за выходные токены и ждёшь ответа. И главное, число уверенности рядом с ответом у языковой модели не калибровано: ставить по нему порог нельзя. Jev не печатает ничего, отдаёт сразу числа, выход у него бесплатный, а калибровка это то, ради чего его и обучали.
Чем Jev отличается от обычного классификатора вроде Rasa?
Формой ответа не отличается ничем: метка и уверенность. Отличается тем, что его не надо обучать, набор вариантов задаётся прямо в запросе, на вход можно подать любое состояние приложения, а не только фразу пользователя, и вероятность заявлена калиброванной.
Работает ли Jev с русским языком?
Публичных замеров на русском я не видел и сам пока не проверял. Учитывая, что у модели нет знаний о мире и она опирается на поданное состояние, проверять это надо на своих данных. Проверю, допишу результат сюда с датой.
Как получить доступ к Jev из России?
Ранний доступ выдаёт сама TypeSafe, оплата картой, и тут всё упирается в ту же стену, что и с остальными зарубежными сервисами: российская карта не пройдёт. Способы обхода те же, я разбирал их в статье про оплату Claude из России. Через посредников с оплатой в рублях доступ тоже продают, но сам я этот путь на Jev не проверял и советовать не берусь.
Можно ли уже использовать Jev в продакшене?
Технически да, практически рано. Ранний доступ означает, что API будет меняться, а заявленные цифры пока подтверждены только самой компанией. Разумный шаг сейчас это собрать прототип на некритичном участке и сравнить с тем, что у тебя уже работает.
Круг замкнулся
Индустрия описала полный круг. Сначала классификаторы, и мы мучились с разметкой и обучением. Потом LLM, которая умеет всё. Потом счета и секунды ожидания на задачах, где надо выбрать из трёх вариантов.
И вот мы возвращаемся к классификации, но уже без обучения и с произвольным входом.
Забавно, что сама Rasa за эти годы уехала ровно в обратную сторону. В её нынешнем подходе CALM понимание отдали языковой модели, а старый классификатор оставили запасным вариантом. Мы разошлись со своей отправной точкой на встречных курсах и помахали друг другу.

И последнее, про название. Jev это Уильям Стэнли Джевонс, экономист девятнадцатого века. Его парадокс звучит так: когда ресурс дешевеет, его начинают потреблять больше, а не меньше. Джевонс писал про уголь: паровые машины стали экономичнее, и угля начали жечь больше прежнего.
Намёк прозрачный. Решение подешевело в сотни раз, значит решений станет не
меньше, а на порядок больше. Модель начнут спрашивать там, где сегодня стоит
обычный if, просто потому что это теперь дёшево.
Не бросайся переписывать всё на Jev, пока цифры не подтвердил кто-то кроме вендора. Но посмотри на свой продукт: сколько в нём вызовов большой модели заканчиваются выбором из трёх вариантов. Решение и текст это разные задачи, и платить за них одинаково больше не надо.
А начинается всё раньше, чем слои и роутинг: сначала агент должен перестать быть чатом и начать работать руками. Про это у нас курс Codex: от первой задачи до собственного агента, который делает дело, а не рассказывает о нём.
Такие разборы выходят регулярно
Короткие мысли и находки я публикую в телеграм-канале, а глубокие разборы, курсы и сообщество, где растут инженеры, живут здесь, в Lab.
Заведи аккаунт в ITUZOV LAB и сохраняй материалы и прогресс чтения.
Зарегистрироваться