Вопрос проверяет умение проектировать сложные ML-ориентированные системы с несколькими моделями.
Система проектируется вокруг сценариев, а не моделей. Backend управляет выбором и комбинацией моделей. Каждая модель изолирована и имеет четкий контракт. Сценарии конфигурируются, а не «зашиваются» в код. Это снижает связанность и упрощает развитие системы.
Когда моделей становится несколько, архитектура без абстракций быстро усложняется.
Определение:
Многомодельная система — это система, в которой разные ML-модели применяются в различных бизнес-сценариях.
Ключевые архитектурные принципы:
Сценарий как основная сущность
Сценарий описывает последовательность шагов
Модели — лишь исполнители
Изоляция моделей
Каждая модель — отдельный сервис или адаптер
Единый интерфейс вызова
Оркестрация на уровне backend
Последовательные и параллельные вызовы
Комбинация результатов
Конфигурационность
Настройка сценариев через конфиги
Возможность включать и отключать модели
Краткий вывод:
Правильная архитектура позволяет добавлять новые модели и сценарии без переписывания существующего backend-кода.