Вопрос проверяет понимание разделения ответственности между техническим и бизнес-кодом.
Business Logic слой инкапсулирует правила использования ML-моделей. Он решает, когда и какую модель вызывать. Этот слой не зависит от конкретной реализации inference-сервера. Благодаря этому бизнес-логика остается стабильной при изменении инфраструктуры. Backend становится более читаемым и поддерживаемым.
В сложных системах backend часто разделяется на несколько логических уровней. Один из ключевых — слой бизнес-логики.
Определение:
Business Logic слой — это уровень, где реализуются правила и сценарии использования ML-моделей, не зависящие от транспорта и инфраструктуры.
Его основные функции:
Принятие решений
Какую модель выбрать
Нужно ли выполнять inference вообще
Как интерпретировать результат
Оркестрация вызовов
Последовательный или параллельный запуск моделей
Комбинация результатов нескольких inference
Изоляция инфраструктуры
Inference-сервер можно заменить без изменения логики
CPU/GPU, HTTP или gRPC скрыты за интерфейсом
Повторное использование логики
Один и тот же сценарий используется разными API
Упрощение тестирования без реальных моделей
Краткий вывод:
Business Logic слой делает систему устойчивой к изменениям ML-инфраструктуры и позволяет развивать продукт без переписывания backend.