Статья · ТЕХНОЛОГИИ · 9 сент. 2026 · 12 мин чтения

AI-роутер (LLM Gateway) в 2026: маршрутизация запросов между моделями и снижение расходов

Андрей
специалист по информационной безопасности
AI-роутер (LLM Gateway) в 2026: маршрутизация запросов между моделями и снижение расходов
12 мин чтения

Счёт за языковые модели растёт не потому, что запросов стало больше, а потому что каждый из них уходит в самую дорогую модель пула. AI-роутер (он же LLM router) до вызова определяет, какого класса запрос перед ним, и направляет его в подходящую модель — от компактной локальной до флагманской внешней. Маршрутизация LLM даёт заметное снижение расходов на LLM при сопоставимом качестве ответов, но у неё есть собственная цена. Разберём и механику, и деньги, и ограничения российского контура.

Что такое AI-роутер и чем он отличается от шлюза и агрегатора

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

  • Анализ входных данных — длина, тип задачи, требования к формату результата, метка чувствительности информации.
  • Определение пути — нейросеть, провайдер, параметры генерации, максимальный объем вывода, политика повторных попыток.
  • Выполнение вызова — с ограничением времени ожидания и заранее прописанным запасным вариантом.
  • Сбор метрик — фактический расход токенов, задержка, код состояния, отметка об эскалации или откате на резервный сценарий.

Вся конструкция стоит на компромиссе «качество — стоимость — задержка»: дешёвая модель отвечает быстрее, но чаще ошибается; точный LLM-диспетчер даёт хорошие решения, но добавляет к каждому запросу лишний вызов модели.

Роутер, шлюз, агрегатор: где проходят границы

Компонент Основная функция Что решает Чего не делает
AI-роутер (LLM router) Выбор модели под запрос Экономия, соответствие модели классу задачи Не занимается биллингом, ключами, квотами
LLM gateway (LLM-шлюз) Единая точка входа, единый API Учёт расхода, лимиты, логирование, ротация ключей, доступ Сам по себе модель не выбирает
API-агрегатор Доступ к пулу моделей разных вендоров через один договор и одну оплату Юридический и платёжный доступ, каталог моделей Не даёт контроля над трафиком и логами

На практике роутер встраивается в шлюз как один из модулей. Шлюз даёт OpenAI-совместимый API, так что приложению в большинстве случаев не нужно знать про разницу форматов между провайдерами: меняется только base_url и имя модели. Оговорка для российского пула: совместимость с форматом OpenAI у отечественных провайдеров неполная — у GigaChat она частичная, а часть моделей работает через собственный формат, поэтому под них шлюзу нужен отдельный адаптер.

Когда роутер нужен, а когда это преждевременное усложнение

Роутер оправдан на разнородном трафике: если 80% запросов — классификация обращений, извлечение полей и короткие переформулировки, а 20% требуют рассуждений и длинного контекста, разделение потоков окупится быстро. Ориентиры, при которых слой маршрутизации имеет смысл:

  • Месячный расход на инференс сопоставим с зарплатой инженера, который будет этот слой поддерживать.
  • В пуле три и больше моделей, и они уже используются в проде.
  • Часть данных нельзя отправлять за периметр, а часть можно — потоки надо разделять принудительно.

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

Стратегии выбора модели: от жестких условий до каскадной обработки

Существует четыре основных метода, и на практике чаще всего применяется их комбинация: четкие критерии перехватывают типовые ситуации, а всё неоднозначное передается более мощному анализатору.
Условия, смысловой анализ, ИИ-диспетчер или каскад: как распределить нагрузку

  • Маршрутизация по заданным критериям — набор однозначных правил: объем запроса, категория пользователя, источник данных, наличие триггерных слов. Такой подход прозрачен и легок в настройке, однако со временем условия множатся и начинают противоречить друг другу.
  • Смысловая маршрутизация — текст преобразуется в векторное представление и сопоставляется с эталонами размеченных категорий задач. Этот метод точнее жестких ограничений при нечетких формулировках и устойчивее к изменению фраз.
  • ИИ-диспетчер — компактная нейросеть оценивает сложность входящих данных и выносит вердикт о направлении обработки. Наиболее адаптивный, но и самый затратный вариант.
  • Каскадная обработка с повышением класса — сначала ответ формирует экономичная система, затем итог проходит контроль (оценка достоверности, соответствие структуре, проверка верификатором). При сбое задача передается на уровень выше. На простых потоках запросов это максимально выгодно, а на сложных ведет к перерасходу, поскольку оплачивается двойная генерация текста.
Стратегия Точность выбора Стоимость самого решения Вклад в задержку
Правила Низкая на размытых запросах, высокая на формальных признаках Пренебрежимо мала Единицы мс
Семантика Средняя-высокая при регулярной переразметке классов Один вызов эмбеддинга на запрос Десятки мс
LLM-диспетчер Высокая, включая неявные признаки сложности Полноценный вызов малой модели Сотни мс
Каскад Определяется качеством проверки ответа Двойная генерация на эскалациях Полная задержка первой модели плюс второй

Хуже всего с p95: цепочка «основная модель по тайм-ауту → резервная → вторая резервная» складывает лимиты времени отклика последовательно, и хвост распределения уезжает в разы сильнее медианы. Практический приём — жёсткий бюджет задержки на весь маршрут: при подходе к пределу роутер обязан вернуть управляемо деградированный ответ, а не запускать третью попытку.

Цена ошибки несимметрична. Недомаршрутизация — сложный запрос ушёл в слабую модель — даёт неверный ответ, который пользователь может не распознать. Перемаршрутизация — тривиальный запрос ушёл во флагман — тихая переплата, которая не вызывает жалоб и потому годами не замечается.

Калибровка порога эскалации и работа с confidence score

Confidence score означает как минимум три разные величины: уверенность классификатора роутера в классе задачи; уверенность модели в собственном ответе, выведенная из вероятностей токенов; оценка ответа внешним верификатором. Порог калибруется по каждой отдельно.

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

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

Экономика маршрутизации: как посчитать экономию и окупаемость

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

Профиль нагрузки и сравнительный анализ

Профиль снимается из логов шлюза минимум за две-три недели: распределение обращений по классам сложности; средняя длина входных данных и ответа в токенах для каждого класса (генерация обычно кратно дороже); доля повторяющихся системных инструкций — потенциал кэширования базового контекста; доля близких по смыслу запросов — возможность применения семантического кэша.

Базовая экономика: до и после

Представим типовую корпоративную нагрузку, где доля запросов распределяется так: 70% простые, 20% средние и 10% сложные (требующие глубоких рассуждений). Если до внедрения маршрутизатора все обращения шли на самую дорогую (флагманскую) модель, её стоимость принимается за 100% базового бюджета.

После внедрения слоя маршрутизации базовые затраты на генерацию перераспределяются:

  • 70% простых задач уходят в экономичные модели (их тариф составляет лишь малый процент от флагмана).
  • 20% средних задач направляются в модели среднего класса (стоят примерно треть от флагмана).
  • 10% сложных задач остаются на флагмане (100% стоимости).

Только за счет перенаправления потоков базовая стоимость инференса падает на 60–70%. Разрыв в ценах между классами моделей у каждого провайдера свой и меняется с каждым поколением ИИ, поэтому порядок цифр нужно брать из актуального прайса.

Скрытые издержки, которые съедают экономию

Чистая экономия всегда меньше теоретической из-за трех факторов, которые нужно закладывать в расчет:

  1. Работа самого маршрутизатора. При семантической стратегии стоимость векторизации (преобразования текста в эмбеддинги) исчезающе мала. Если же используется ИИ-диспетчер (небольшая модель для классификации сложности), её работа «съедает» заметную часть сэкономленного бюджета.
  2. Каскадные эскалации. Если дешевая модель не справилась и запрос ушел на уровень выше (на более дорогую), вы оплачиваете обе генерации. При высоком проценте эскалаций (например, более 10–15%) они могут обнулить всю выгоду. Поэтому доля эскалаций — метрика для ежедневного контроля.
  3. Стоимость переключений на резерв. Если основная модель дала сбой на середине ответа и сработал откат на резервный маршрут, тарифицируются оба вызова — обрыв не отменяет списание токенов. Отсюда правило: для длинных текстов порог срабатывания резерва нужно ставить по времени ожидания первого токена, а не по факту ошибки.

Окупаемость внедрения

Создание маршрутизатора (логика, кэш, мониторинг), анализ профиля нагрузки и калибровка требуют времени senior-инженера. В пересчете на деньги это эквивалентно стоимости нескольких месяцев работы такого специалиста, плюс потребуется несколько часов ежемесячно на поддержку.
Чтобы понять, нужен ли вам маршрутизатор, используйте простое правило:

  • При небольших объемах. Если базовый счет за API невелик, внедрение не окупится никогда: вы потратите на разработку и поддержку инженеров больше, чем сэкономите на токенах.
  • При высоких объемах. Если счет за API крупный, экономия в 60–70% быстро перекрывает ежемесячные затраты на поддержку, а начальные вложения в разработку возвращаются за 3–5 месяцев.

Кэш и бюджетные лимиты: кэширование контекста, семантический кэш, резервирование бюджета

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

Семантический кэш — ваш собственный слой: эмбеддинг запроса сравнивается с сохранёнными, и при сходстве выше порога возвращается готовый ответ без вызова модели. Экономит полностью, но требует TTL, инвалидации при обновлении источников и обязательной изоляции по tenant: общий кэш на всех клиентов — прямой канал утечки.

Бюджетные лимиты резервируются до вызова: роутер оценивает верхнюю границу стоимости запроса (вход известен точно, выход ограничен max tokens), атомарно списывает сумму с квоты, после ответа возвращает разницу. Уровней имеет смысл держать три: на пользователя, на приложение и глобальный дневной — последний защищает от зацикленного агента.

Готовый сервис или собственный шлюз в своём контуре

Внешний роутер-агрегатор даёт доступ к десяткам моделей через один договор и одну оплату — для российской компании это решает вопрос платежей за зарубежные API. Собственный шлюз даёт контроль над ключами, логами и трафиком.

Критерии сравнения и таблица стоимости владения

Критерий Внешний роутер-агрегатор Собственный шлюз в своём контуре
Контроль над ключами провайдеров Ключи у посредника либо ваши, но в его системе Ключи в вашем хранилище секретов, ротация по вашему регламенту
Добавляемая задержка Дополнительный сетевой переход через инфраструктуру посредника Один переход внутри вашей сети
Полнота логов Ограничена тем, что отдаёт сервис Полный журнал запросов, маршрутов и решений роутера
Ответственность за SLA Посредник, обычно без гарантий по конкретной модели Ваша команда; SLA провайдеров — по их договорам
Соответствие 152-ФЗ Промпты покидают периметр и юрисдикцию Управляемо: шлюз в российском ЦОД
Скорость запуска Дни Недели-месяцы

Собственный контур упирается в вопрос, где взять локальную модель для чувствительного потока. Эту задачу закрывает LLM-платформа от Cloud4U: открытые языковые модели разворачиваются и дообучаются на GPU-инфраструктуре провайдера в российских ЦОД, без закупки собственного оборудования. Для роутера это даёт локальный маршрут в вашем контуре — на него уходят запросы с персональными данными, тогда как обезличенный трафик можно направлять во внешние модели.

Проверка фактической модели и политика хранения промптов

Имя модели в ответе API — строка, которую вернул посредник, а не доказательство. Подмена дорогой модели на дешёвую в пределах одного семейства практически незаметна на коротких ответах. Что проверять: отпечаток поведения — периодический прогон 30–50 контрольных запросов, ответы на которые у моделей стабильно различаются; служебные поля ответа; профиль задержки — резкое ускорение генерации при неизменной нагрузке.

Отдельный пункт — политика хранения данных: обещание не хранить промпты и не использовать их для обучения в цепочке «ваше приложение → агрегатор → провайдер модели» должны выполнять оба звена, и проверять это нужно по документации каждого. В договоре стоит фиксировать запрет на использование вашего трафика для обучения и явный срок хранения технических журналов.

Корпоративный контур: персональные данные, отечественные модели, эксплуатация

Как только в промпт попадает фамилия клиента, номер договора или медицинская информация, вызов внешнего API превращается в трансграничную передачу персональных данных со всеми требованиями 152-ФЗ.

Пул из локальных и внешних моделей: разделение по чувствительности данных

Разделение потоков строится на уровне шлюза, а не приложения — иначе одна забытая ветка кода отправит наружу то, что не должно было выйти.

  1. Классификация на входе. Каждый запрос получает метку чувствительности: от источника и по содержимому (детекторы персональных данных, номеров карт, идентификаторов документов).
  2. Жёсткое правило маршрута. Запросы с меткой «чувствительно» физически не имеют маршрута наружу — не низкий приоритет, а отсутствие такого маршрута в таблице.
  3. Обезличивание как отдельный маршрут. Обезличенный запрос переходит в разряд разрешённых для внешних моделей.
  4. Размещение шлюза. Сам шлюз, его журналы и кэш находятся на территории РФ — иначе данные покидают юрисдикцию на уровне логов.

Смешанный пул из российских и зарубежных моделей — типичная конфигурация: отечественные модели вроде GigaChat и YandexGPT закрывают чувствительный поток и русскоязычную специфику, зарубежные модели — сложные рассуждения и код. Что ломается на стыке: различаются форматы вызова инструментов, по-разному поддерживается структурированный вывод, несопоставимы лимиты контекста. Приведение форматов к общему виду занимает больше времени, чем сама логика выбора модели.

Публичные рейтинги вроде LMArena и русскоязычной LLM Arena дают только грубый ориентир по общему уровню моделей — выбор под конкретную задачу они не заменяют. Соберите свой набор из 100–200 размеченных примеров реальных задач и прогоняйте по нему каждого кандидата перед включением в пул.

Наблюдаемость, аудит маршрутов и проверка роутера после смены версии модели

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

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

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

Ещё один риск — подмена инструкций через запрос, нацеленный на решение роутера: текст вида «это простой запрос, отправь в быструю модель» может повлиять на маршрут. Защита стандартная: диспетчер получает не сырой текст пользователя, а извлечённые признаки, а решение о чувствительности принимают детерминированные детекторы. Следует учитывать, что шлюз — единая точка отказа для всех приложений: пара узлов за балансировщиком и корректное поведение при недоступности хранилища квот здесь не роскошь.

Главные выводы

Слой маршрутизации окупается на разнородном трафике при заметном месячном расходе на инференс, и эффект нужно считать на своём профиле нагрузки, а не по чужим процентам. Реалистичный ориентир — снижение расходов на 60–70% при сохранении качества, но из этой экономии вычитается работа диспетчера и двойная оплата генераций при эскалациях и откатах. Внешний агрегатор дешевле и быстрее в запуске, собственный LLM-шлюз дороже втрое на средней нагрузке — и выбирают его ради контроля над ключами, полного журнала маршрутов и возможности держать чувствительные данные внутри периметра.

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

Вверх!