Для чего нужны System One модели

 Публичный пост
28 октября 2026  131

Дисклеймер: я разработчик а не ML researcher, поэтому фокус будет на практическом применении подобных моделей. Описание как работает под капотом тот же kev требует отдельной статьи, как мне кажется.

System One и System Two

Название System One происходит из книги Thinking, Fast and Slow, где описываются 2 системы нашего мышления:

  1. System One (Система 1) - быстрые, автоматические решения без особых усилий. К примеру - "посчитать 2+2", "прочитать текст на вывеске", "управлять машиной на пустом шоссе".
  2. System Two (Система 2) - медленные, вдумчивые решения требующие внимания и концентрации. К примеру - "перемножить два больших числа (1457*4568)", "посчитать количество букв 'A' на рекламном плакате", "сравнить 2 продукта по соотношению цена/качество".

Что такое System One модели

Допустим у нас есть система для саппорта которая разбирает письма от клиентов и решает несколько вопросов:

  1. Какая команда должна заняться проблемой из письма? (доставка/биллинг/возраты)
  2. Нужно ли вернуть клиенту деньги? (да/нет)
  3. Нужно ли эскалировать проблему? (да/нет)
  4. Насколько клиент недоволен (спокоен/недоволен/очень зол)

Обычно это реализуется с помощью дешевой LLM модели (Haiku/Luna/etc) которой задаем промпт. Мол, вот краткая выжимка письма, вот список команд - проанализируй и возвращай данные в заданном json формате. С таким подходом есть несколько проблем:

  1. Галлюцинации LLM может придумать несуществующую команду. LLM модели, особенно дешевые, могут галлюцинировать.
  2. Неправильные вероятности Можно попросить LLM оценить вероятность ответа ("биллинг, 90%") но это не будет являться той самой вероятностью с которой LLM выбрал этот вариант ответа.
  3. Стоимость и время Мы тратим впустую достаточно много токенов и времени чтобы генерировать json.
  4. Настройка модели При использовании закрытой модели чтобы подстоить модель под ваш домен придется задавать примеры в промпте, что раздувает контекст и увеличивает вероятность галлюцинаций (см. пункт 1).

В отличии от LLM, System one модели не генерируют текст. Они возвращают вероятности. В данной статье я буду рассматривать Jev (первая System one модель, закрытая) и Kev (самый популярный на данный момент open source аналог). Эти модели поддерживают 3 типа вопросов:

  1. choice Вопрос с несколькими вариантами ответа (до 255 вариантов)
  2. score Шкала с уровнями (от 2 до 10)
  3. noul Бинарный вопрос типа да/нет

То есть для бинарных вопросов system one модель вернет вероятность ответа "да", для choice - вероятность каждого варианта ответа а для score - позицию на шкале и уверенность ответа (confidence).

Грубо говоря, system one модели это что-то вроде классификатора.

Упрощенный пример с 3 типами вопросов
Упрощенный пример с 3 типами вопросов

Пример

Вернемся к системе для службы поддержки из предыдущей части. Злой (spoiler alert) клиент пишет компании - мне списали деньги 2 раза, верните немедленно:

I have ordered shoes from you (order #123) and I've been charged 2 times for my order. I want my money back!

Задаем вопросы (questions):

{
  "department": {
    "type": "choice",
    "instructions": "Which team should handle this?",
    "criteria": {
      "returns": "Exchanges, refunds, wrong or damaged items",
      "shipping": "Delivery status, delays, lost packages",
      "billing": "Charges, invoices, payment problems"
    }
  },
  "is_refund": {
    "type": "noul",
    "instructions": "Is customer eligible for refund?"
  },
  "escalate": {
    "type": "noul",
    "instructions": "Does this message require urgent human attention?"
  },
  "frustration": {
    "type": "score",
    "instructions": "How frustrated is the customer?",
    "criteria": [
      "Calm",
      "Frustrated",
      "Very angry"
    ]
  }
}

И получаем что-то вроде этого:

Результат
Результат

Пример должен работать и в Jev - API идентичный.

Можете поиграться сами на huggingface ну или запустить kev локально - инструкции в репозитории.

Self-hosted модели

Локальный запуск это хорошо, но что насчет продакшена? Обычно разговоры о целесообразности идеи хостить свою модель заканчиваются после взгляда на цены, где инстанс с GPU сразу дороже обычного минимум в 2-3 раза. Тут хорошая новость - kev может работать без GPU (запускаем с --device cpu). Горячие запросы на инстансе с 16 GB RAM и 4 vCPU занимают 1-3 секунды, что вполне приемлемо для многих кейсов.

Дополнительные материалы

Неплохое видео от Primeagen

Туториал от Jev

OpenAI тоже подсуетились

P.S. Данный текст писал человек. Текст не причесывал, стиль авторский. Надеюсь кому-нибудь пригодится!

2 комментария 👇

Класс, спасибо за KEV! Всё хотел загуглить если Open-Source JEV, а он даже на CPU работает.

Юзаю JEV для личного бота: кидаю ему голосовую заметку, он классифицирует. Если классифицировал в «заметка по проекту», то второй JEV классифицирует по какому из проектов и т.п. Очень быстро, очень дёшево, точно. Радует, что есть альтернативы LLM, потому что их применение буквально для всего кажется перебором.

  Развернуть 1 комментарий

Спасибо за практическое введение!

Забавно как индустрия в очередной раз перепридумывает термин, у Канемана System One именно что генерировала ассоциации, выдумывая в том числе несуществующие связи.

У меня буквально пара замечаний по технической части:

Kev -- это та же LLM (Qwen какой-то), только без авторегрессионной генерации ответа.

Галлюцинации очень даже возможны в формате выбора ответа из априорных знаний модели, без использования текущего входа/инструкций

С вероятностями все тоже не тривиально, это не настоящие вероятности, хоть на тестах выглядят хорошо. В смысле не надо использовать эти скоры для каких-нибудь байесовских вычислений как есть 😅

  Развернуть 1 комментарий

😎

Автор поста открыл его для большого интернета, но комментирование и движухи доступны только участникам Клуба

Что вообще здесь происходит?


Войти  или  Вступить в Клуб