Сколько миллионов ваша компания сожгла в этом квартале на то, чтобы строчка в резюме вашего миддла превратилась в сеньорскую? Вы подписываете сметы, думая, что инвестируете в индустриальный ИИ и конкурентное преимущество, а на деле спонсируете чужой карго-культ. Классический оверинжиниринг ml проект выглядит одинаково: команда полгода пилит тяжеловесную архитектуру, требует расширения квот в облаке, а на выходе выдает систему, которую невозможно ни масштабировать, ни поддерживать. При текущем дефиците сеньоров и зарплатах под полмиллиона рублей в месяц, инженеры хотят строить красивое. Никто не хочет писать регулярные выражения или SQL-запросы, потому что за это не берут в бигтех. Я покажу семь маркеров того, что вас водят за нос, и расскажу, как принудительно внедрить простое решение вместо ml, пока бюджет не кончился.
Отсутствие бейзлайна и генеративный хайп
Самый явный, шестой по счету в нашем аудите, но первый по важности признак технического обмана — это отсутствие тупого бейзлайна для честного сравнения. Вы спрашиваете команду, насколько их нейронка точнее банального статического правила, а в ответ получаете тишину. Инженерный процесс всегда начинается с простейшего baseline ml. Если система не сравнивалась с наивным алгоритмом, вы оплачиваете чье-то хобби. Проверить это руками элементарно: потребуйте от лида за пару часов набросать решение на if-else или эвристиках и замерьте метрику. Зачастую глупое правило закрывает 95% случаев, а нейросеть нужна лишь для оставшихся пяти. Замените несуществующий бейзлайн на жесткое требование: ни один ML-эксперимент не начинается, пока не написан и не замерен скрипт.
Эта проблема тесно связана с первым признаком — пиханием LLM в задачи с детерминированным ответом. Языковые модели галлюцинируют, долго генерируют токены и стоят дорого. Использовать 7B-параметровую модель, чтобы вытащить артикул или ИНН из стандартного документа — это стрельба из микроскопа по воробьям.
import re
# Базовый бейзлайн: никаких LLM и промпт-инжиниринга,
# микросекундный инференс с нулевой стоимостью инфраструктуры
def extract_sku_baseline(text):
match = re.search(r'\b[A-Z]{3}-\d{4,6}\b', text)
return match.group(0) if match else None
Когда ответом должно быть точное совпадение со словарем или закрытый класс, генеративная нейросеть только добавляет энтропии. Как только вы видите, что инженеры пытаются парсить логи промптами — бейте по рукам. Альтернатива всегда одна: регулярные выражения, конечные автоматы или классические методы NLP вроде TF-IDF.
Архитектурная гордыня и аппаратный шантаж
Второй симптом — это фанатичное обучение собственных моделей вместо использования готовых API или эвристик. NIH-синдром (Not Invented Here) цветет пышным цветом. Собрать датасет, разметить его асессорами, поднять пайплайн обучения — это месяцы работы. Для проверки спросите, сколько стоит облачное API распознавания или готовая zero-shot модель под ваш профиль нагрузки. Если чужой API обойдется в сто долларов в месяц, а команда просит полгода на разработку своей модели — рубите инициативу. Своя модель окупается только на экстремальных объемах данных или в жестко изолированных контурах.
Вслед за своей моделью неизбежно появляется третий маркер: кастомный фреймворк. Вместо того чтобы взять обкатанные PyTorch Lightning, MLflow или Triton Inference Server, инженеры начинают писать свой оркестратор и обертки над инференсом. Это чистый оверинжиниринг, который делает проект непередаваемым. Замените самописную дичь на индустриальные стандарты принудительно, иначе после ухода создателя этот код превратится в тыкву.
Четвертый признак — аппаратный шантаж. Внезапно выясняется, что в прод категорически нужен GPU-кластер для нагрузки, которую спокойно потянет CPU. Инженеры обожают закупать железо. Но пропускная способность и задержка — разные вещи. Когда мы в Morana Labs катили реалтайм-систему дефект-детекта на промышленную линию с бюджетом на ответ в 15 миллисекунд, мы запускали инференс на индустриальных x86 процессорах прямо у конвейера, используя OpenVINO. Ставить туда стойку с видеокартами было бы операционным самоубийством. Заставьте команду сделать профилирование квантованной модели. Замените дорогой инференс на CPU, ONNX Runtime или тензорные ядра потребительского уровня.
Оторванные метрики и тест одной фразы
Пятая аномалия вскрывается на созвонах по статусу: F1-score или accuracy растут, а бизнес-метрика стоит на месте. Математика ради математики. Модель великолепно предсказывает отток пользователей с ROC AUC под 0.95, но выручка падает, потому что маркетинг не знает, что делать с этими предсказаниями. Команда оптимизирует функцию потерь в вакууме. Чтобы проверить обоснованность работы, заставьте их провести A/B тест на деньгах или конверсии. Если ML не двигает стрелку на приборной панели бизнеса, значит, этот ml без необходимости пора отправлять в архив.
И, наконец, седьмой маркер, ультимативный. Команда не может в одну фразу объяснить лицу, принимающему решения, зачем именно здесь нужна нейросеть. Если ответ начинается с долгих рассуждений про латентные пространства, многомерность данных и эмбеддинги — вас пытаются запутать. Правильный ответ звучит так: мы используем ML, потому что жесткие правила дают 60% точности, из-за чего мы теряем два миллиона в месяц, а модель поднимает точность до 85% и окупает разработку за квартал. Если этого ответа нет, бизнес-смысл в проекте отсутствует.
Прежде чем выделять бюджет на очередной AI-проект, проведите аудит. Запретите обучение до появления тупого бейзлайна, пресекайте разработку кастомных фреймворков, требуйте финансового обоснования для GPU и привяжите метрики модели к деньгам. Если вы чувствуете, что инженерия ради инженерии уже захватила ваш продукт — приходите за трезвой внешней оценкой от Morana Labs. Мы посмотрим на архитектуру, прямо скажем, где искусственный интеллект вам не нужен, и отговорим от долгостроя, если задачу быстрее и надежнее решает простой regexp.