№25

25 сентября 2026

агенты · инструменты · данные

Мелкие решения отдайте модели Jev, а ветку пусть выбирает ваш код

Модель Jev отвечает на закрытые вопросы о тексте вероятностью и не пишет рассуждений.

5 мин чтения · $0,042 за млн токенов · 30 мин до первого вызова

Где подвох
ответ всегда из вашего списка, но может быть неверным. В среднем по четырём сценариям TypeSafe Jev совпадает с усреднённым ответом двух больших моделей примерно на 68%. Цену и скорость компания тоже мерила сама.

Как повторить

  1. Найдите развилку, где LLM вызывают тысячи раз ради одного слова: срочный ли тикет, спам ли, какой команде его отдать. Если есть понятное правило, хватит обычного if. Открытые задачи оставьте LLM.
  2. Соберите размеченные примеры. На первую прикидку хватит 50–100. Для рабочего порога документация Pydantic AI советует несколько сотен текстов из реального потока. Их прогоняют один раз без порога, сохраняют вероятности и потом подбирают порог без новых запросов.
  3. Тексты уходят на сторонний американский сервис TypeSafe. Если в них персональные данные, сначала прочитайте условия. Есть локальная открытая модель Von (pip install von-sdk, сервер von serve), но по её же таблице она слабее Jev: 72,0% против 96,6%.
  4. Выберите доступ:
  • TypeSafe: ключ в консоли, затем export TYPESAFE_API_KEY='...'. Доступ ранний, через лист ожидания.
  • Vercel AI Gateway: нужны аккаунт Vercel и его ключ AI Gateway. Модель typesafe-ai/jev, цена та же. Неизвестно, входит ли Jev в бесплатный уровень Vercel.
  • Cloudflare Workers AI: модель typesafe/jev, запрос POST https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/run с заголовком Authorization: Bearer $CLOUDFLARE_API_TOKEN. В теле запроса model и input с полями state и questions. Цена указана в дашборде Cloudflare.

Попробовать приём без ключа и регистрации можно на открытом демо Simple Jev:

curl https://simple-jev-demo-api.featherless.ai/v1/classifier \
  -H "Content-Type: application/json" \
  -d '{
    "model": "featherless-ai/gemma-4-26B-A4B-classifier",
    "state": "Help! My payouts have been failing for 3 days.",
    "questions": {
      "urgency": {"type": "noul", "instructions": "Does this message express urgency?"}
    }
  }'
  1. Сделайте первый вызов. В state передаётся текст, в questions вопросы. Тип noul возвращает вероятность «да» от 0 до 1, choice выбирает из списка до 255 вариантов, score ставит оценку по шкале.
curl -X POST https://api.typesafe.ai/v1/systemone \
  -H "Authorization: Bearer $TYPESAFE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "state": "Help! My payouts have been failing for 3 days.",
    "model": "jev-latest",
    "questions": {
      "urgency": {"type": "noul", "instructions": "Does this message express urgency?"}
    }
  }'

Запрос через Vercel из его документации:

curl https://ai-gateway.vercel.sh/typesafe/v1/systemone \
  -H "Authorization: Bearer $AI_GATEWAY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "typesafe-ai/jev",
    "state": "I was charged twice for my subscription.",
    "questions": {
      "refund": {"type": "noul", "instructions": "Is the customer asking for money back?"}
    }
  }'
  1. Установите SDK: pip install typesafe-sdk (Python 3.10+) или npm install @typesafe-ai/sdk. Для работы через Vercel в JS-клиенте задайте baseURL: 'https://ai-gateway.vercel.sh/typesafe'. В Python-SDK адрес, судя по коду пакета, задаёт переменная TYPESAFE_BASE_URL. В примере три вопроса за один вызов. Функции send_to_human и page_on_call, а также реакцию на ответ refund напишите сами:
from typesafe_sdk import Choice, Noul, TypeSafeClient

client = TypeSafeClient()  # ключ берёт из TYPESAFE_API_KEY

r = client.system_one(
    state={"ticket": "Deploy failed twice, customers see 500s. Need a fix and a refund for the downtime."},
    questions={
        "urgent": Noul(instructions="Message conveys urgency"),
        "team": Choice(
            instructions="Which team should handle this?",
            criteria={
                "engineering": "Outage, bug or deploy problem",
                "billing": "Payments, invoices, refunds only",
                "other": "Anything else",
            },
        ),
        "refund": Noul(instructions="The customer asks for a refund"),
    },
)

team = r.answers["team"]
if team.confidence < 0.6:
    send_to_human()
elif r.answers["urgent"].noul > 0.8 and team.choice == "engineering":  # у Noul уверенности нет, порог на вероятность
    page_on_call()
  1. Порог выбирайте по цене ошибки: показать баланс можно и при 0.6, одобрять перевод стоит только выше 0.85. TypeSafe советует отдавать человеку всё, где уверенность ниже 0.6. На странице Confidence в примере стоят пороги 0.5 и 0.9. Подбирая порог, закрепите версию модели (пример из документации: jev-1.13.0), потому что jev-latest автоматически переключается на новые версии. Pydantic AI советует подбирать порог заново при смене версии.

Как проверить результат

  • На первый curl придёт число в answers.urgency.noul и счётчик токенов в usage. В примере Cloudflare для этого текста вышло 0.95.
  • На тексте «Thanks, everything works now» число должно заметно упасть. Если в обоих случаях оно около 0.5, перепишите instructions и добавьте criteria.
  • Прогоните набор из шага 2 с порогом 0.85 (для noul это выше 0.85 или ниже 0.15) и посчитайте, сколько ответов ушло в автомат и сколько из них неверных. Ошибки при высокой уверенности обычно исправляет новая формулировка вопроса, а если почти всё оказалось ниже порога, этот вопрос лучше задавать обычной LLM.

Как это устроено

По описанию TypeSafe, Jev не пишет ответ слово за словом, как обычная LLM, а отвечает на все вопросы параллельно за один проход. Обучение по методу RLCD нужно, чтобы вероятностям можно было доверять. Поле confidence есть только у Choice и Score. Оно равно 1.0, когда вся вероятность на одном варианте, и близко к нулю, когда она размазана поровну. Для трёх вариантов формула такая: (3 × максимум - 1) / 2. Ответ говорит, что выбрано, а уверенность показывает, можно ли действовать без человека.

Ограничения: свободного текста в ответе нет. На ввод вместе с самым длинным вопросом можно до 32k токенов, на ввод со всеми вопросами до 64k. По официальному списку слабых мест модель понимает вопрос буквально, не умеет считать и путает даты.

Ссылки

Источник: Адель Кадыров (harsh.times, ffckteam.com), Instagram, карусель из 9 слайдов от 22.09.2026.

Больше подобного

Разбираю по находке в день и складываю сюда. Свежее и то, что до сайта не доехало, выходит в канале «Евдокимов как обычно».