Маршрутизация и выбор модели: связь между каналами, моделями и клиентами
При работе с AI-шлюзом легче всего перепутать три понятия: каналы, модели и клиенты. Понимание их взаимосвязи поможет вам правильно настроить маршрутизацию и избежать недоумения вроде «почему запрос не пошёл через канал, который я ожидал».
Три базовых понятия
- Канал — это одно подключение к вышестоящему сервису: экземпляр Ollama или аккаунт у облачного провайдера.
- Модель — это возможность, доступная на канале: например, конкретное имя модели вроде
qwen3:8b. - Клиент — это AI-инструмент, которым вы пользуетесь ежедневно: Claude Code, Codex, opencode и т. д.
Их связь представляет собой однонаправленную цепочку:
Клиент → (виртуальный ключ) → Шлюз (политика маршрутизации) → Канал → Модель
При каждом запросе клиент указывает имя модели в самом запросе, а шлюз по этому имени находит канал, способный его обслужить, и пересылает запрос туда.
Что означает «model (имя канала)» в списке моделей
В селекторе моделей клиентов вроде Claude Code или opencode вы увидите записи вида qwen3:8b (Ollama Qwen3). Имя в скобках означает канал-источник этой модели, а не «ещё одно подключение»:
- Между вашим клиентом и шлюзом всегда существует только одно подключение (один адрес + один виртуальный ключ).
- Одна и та же модель может быть настроена на нескольких каналах. При этом в селекторе по-прежнему отображается только одна строка (в скобках указывается один из каналов-источников), а то, какой канал фактически обслужит каждый запрос, определяется политикой маршрутизации (см. ниже).
Три режима маршрутизации: Fixed, Failover, Balanced
Политика маршрутизации отвечает на вопрос: если одну и ту же модель могут обслуживать несколько каналов, какой из них использовать?
| Режим | Поведение | Подходящие сценарии |
|---|---|---|
| Fixed (фиксированный) | Всегда используется один и тот же канал | Стабильное качество канала, необходимость зафиксировать источник |
| Failover (основной/резервный) | При сбое основного канала или исчерпании лимита происходит последовательное переключение на резервные каналы | Конфигурации с основным и резервными каналами |
| Balanced (сбалансированный) | Запросы поочерёдно распределяются между доступными каналами | Распределение нагрузки между несколькими однородными каналами |
Два ключевых ограничения:
- Маршрутизация переключает только каналы, но не модели. Какую модель запрашивать, всегда решает ваш клиент — шлюз не будет менять модель за вас.
- Разные модели и так идут через свои каналы. Balanced не работает по принципу «в этот раз использовать модель канала A, в следующий — модель канала B» — он чередует только несколько каналов одной и той же модели.
Модель определяет клиент: как переключать модели
Шлюз занимается только пересылкой: ваш инструмент передаёт имя модели в каждом запросе, а шлюз маршрутизирует его в соответствии с этим именем. Переключение модели выполняется на стороне клиента:
- opencode: введите
/modelsв TUI для выбора; либо настройтеmodel(основная модель) иsmall_model(лёгкие задачи вроде генерации заголовков) вopencode.json. - Claude Code: используйте команду
/modelдля переключения. - Codex: укажите модель через параметр
-m <model>или в файле конфигурации.
Безопасное подключение повседневных инструментов к шлюзу
Боитесь помешать повседневной работе? Следуйте этой процедуре:
- Сначала протестируйте на второстепенном проекте: выполните подключение в один клик в каталоге незначимого проекта и убедитесь, что рабочий процесс функционирует нормально.
- Проверьте одним запросом: отправьте тестовый запрос и на странице «История использования» посмотрите, к какой модели и какому каналу он относится и сколько стоил.
- Откат в любой момент: остановите takeover на странице «Управление подключениями». После остановки: конфигурация, записанная ServBay, будет удалена, а виртуальные ключи, созданные в ходе takeover, будут отозваны; ваши прежние пользовательские конфигурации не будут восстановлены автоматически — при необходимости настройте их вручную; изменения вступят в силу после перезапуска клиента.
Резюме
- Канал = подключение к вышестоящему сервису; модель = возможность на канале; имя модели указывается клиентом в каждом запросе.
- Политика маршрутизации выбирает только между «несколькими каналами одной и той же модели»: Fixed — фиксированный, Failover — основной/резервный, Balanced — поочерёдный.
- Переключайте модели в селекторе моделей клиента; проверяйте принадлежность и стоимость каждого запроса на странице «История использования».
