Fallback к другой модели в runtime ломает не логику, а ожидания пользователя
Надёжное приложение готовит план B. Если основной провайдер перегружен или недоступен, запрос уходит на вторую модель. Логика простая: лучше что-то, чем ничего. Но качество ответа от разных моделей настолько отличается, что пользователь это замечает.
Когда пользователь получил точный ответ от основной модели, а на следующий вопрос приложение молча переключилось на fallback, результат выглядит как деградация. Поведение остаётся одинаковым, а качество скачет вниз.
Что разработчик может сделать
Часть команд добавляют в ответ незаметный маркер, какая модель его выдала. Это помогает понять, почему результат хуже, но не решает проблему восприятия.
Другие выбирают более консервативный подход: если основная модель недоступна, лучше вернуть ошибку, чем дать просто любой ответ. Предсказуемое отсутствие лучше, чем неожиданное падение качества.
Самый правильный способ — использовать fallback только для некритичных задач. Для важных вопросов ждать восстановления основного провайдера, а не молча переключаться.