Сколько ИИ-пилотов вы похоронили за последний год, списывая убытки на «недостаточно умную нейросеть» или «сырые алгоритмы»?
В 2026 году по рынку гуляет всё та же убийственная статистика: 95% проектов машинного обучения не доходят до продакшена. Компании сжигают миллионы на R&D, закупают GPU-кластеры, нанимают топовых дата-сайентистов, а на выходе получают игрушку, работающую только на ноутбуке разработчика. И если ML-проект буксует, в абсолютном большинстве случаев проблема кроется не в архитектуре трансформера и не в железе. Проблема в том, что вы заказали инженерам абстрактную магию, а не конкретную бизнес-функцию.
Тема 8 антипаттернов постановки задачи ML-команде: разбор провального пилота и шаблон ТЗ для ЛПР — это не академические рассуждения. Это постмортем одного нашего индустриального проекта по компьютерному зрению на конвейере. Мы чуть не легли под нагрузкой, потому что на старте поверили заказчику на слово и проигнорировали красные флаги. Вот восемь граблей, на которые наступает почти каждый ЛПР.
- «Сделайте умную нейронку» вместо бизнес-KPI. Нам принесли задачу: «Нужно внедрить ИИ для контроля качества проката». Инженеры слышат это как команду обучить условный ResNet выбивать максимум accuracy. Бизнес ждёт, что всё магически починится само. У нас ушёл месяц, чтобы перевести абстракцию в инженерию: «снизить пропуск брака (False Negatives) на стане горячей прокатки на 12% при сохранении throughput в 30 кадров в секунду». Если вы не прибили задачу гвоздями к метрике, команда будет бесконечно тюнить веса ради долей процента, не давая бизнесу ничего.
- Отсутствие baseline. Это ребро, об которое ломается 80% проектов на этапе масштабирования. Мы выкатили первую версию модели на edge-сервер в цеху, доля брака объективно упала. Приходим к финдиру за бюджетом на раскатку по всем линиям. Он смотрит в таблицу и отрезает: «А у нас всегда так было, это сезонное снижение, ваш ИИ тут ни при чём». Занавес. Без жёсткого замера «как было» (baseline) до старта пилота вы никогда не докажете эффект.
- Данные «дадим потом». Классический корпоративный саботаж. Безопасники заблокировали доступ к камерам, сетевики две недели не могут настроить VLAN. Заказчик говорит: «Вы пока начинайте на открытых датасетах, боевые архивы выгрузим к среде». Среда наступает через полтора месяца. Команда жжёт зарплатный фонд, переобучая детекторы на идеальных картинках из интернета. Выкатываем на завод — модель полностью слепая, потому что фокусное расстояние другое, а блики от промышленных ламп ломают градиенты. Требуйте реальный боевой сэмпл до подписания договора. Нет данных — нет пилота.
- Демо на причёсанных данных, прод на грязных. На промежуточном показе для топ-менеджмента всё выглядит элитарно: статика, 4K-разрешение, идеальный кроп. В проде мы получаем RTSP-поток с дешёвой IP-камеры, которая вибрирует на балке рядом с прессом и покрыта слоем цементной пыли. Модель захлёбывается в ложных срабатываниях, потому что обучалась в студийных условиях. Разрабатывать, тестировать и собирать метрики надо исключительно на том мусоре, который летит с реального железа в условиях 24/7.
- Нет владельца результата. Пилот прошёл, метрики сошлись, но в прод система не едет. Бизнес-заказчик получил внутреннюю премию за инновации и ушёл в тень. ИТ-директору этот зоопарк с нестандартными серверами и поддержкой моделей даром не сдался. Система висит в воздухе. Если на берегу нет конкретного человека, который заберёт результат, возьмёт метрику в свой KPI и подпишет акт — не начинайте писать код.
- Скоуп плывёт каждую неделю. Раз камера уже стоит и видит трубы, пусть заодно детектирует рабочих без касок, читает номера погрузчиков и замеряет температуру в цеху. Бизнесу кажется, что добавить пару классов — это бесплатно. В реальности архитектура разъезжается под грузом костылей. Пайплайн инференса пухнет, VRAM на устройстве заканчивается. Latency пробивает p99 в 500 миллисекунд, конвейер останавливается из-за таймаутов ответа системы. Жёстко фиксируйте скоуп. Одна нейросеть — одна задача.
- Ожидание 100% точности. ЛПР хочет абсолютной безотказности. Модель выдаёт 95% recall, и заказчик разворачивает проект: «Она пропускает 5% царапин, это недопустимо!». В реальности эти 95% плюс human-in-the-loop (один оператор, который отсматривает только спорные 5% кадров, а не пялится в монитор всю смену) окупают систему за квартал. 100% точности в физическом мире не бывает. Нейросеть — это ассистент и фильтр, а не бог.
- Приёмка по F1-score вместо денег. Дата-сайентисты гордо рапортуют о росте F1-меры и площади под ROC-кривой. ЛПР смотрит на это с раздражением. Птичий язык ML-инженеров не конвертируется в P&L. Успех пилота должен защищаться в рублях, предотвращённых простоях или сэкономленных человеко-часах. F1-score — метрика для гитхаба, для продакшена метрика — ROI.
Шаблон ТЗ для ЛПР: как ставить задачу ML-команде
Чтобы управление ML проектом не превращалось в лотерею, формализуйте вводные до написания первой строчки кода. Не нужны ГОСТы на пятьдесят страниц. Достаточно одного жёсткого контракта между бизнесом и техникой — pre-flight чек-листа, который невозможно трактовать двояко.
# Pre-flight checklist: ТЗ на ML-проект
ml_project_sow:
business_goal: "Снизить долю пропущенного брака на линии горячей прокатки"
business_metric: "-15% дефектной продукции на этапе финального ОТК"
baseline: "Текущий уровень брака: 4.5% (замерено 01.10 - 14.10, подтверждено ERP)"
data_provision:
status: "Собран репрезентативный датасет"
volume: "100 часов видео с реальной камеры (загрязненной, с вибрацией)"
deadline: "Передано до старта разработки"
acceptance_criteria:
ml_metric: "Recall > 95% при FPR < 2% (p99 latency < 50ms)"
financial_proxy: "Экономия от 2.5 млн руб/мес на возвратах"
execution:
environment: "On-premise Edge (Jetson Orin), RTSP поток 1080p, закрытый контур"
workflow: "Human-in-the-loop (нейросеть отсекает 95% нормы, 5% смотрит оператор)"
ownership:
product_owner: "Иванов И.И. (Директор по производству) - принимает результат"
it_owner: "Петров П.П. (CIO) - обеспечивает интеграцию в контур"У нас в Morana Labs процесс выстроен именно так. Мы физически не берём проект в работу, пока подобный конфиг не заполнен реальными цифрами и не подписан владельцем процесса со стороны клиента. Это отсекает карго-культ и пустые фантазии об ИИ на самом старте.
Мы делаем инференс на железе клиента, работаем с high-load и реалтаймом, где данные никогда не покидают периметр предприятия. Мы знаем цену ошибки: если на ребре ляжет сеть, встанет реальный завод. Поэтому данные забираются сразу, baseline фиксируется до первого коммита, а приёмка жёстко привязана к деньгам. Иначе в эту игру не стоит и играть.