Идеальная задача для Jev: модель для классификации проиграла универсальным LLM
У меня есть задача, которая выглядит как рекламный пример для Jev.
Бот «Держи лида» читает больше 300 рабочих чатов в Telegram и ищет в них заказы и вакансии для таргетологов и SMM-специалистов. Регулярные выражения отсекают очевидный мусор, а всё остальное решает модель. Около 1 600 решений в сутки. Ответ всегда один из трёх: заказ, вакансия или нерелевантно. Плюс список рекламных площадок. Писать ничего не нужно, нужно выбрать.
Jev продаётся ровно под это. Я прогнал его на наших тестах вместе с тремя универсальными моделями. Он оказался последним.
Что такое Jev
Jev — модель компании TypeSafe. Она вышла на OpenRouter 18 сентября 2026 года как typesafe/jev-1.13. TypeSafe называет такой класс моделей System One. Их работа — принимать решения. Текст они не пишут.
Вместо промпта и ответа модель получает состояние (любой текст или JSON) и набор типизированных вопросов. Вопросы бывают трёх видов:
- choice — выбрать один вариант из списка и вернуть вероятность каждого;
- noul — ответить «да» или «нет» и вернуть вероятность «да»;
- score — поставить объект на заданную шкалу.
Рассуждений и объяснений нет, только значения и вероятности. TypeSafe обещает, что вероятности откалиброваны, то есть 0,8 означает правоту примерно в 80% случаев. Цена — $0.042 за миллион входных токенов, выход бесплатный. Контекст 32 тысячи токенов.
Работает Jev через отдельный Decisions API. Обычный /chat/completions и клиент OpenAI к нему не подходят, нужен свой запрос.
Как я переложил задачу на вопросы
У бота есть системный промпт на несколько страниц. В нём правила, которые копились на реальных ошибках: «ищу» само по себе ничего не значит, важно, что идёт после; агентство, которое нанимает, релевантно, а агентство, которое продаёт услуги, нет; монтажёр релевантен, только если в задачах есть публикация в соцсети; всё, что похоже на чаттеров казино, отбрасывается.
Для Jev я разложил это на девять вопросов:
{
"model": "typesafe/jev-1.13",
"state": {"message": "Ищу директолога для студии интерьера, оплата 40+ тыс"},
"questions": {
"verdict": {
"type": "choice",
"instructions": "<все правила из продакшен-промпта>",
"criteria": {"lead": "...", "hiring": "...", "irrelevant": "..."}
},
"platform::Яндекс Директ": {"type": "noul", "instructions": "...", "criteria": {"true": "...", "false": "..."}},
"platform::VK": {"type": "noul", "...": "..."}
}
}
Один вопрос choice решает, что это за сообщение. Восемь вопросов noul решают, какие площадки упомянуты. Анализатор бота я не трогал: подменил только вызов модели, спам-фильтр и регулярки остались как в проде. Набор — 47 тестов из реальных сообщений: заказы, вакансии, нерелевантное, спам.
Первый прогон: 40 из 47
Пять из семи ошибок пришлись на вакансии директолога. В промпте есть правило: если ищут директолога, площадка — Яндекс Директ, даже если она не названа. В вопросе про площадку я написал критерий «площадка прямо названа в тексте».
Два указания противоречили друг другу. Универсальные модели с тем же промптом эти тесты проходят: они выбирают более конкретное правило. Jev взял критерий буквально: вероятность Яндекс Директа на этих вакансиях была от 0,11 до 0,45.
Ошибка моя, не модели. Но она показательна: с Jev вы больше не пишете промпт, вы проектируете анкету, и каждая формулировка критерия работает как код. Одна неточная строка стоила пять тестов.
После исправления критерия — 45 из 47, дважды подряд.
Результат
Все четыре модели прогонялись в один день, на одном наборе, из одинаковых контейнеров на сервере бота. Прогоны шли параллельно, поэтому время сравнимо только внутри таблицы.
| Модель | Тип | Результат | Время прогона |
|---|---|---|---|
| DeepSeek V4.1 Flash | универсальная | 47/47, дважды | 70–85 с |
| GLM 5.3 Flash | универсальная | 46/47, дважды | 157–244 с |
| Xiaomi MiMo v2.5 | универсальная | 46/47 | 355 с |
| Jev 1.13 | модель решений | 45/47, дважды | 19–20 с |
Одну ошибку делают почти все: длинный пост о «бизнес-трансформации», который по сути вакансия. Вторую ошибку Jev сделал один. Сообщение «Для клиники нужен человек, который будет снимать и монтировать видео для таргета» по нашим правилам нерелевантно: это видеограф, а не таргетолог. Универсальные модели это правило применили, Jev — нет.
Разница — один-два теста из 47. Это не разгром. Но модель, созданная для классификации, на классификации не выиграла ни у одной дешёвой универсальной.
Почему не дешевле
Самое неожиданное было в счёте.
Один запрос к Jev в среднем стоил 7 700 входных токенов. У чат-моделей весь промпт вместе с сообщением занимает 3 200–3 600. Я разобрал, откуда разница. Одни только правила, 8 355 символов, Jev считает как 5 300 токенов: токенизатор у него свой, и русский текст выходит почти вдвое дороже. Ещё около 1 900 токенов добавили восемь вопросов про площадки.
Бесплатный выход не спасает: ответ чат-модели здесь и так около сотни токенов.
| Jev 1.13 | DeepSeek V4.1 Flash | |
|---|---|---|
| Вход, $ за миллион токенов | 0.042 | 0.035 |
| Выход, $ за миллион токенов | 0 | 0.29 |
| Входных токенов на решение | ~7 700 | ~3 500 |
| Цена решения по прайсу | ~$0.00032 | ~$0.00015 |
| Медиана ответа | 0,3 с | 1,5 с |
| Провайдеров на OpenRouter | 1 | 27 |
Даже если выбросить вопросы про площадки, решение у Jev стоит $0.00024. Всё равно дороже. Цена за миллион токенов — не цена за решение.
Скорость у Jev действительно впечатляет: 0,3 секунды против 1,5. Но бот разбирает сообщения из очереди, и полторы секунды там ничего не стоят. Выигрыш в скорости, за который не за что платить.
Как Jev ведёт себя вне тестов
Кроме бота я прогнал Jev через отдельную серию проверок на числовых данных: 14 экспериментов, больше десяти тысяч запросов. Вот что о нём стоит знать до того, как брать его в работу.
Готовые поля он читает безупречно. Если ответ лежит в состоянии в явном виде — «значение выше порога», «событие назначено на сегодня», — Jev отвечает правильно почти всегда. Поле-подсказка поднимало точность с 49% до 93%.
Считать он не умеет. Когда ответ нужно вывести из ряда чисел, модель ошибается. Знак изменения по ряду из 20 значений она определила верно в 25% случаев. Это хуже монетки: знак систематически переворачивается. Всё, что Jev должен учесть, надо передавать готовыми признаками.
Ответы недетерминированы. Я отправил 200 запросов байт в байт дважды. На той же версии модели решение по границе 0,5 поменялось в 13% случаев. В «Держи лида» два прогона совпали, но там почти нет пограничных сообщений.
Формулировка меняет ответ. Ответы на перефразированные версии одного вопроса коррелируют между собой всего на 0,50–0,57.
Поле confidence ничего не добавляет. Оно повторяет удалённость вероятности от 0,5: корреляция 0,999.
Калибровка хуже, чем у универсальной модели. На тысяче одинаковых вопросов с тремя вариантами ответа я сравнил Jev и DeepSeek V4.1 Flash. Brier score (чем ниже, тем лучше калибровка) — 0,765 у Jev против 0,649. Калибровка — главное обещание Jev, и именно в ней он уступил.
Где Jev на своём месте
Jev силён, когда ответ прямо следует из переданного факта. Тип тикета в поддержке, язык сообщения, есть ли в тексте телефон, заполнено ли нужное поле. Вопрос короткий, критерии однозначные, решений много. Там он быстрый, типизированный и дешёвый.
Классификация лидов выглядит так же, но устроена иначе. Решение там — применение длинного свода правил с исключениями, и само сообщение часто нужно прочитать дважды: кто пишет, кого ищет, что продаёт. Универсальная модель с коротким рассуждением справляется с этим лучше. А раз свод правил длинный, Jev ещё и дороже.
Jev специализирован на форме ответа, а не на содержании задачи. Типизированный ответ с вероятностями — удобный интерфейс, но не гарантия точности в вашем домене.
Что в итоге в проде
В «Держи лида» теперь работает DeepSeek V4.1 Flash, запасная модель — GLM 5.3 Flash. После переключения я прогнал через старую и новую модель 1 600 реальных сообщений за сутки до него. Старая одобрила 134, новая 133, вердикты совпали в 98,8% случаев. Медиана ответа упала с 24 секунд до полутора.
Jev в прод не пошёл. Вывод для себя один: прежде чем брать модель «под задачу», проверь её на своих данных рядом с дешёвой универсальной. Название класса моделей ничего не говорит о том, как они справятся с вашими правилами.