Autorouting
Autorouting это режим, в котором модель выбирает не клиент, а роутер. Вместо конкретного идентификатора в поле model передаётся waibee/auto, и дальше роутер сам решает, какая модель закроет задачу.
curl https://api.waibee.com/v1/chat/completions \ -H "Authorization: Bearer $WAIBEE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "waibee/auto", "messages": [{ "role": "user", "content": "Ответь одним словом: ок" }] }'В ответе поле model содержит ту модель, которая реально отработала, а не waibee/auto:
{ "model": "z-ai/glm-5", "choices": [{ "index": 0, "finish_reason": "stop", "message": { "role": "assistant", "content": "Ок" } }], "usage": { "prompt_tokens": 14, "completion_tokens": 4, "total_tokens": 18 }}Работает на всех трёх эндпоинтах: POST /v1/chat/completions, POST /v1/messages и POST /v1/responses.
Зачем это нужно
Заголовок раздела «Зачем это нужно»- Не нужно следить за каталогом. Новые модели появляются, старые уходят, идентификаторы меняются. С
waibee/autoэта работа уходит на сторону роутера. - Простые запросы не платят за флагман. Короткий вопрос уезжает на быструю дешёвую модель, сложная задача на сильную.
- Требования запроса учитываются автоматически. Картинка на входе, structured outputs, вызов инструментов: роутер отбирает модели, которые это поддерживают.
Когда лучше указать модель явно: воспроизводимость (тесты, замеры, сравнение промптов), жёсткое требование к конкретному семейству, тонко подогнанный под модель промпт.
Что влияет на выбор
Заголовок раздела «Что влияет на выбор»Роутер смотрит на сам запрос:
| Сигнал | Как влияет |
|---|---|
| Текст запроса и системного промпта | Оценка сложности задачи: короткая справка или проектирование |
| Вложения | Картинка или аудио на входе оставляют только модели с нужной модальностью |
tools |
Нужна поддержка вызова инструментов |
reasoning_effort или thinking |
Нужна reasoning-модель |
response_format |
Нужна поддержка structured outputs |
Маркеры cache_control |
Нужна модель с кэшированием промптов |
| Размер запроса | Модели с недостаточным окном контекста отбрасываются |
Выбор идёт среди моделей, разрешённых вашей группе для автоподбора. Это отдельная настройка: модель, которую нельзя запросить по имени, автоподбор всё равно может выбрать, и наоборот.
На практике это выглядит так: «ответь одним словом» уезжает на быструю дешёвую модель, «спроектируй распределённую систему платежей» на сильную, а запрос с картинкой на ту, которая принимает картинки. Какая модель отработала в конкретном случае, всегда видно в поле model ответа.
Стабильность внутри диалога
Заголовок раздела «Стабильность внутри диалога»С кэшированием промптов роутер старается удерживать уже выбранную модель: кэш живёт на стороне конкретной модели, и переход на другую обнулил бы попадания.
Все относятся только к waibee/auto и приходят с кодом 422.
| Код | Когда |
|---|---|
auto_routing_no_match |
После отбора по возможностям и политикам не осталось ни одной подходящей модели |
auto_routing_request_too_large |
Запрос не влезает в окно контекста ни одной из доступных моделей |
auto_routing_caching_unavailable |
Запрошено кэширование промптов, но подходящей модели с его поддержкой нет |
auto_routing_missing_context |
Внутренняя ошибка подбора: повторите запрос, при повторении обратитесь в поддержку |
В extra приходят детали отказа: на каком фильтре опустел список моделей, какие возможности требовались и что с этим делать.
{ "error": { "code": "auto_routing_request_too_large", "message": "No model matches the auto-routing requirements", "extra": { "required_capabilities": [], "filter_step_dropped_at": "context", "pool_size_initial": 73, "pool_size_after_filter": 0, "recommendation": "The request is too large...", "auto_routing_decision_id": "e0e62376-55c2-4e06-98cb-90dc6640d451", "tier_attempted": "standard" } }}Если такое приходит регулярно, это сигнал указать модель явно, см. Модели. auto_routing_decision_id пригодится при обращении в поддержку.
Что учитывать
Заголовок раздела «Что учитывать»- Стоимость запроса зависит от выбранной модели. Считать её нужно по паре
modelиusageиз ответа, см. Токены и usage. - Там, где нужна воспроизводимость, указывайте модель явно. Тесты, замеры и сравнение промптов имеют смысл на фиксированной модели.