Урок 13Оптимизация

Роутинг моделей (Model Routing)

Отправляйте каждый запрос на самую дешёвую модель, которая справится

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

Решение: Model Routing — правильная модель под каждый запрос

Роутинг моделей (model routing) — это практика направления каждого входящего запроса на самую дешёвую модель, которая всё ещё справится с ним корректно, вместо того чтобы платить флагманскую цену за каждый вызов. Небольшой компонент — router — стоит перед моделями, смотрит на запрос и решает, куда его отправить. Поскольку большая часть продакшн-трафика лёгкая (поиск, FAQ-вопросы, короткие извлечения) и лишь меньшинство по-настоящему сложное (многошаговые рассуждения, хитрый код, edge-кейсы), отправка всего на одну большую модель тратит деньги на лёгком большинстве. Open-source и коммерческие роутеры вроде RouteLLM популяризировали это в 2024-2026 годах, сообщая о снижении затрат на 50-85% при почти неизменном качестве.

Классификатор-роутер против cascade

Есть две основные стратегии. Классификатор-роутер делает классификацию сложности / типа заранее: лёгкая модель (или обученный классификатор) оценивает, насколько сложен запрос, до ответа, а затем выбирает самую дешёвую модель выше этой планки — один вызов модели на запрос. Cascade работает наоборот: сначала пробует дешёвую модель и эскалирует на сильную только когда уверенность низкая (например, маленькая модель уклоняется, отказывается или её самооценка уверенности падает ниже порога). Cascade может быть точнее, потому что сложные случаи ловятся после реальной попытки, но платит за два вызова на таких запросах. Классификатор-роутер дешевле на запрос, но зависит от того, прав ли классификатор. Semantic routing добавляет намерение — маршрутизацию по тому, что просит пользователь (вопрос по коду против вопроса по биллингу), на специализированную модель — а путь fallback переключается на другую модель или провайдера, когда выбранная даёт ошибку или таймаут.

Компромисс стоимость / качество / задержка и его настройка

Любой роутер балансирует три ручки: стоимость, качество и задержку (latency). Перенаправь больше трафика на маленькую модель — сэкономишь деньги и время, но рискуешь смаршрутизировать сложный запрос на модель, которая ответит неверно; перенаправь больше на большую — качество вырастет, но и счёт тоже. Опасность — mis-routing (ошибка маршрутизации): по-настоящему сложный запрос, отправленный на дешёвую модель, даёт уверенно неверный ответ. Этот риск ограничивают двумя способами — консервативным порогом, который при сомнении склоняется к сильной модели, и fallback по уверенности, эскалирующим дешёвые ответы с низкой уверенностью. Чтобы настроить пороги, не угадывают: каждый маршрутизированный запрос логируют с предсказанной сложностью, использованной моделью, стоимостью и сигналом качества (обратная связь пользователя или оценка LLM-as-judge), затем подбирают порог офлайн на этих данных и выбирают точку, которая максимизирует экономию, удерживая качество выше минимума. Разбор примера: чат-продукт получает 100 000 запросов/день; маршрутизация лёгких 80% на модель за десятую часть цены и удержание сложных 20% на флагмане срезает суммарные расходы примерно на 70% — лёгкому большинству дорогая модель и не была нужна.

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

  • 1. Классифицируйте входящий запрос: Оцените сложность и тип до ответа — лёгким классификатором, дешёвой моделью первого прохода или простыми правилами. Цель — дешёвый и быстрый сигнал о том, насколько сложен запрос
  • 2. Выберите самую дешёвую подходящую модель: Сопоставьте предсказанную сложность с уровнем модели: маленькая для лёгких, средняя для умеренных, флагман для сложных. Выбирайте самый дешёвый уровень, перешагивающий нужную планку качества
  • 3. При низкой уверенности — cascade: Дайте дешёвой модели попробовать первой; если она уклоняется, отказывается или её уверенность падает ниже порога — эскалируйте на сильную. Это ловит сложные случаи, пропущенные классификатором
  • 4. Логируйте стоимость и качество для настройки порогов: Логируйте каждый маршрут с его сложностью, моделью, стоимостью и сигналом качества. Подбирайте порог офлайн и выбирайте точку, максимизирующую экономию при качестве выше минимума

Где применять Model Routing

  • Чат-продукты с большим объёмом: Бот поддержки или массовый чат на миллионы сообщений в день: направляйте ~80% простых FAQ-обращений на маленькую модель и эскалируйте на флагман только неоднозначные или многошаговые диалоги — самый сильный рычаг в счёте
  • Шаги RAG и агентов: Внутри пайплайна шаги разной сложности: переписывание запроса и извлечение — работа дешёвой модели, финальный синтез и планирование вызова инструментов могут требовать сильной. Маршрутизируйте по шагам, а не используйте одну модель на всю цепочку
  • Оптимизация затрат при масштабе: При большом объёме запросов даже малая экономия на запросе превращается в тысячи долларов в месяц. Роутинг обычно срезает 50-85% расходов при качестве в пределах пары процентов — классический результат RouteLLM
  • Роутинг с учётом задержки: Помимо стоимости, маленькие модели отвечают быстрее. Направляйте задержко-критичные обращения (автодополнение, real-time чат) на быструю маленькую модель, а медленный флагман берегите для запросов, которым реально нужны его рассуждения

Интересный факт: RouteLLM показал, что хорошо обученный роутер может держать качество уровня GPT-4, отправляя большинство запросов на модель в ~25 раз дешевле, — достигая более 85% экономии на распространённых бенчмарках. Сам роутер крошечный: интеллект в умении понять, какие вопросы действительно сложные.

Попробуйте сами!

Исследуйте интерактивный роутер ниже, чтобы увидеть, как порог сложности, cascade и вкладка сравнения балансируют стоимость и качество.

Model Routing: как работает LLM-роутер

Интерактив: LLM Router Explorer

Нажмите на запрос — роутер классифицирует его и отправляет на самую дешёвую подходящую модель.

Роутер

оценка сложности

Выберите запрос выше

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

Что такое роутинг моделей (model routing) для LLM?

Роутинг моделей направляет каждый входящий запрос на самую дешёвую модель, которая ответит корректно. Лёгкий классификатор (или дешёвая модель первого прохода) оценивает сложность, отправляет простые запросы на маленькую модель и эскалирует на флагман только сложные. Роутеры вроде RouteLLM снижают затраты на 50-85% при почти неизменном качестве.

Чем классификатор-роутер отличается от cascade?

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

Как настроить пороги роутинга без потери качества?

Логируйте каждый маршрутизированный запрос с предсказанной сложностью, использованной моделью, стоимостью и сигналом качества (обратная связь пользователя или оценка LLM-as-judge). Затем подбирайте порог офлайн на этих данных: повышение порога отправляет больше трафика на маленькую модель (дешевле, рискованнее), понижение — на большую (безопаснее, дороже). Выбирайте порог, который максимизирует экономию, удерживая качество выше вашего минимума, и ограничивайте риск через fallback на сильную модель по уверенности.

Попробуй сам

Интерактивное демо этой техники

Сравнение техник
Демо режим
Предзаписанные ответы
ЗадачаСреднийАнализ

Обслужить 100 000 запросов/день к чат-боту поддержки при минимальных затратах без потери качества

Без техники
Без техники
Промпт
Отправляем КАЖДЫЙ запрос на флагманскую модель (большую и дорогую), независимо от сложности. "Какой у вас график?" и "Найди баг в этом коде" обрабатываются одинаково.
Ответ

Все 100 000 запросов идут на большую модель по ~2¢ за запрос → $2000/день. Качество отличное (99%), но ~80% запросов — простые FAQ, для которых флагман избыточен. Платим по цене хирурга за пластырь.

Токены:200/300
Время:2200ms
Качество:
С production-model-routing
С техникой
Промпт
Поставить роутер перед моделями. Классифицировать сложность каждого запроса: простой FAQ → маленькая модель (~0.05¢), умеренный → средняя, сложное рассуждение → большая (~2¢). Добавить confidence-fallback: если маленькая модель не уверена — эскалация на большую.
Ответ

80% (простые) → маленькая модель, 20% (сложные) → большая. Стоимость: 80k×0.05¢ + 20k×2¢ = 40+40 + 400 = 440/деньвместо440/день вместо 2000. Экономия ~78% при качестве 98% — лёгкому большинству флагман и не был нужен.

👁️Большая часть трафика лёгкая (FAQ, короткие извлечения) — флагман на ней избыточен
🧠Классифицируем сложность ДО ответа и направляем на самую дешёвую подходящую модель
🔢80k×0.05¢ + 20k×2¢ = $440 против $2000 → экономия ~78%, качество в пределах 1%
Confidence-fallback ограничивает mis-routing: сложный запрос, попавший на малую модель, эскалируется
Токены:200/300
Время:700ms
Качество:
Почему это работает

Не плати флагманскую цену за каждый запрос. Роутер отправляет лёгкое большинство на дешёвую модель и эскалирует только сложное — ~78% экономии при том же качестве.

1 / 2

Квиз по уроку

1 из 4

1.Что в первую очередь оптимизирует роутинг моделей?

Практика

Создайте бесплатный аккаунт для решения челленджей

3 челленджей с AI-проверкой для этого урока

Связанные уроки:Model SelectionCost OptimizationSmall Models

Этот урок — часть структурированного курса по LLM.

Мой путь обучения