ИИ и автоматизация

Инференс и латентность: почему ИИ-бот иногда тормозит

29 июля 2020 · 4 мин чтения · обновлено 6 октября 2026

Коротко: Инференс — это сам процесс генерации ответа моделью, латентность — время до ответа. Клиенту важно не «сколько токенов в секунду», а «сколько секунд ждать». Бот отвечает быстро, когда правильно спроектирован: короткий поиск по базе, стриминг ответа по мере печати, лёгкие модели на простых вопросах.

Из чего складывается задержка

  1. Поиск по базе: десятки миллисекунд при нормальной векторной базе.
  2. Генерация: модель пишет ответ токен за токеном — это основное время, оно растёт с длиной ответа.
  3. Сеть и очереди: дешёвые тарифы API могут ждать в очереди под нагрузкой.

Приёмы, которые убирают ощущение тормозов

  • Стриминг: ответ печатается на глазах, а не появляется через 8 секунд разом.
  • Быстрый первый токен: короткое «сейчас посмотрю» + параллельный поиск.
  • Маршрутизация: типовые вопросы («график работы») отвечают из кэша мгновенно, к модели идут только сложные.
  • Короткие ответы: клиенту нужен ответ, а не эссе — заодно и дешевле.

Когда тормоз — это нормально

Внутренний ассистент, готовящий разбор документов, может думать 30 секунд: сотрудник занимается другим. Клиентский чат — другая дисциплина: там каждая секунда до первого слова ощущается. Проектировать нужно под канал, а не «среднюю температуру».

Что можно ускорить, а что нет

Источник задержки Можно ли сократить Как
Поиск по базе знаний да индексы, ограничение числа найденных фрагментов, кэш частых вопросов
Размер запроса к модели да меньше инструкций и фрагментов: модель быстрее читает вход (про контекстное окно)
Длина ответа да ограничить формат: «до 5 предложений»
Выбор модели частично лёгкие модели для простых вопросов, мощные только для сложных
Скорость генерации самой модели почти нет зависит от провайдера или вашего железа
Сетевые задержки частично сервер ближе к пользователю, стабильные каналы
Очереди у провайдера частично выбор тарифа с приоритетом, резервные модели

Какие задержки считаются нормой для разных каналов

  • Чат на сайте и мессенджеры. Пользователь ждёт ответа как от человека. Хорошо, когда первое слово появляется в пределах нескольких секунд, а дальше ответ печатается потоком.
  • Голосовой ассистент. Самые жёсткие требования: пауза в разговоре ощущается мгновенно (голосовой ИИ-ассистент).
  • Внутренние задачи. Разбор документа или анализ звонка могут занимать десятки секунд: сотрудник не ждёт у экрана.
  • Фоновая обработка. Ночная сортировка заявок и отчёты. Здесь важнее цена и точность, чем скорость.

Как измерить скорость бота

  1. Замеряйте время до первого символа и время до полного ответа отдельно.
  2. Смотрите не на среднее, а на «хвост»: как долго ждут самые медленные 5–10% запросов.
  3. Проверяйте в разное время суток: у облачных провайдеров нагрузка бывает неравномерной.
  4. Фиксируйте скорость на пилоте и после запуска, чтобы заметить ухудшение.

Задержка связана с ценой: чем больше текста уходит модели, тем дольше и дороже ответ. Поэтому оптимизация скорости и расходов часто идёт вместе, а подробности смотрите в статье про токены. Выбор между облаком и своим сервером тоже влияет на скорость: локальная или облачная модель.

Частые вопросы

Скорость зависит от модели?

Да, но проектирование канала даёт больше, чем выбор модели на 10% быстрее.

Локальная модель медленнее облачной?

Зависит от железа: на нормальном GPU — сопоставимо, на офисном ПК — заметно медленнее. Считается на пилоте.

Какая задержка приемлема для клиента?

Первый символ — до 2–3 секунд, дальше стриминг. Это достижимо и на облачных API, и на аккуратном self-hosted.

Что такое стриминг ответа?

Модель отправляет ответ частями по мере генерации, а интерфейс показывает текст по мере поступления. Полное время ответа не меняется, но пользователь не смотрит на пустой экран, и ожидание кажется короче.

Можно ли гарантировать фиксированное время ответа?

Жёстко гарантировать нельзя, потому что часть времени зависит от провайдера модели. Можно ограничить максимальное время, после которого бот отвечает запасным сообщением и передаёт диалог человеку, чтобы клиент не оставался без ответа.

Что делать дальше

Полезные страницы: ИИ-чат-бот для сайта · Токены и цена вопроса.

Цены и сроки — в общем прайсе. Сложно выбрать — напишите в Telegram @darulev, отвечу лично.

Лев Даруев
Лев Даруев инженер. Пишу и делаю сам: от текста до кода и сервера. Вопросы по статье — в Telegram, отвечаю лично
@darulev
Есть процесс, который ест время? Посчитаем, как его автоматизировать, и сколько это вернёт Разобрать задачу →

// читайте также

✈ ✎