Игорь Градов
Игорь Градов
6 мин
ai

TypeSafe AI выпустила модель Jev: вместо текста она возвращает типизированные объекты

TypeSafe выпустила Jev, модель, которая не генерирует текст, а возвращает типизированные решения по заданному состоянию, и это меняет подход к автоматизации поддержки и маршрутизации запросов.

Почему это важно

Jev работает не как генеративная модель: она принимает структурированное состояние и набор типизированных вопросов, а возвращает выбор, оценку и вероятность, на которых код ветвится напрямую, без парсинга свободного текста.

Компания TypeSafe AI представила свою первую модель линейки System One под названием Jev. Об этом стало известно из официального руководства, опубликованного вместе с Python SDK версии 0.7.0. Модель отличается от привычных генеративных систем: она не создаёт текст, а отвечает на типизированные вопросы структурированными объектами с вероятностями и оценками. Для разработчиков, которые строят системы поддержки или маршрутизации, это означает переход от «парсинга ответа нейросети» к работе с готовыми типами данных.

Зачем это автору или разработчику на практике?

Типичная боль: вы отправляете запрос в генеративную модель, получаете текст, потом пишете регулярные выражения или промпты-валидаторы, чтобы вытащить из ответа нужное значение. Jev убирает этот слой. Вы описываете состояние (например, тикет клиента с историей сообщений и данными заказа) и задаёте вопросы тремя примитивами:

  • Choice (выбор): модель выбирает один вариант из заданных критериев и возвращает вероятность каждого варианта
  • Score (оценка): модель размещает состояние на упорядоченной шкале и возвращает взвешенный балл
  • Noul (да/нет с вероятностью): модель отвечает числом от 0 до 1, насколько утверждение верно

Все три примитива можно отправить в одном вызове. На выходе вы получаете не текст для разбора, а объект с полями choice, score, noul, probabilities и confidence.

Что понадобится

  • Python 3.8 или новее
  • Пакет typesafe-sdk версии 0.7.0 (устанавливается через pip)
  • API-ключ TypeSafe AI (получают на console.typesafe.ai/keys)
  • Примерно 30 минут на первый рабочий пример
  • Базовое понимание JSON и работы с Python-словарями

Пошаговая инструкция

  1. Установите SDK и загрузите ключ. Выполните в терминале или Jupyter-ноутбуке:
pip install typesafe-sdk==0.7.0

Ключ можно передать через переменную окружения TYPESAFE_API_KEY или через секреты Google Colab. Клиент читает переменную автоматически:

import os
from typesafe_sdk import TypeSafeClient

os.environ["TYPESAFE_API_KEY"] = "ваш_ключ"
client = TypeSafeClient()
  1. Опишите состояние как обычный Python-словарь. Состояние (state) это любой JSON-объект, описывающий ситуацию. Для системы поддержки это тикет, заказ и политика возврата:
state = {
    "ticket": {
        "subject": "Двойное списание",
        "messages": [
            {"from": "customer", "text": "С меня списали дважды за заказ A-104. Верните деньги сегодня."},
            {"from": "support", "text": "Проверяем списания."},
        ],
    },
    "order": {"id": "A-104", "charges": [
        {"amount_usd": 49, "status": "captured"},
        {"amount_usd": 49, "status": "captured"}
    ]},
    "refund_policy": "Двойные списания подлежат полному возврату в течение 30 дней.",
}
  1. Сформулируйте типизированные вопросы тремя примитивами. В одном вызове можно задать сразу Choice, Score и Noul:
from typesafe_sdk import Choice, Noul, Score

questions = {
    "department": Choice(
        instructions="Какая команда должна обработать этот тикет",
        criteria={
            "billing": "Оплата, возврат или подписка",
            "technical": "Баги, сбои или интеграция",
            "sales": "Тарифы, планы или апгрейд аккаунта",
        },
    ),
    "frustration": Score(
        instructions="Насколько клиент раздражён в первом сообщении",
        criteria=["Спокоен, излагает факты", "Раздражён, но вежлив", "Очень зол"],
    ),
    "refund_requested": Noul(instructions="Клиент явно просит возврат"),
    "policy_supports": Noul(instructions="Политика возврата покрывает эту ситуацию"),
}
  1. Отправьте запрос и получите структурированный ответ:
response = client.system_one(state, questions)

dept = response.choices["department"]
print(f"Отдел: {dept.choice}, уверенность: {dept.confidence:.3f}")
print(f"Вероятности: {dept.probabilities}")

fr = response.scores["frustration"]
print(f"Раздражение: {fr.score:.3f}")

print(f"Просит возврат: {response.nouls['refund_requested'].noul:.3f}")
print(f"Политика покрывает: {response.nouls['policy_supports'].noul:.3f}")
  1. Используйте результат для ветвления логики без парсинга текста:
if dept.choice == "billing" and response.nouls["refund_requested"].noul > 0.8:
    route_to_billing_with_priority()
  1. Оптимизируйте через батчинг. Согласно руководству, десять вопросов в одном вызове дешевле и быстрее десяти отдельных вызовов. Стоимость входных токенов (инференс, то есть обработка запроса моделью) составляет $0.042 за миллион токенов. Выходные токены бесплатны.

Как всё это выглядит на русскоязычном примере?

Пример: тикет на русском языке

Что передали в state:

{
  "ticket": {
    "subject": "Двойное списание",
    "messages": [
      {"from": "customer", "text": "С меня списали дважды за заказ A-104. Верните деньги сегодня."}
    ]
  },
  "refund_policy": "Двойные списания подлежат полному возврату в течение 30 дней."
}

Что вернула модель: - departmentbilling, уверенность 0.97 - frustration → 1.8 из 2.0 (раздражён, но вежлив, ближе к злости) - refund_requested → 0.95 (да, явно просит возврат) - policy_supports → 0.99 (политика покрывает случай)

Код сразу маршрутизирует тикет в биллинг с приоритетом, без единой строки парсинга текста.

Частые ошибки
  • Путать Jev с генеративной моделью. Jev не пишет текст. Если вам нужен развёрнутый ответ клиенту, используйте генеративную модель отдельно, а Jev только для классификации и маршрутизации.
  • Забывать про структуру state. Модель «видит» только то, что вы передали в state. Если данных о заказе нет в словаре, вопрос про сумму списания вернёт низкую уверенность. Форма состояния определяет, что модель может знать.
  • Отправлять вопросы поштучно вместо батча. Десять отдельных вызовов стоят дороже и работают медленнее одного вызова с десятью вопросами.
  • Игнорировать поле confidence. Значение уверенности ниже порога (например, 0.7) это сигнал передать тикет человеку, а не автоматизировать решение.

Что делать с этим прямо сейчас, по ролям

Автору Дзена или копирайтеру. Сам Jev вам не инструмент для написания текстов. Но если вы строите бота поддержки для своего канала или курса, типизированные ответы без парсинга экономят часы на обработке обратной связи от подписчиков.

Разработчику или техническому маркетологу. TypeScript AI и типизированные решения через Jev позволяют строить маршрутизацию обращений, скоринг клиентов и confidence-gated routing (маршрутизация с порогом уверенности, когда запрос передаётся человеку, если модель «не уверена»). Вся логика весов и ветвления остаётся в вашем коде, а не в промпте (промпт, текстовая инструкция для модели).

Предпринимателю в РФ и СНГ. API TypeSafe AI доступен через интернет, ограничений по региону в документации не указано. Из российских аналогов подобного подхода с типизированными ответами пока нет: YandexGPT и GigaChat работают как генеративные модели и требуют парсинга. Если вам нужна классификация обращений на русском, Jev принимает русскоязычный state, как показано в примере выше.

Мнение редакции dzen.guru

Подход TypeSafe AI с моделью Jev интересен тем, что он честно разделяет задачи: генерация текста отдельно, принятие решений отдельно. По моим наблюдениям, большинство проблем с галлюцинациями (когда ИИ уверенно выдумывает то, чего не было) возникают именно тогда, когда разработчики заставляют генеративную модель одновременно классифицировать и отвечать. Jev этот слой убирает. Честная оговорка: SDK версии 0.7.0 говорит о ранней стадии продукта, и для критичных систем я бы закладывал retry-политики и ручной fallback с первого дня.

Попробуйте AI-инструменты dzen.guru

Если вы автор Дзена и хотите автоматизировать рутину с помощью нейросетей, начните с наших инструментов для работы с контентом.

Перейти к инструментам

Jev не заменяет генеративные модели, он занимает другую нишу: структурированные решения с гарантиями типов, где код управляет логикой, а модель только оценивает состояние. Для тех, кто строит системы поддержки или автоматизирует маршрутизацию, это способ убрать самый хрупкий слой, парсинг свободного текста, и получить предсказуемый результат с первого вызова.

Поделиться:TelegramVK
Игорь Градов
Игорь Градов

Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».

Комментарии

Читайте также

Meta убрала камеру из очков с ИИ за $349: ставка на звук против AirPods
ai

Meta убрала камеру из очков с ИИ за $349: ставка на звук против AirPods

Meta подтвердила слухи: 25 июня на конференции Connect 2026 компания представила очки с ИИ без встроенной камеры, Ray-Ban Meta Audio, ответ на критику и…

5 мин
Meta показала, что такое ИИ-агент в кармане: брелок Muse Charm выйдет в декабре
ai

Meta показала, что такое ИИ-агент в кармане: брелок Muse Charm выйдет в декабре

Meta показала Muse Charm, карманное устройство размером с брелок, которое даёт постоянный доступ к персональному ИИ-агенту (программе, способной выполнять…

5 мин
YouTube встроил ИИ для создателей в Studio: 40 млн тестов превью и автозамена обложек
ai

YouTube встроил ИИ для создателей в Studio: 40 млн тестов превью и автозамена обложек

YouTube второго июня на ежегодной презентации Made On YouTube представил набор ИИ-инструментов для авторов, которые меняют подход к превью, монтажу и аналитике…

4 мин