
Коллеги часто создают инструменты, чтобы технологии работали быстрее, проще и надежнее. Model Ops Platform — один из таких примеров. Это платформа, которая позволяет запускать модели машинного обучения без переписывания кода и долгих интеграций.
Над ней с самого начала работал Святослав: он разработал основную часть платформы, исследовал инструменты, собрал первый прототип, выстраивал архитектуру и шаг за шагом развивал ее до полноценного решения.
В статье — его история и путь платформы, которая меняет подход к работе с ИИ в продуктах.
Как все начиналось
Заниматься разработкой я начал еще в школе, когда появился первый ноутбук. Экспериментировал с языками программирования, смотрел обучающие видео.
Даже пробовал записывать и продавать свои видео-уроки. Так, кстати, заработал первые деньги на разработке :)

Потом университет — я учился на прикладной математике и физике. Был на целевом обучении от предприятия, поэтому после выпуска сразу же начал там работать. Автоматизацией рутинных процессов занимался по собственной инициативе: писал скрипты, искал, где можно применить код на практике.
Как попал в Naumen
Со временем понял, что хочу заниматься автоматизацией и разработкой на постоянной основе. Поэтому начал рассматривать вакансии в крупных ИТ-компаниях.О Naumen знал давно — часто посещал митапы, тогда это еще были JUG.EKB. Как только появилась подходящая вакансия, сразу же откликнулся. На тот момент у меня на руках было несколько офферов, но я ждал ответ именно от Naumen.
И вот приглашение в команду! Я начал заниматься разработкой в нескольких продуктах, в том числе в системе мониторинга. А затем мне предложили переключиться на задачи, связанные с автоматизацией работы с ИИ-моделями.
Так началась история Model Ops Platform.
Зачем была нужна платформа
Основная проблема — ML-инженеры разрабатывали модели на Python обычно в Jupyter Notebook. Что‑то можно было прогнать локально или на виртуалке, но использовать это у клиента или встроить в продукт — невозможно.Поэтому, чтобы использовать эти модели в продуктах, разработчикам приходилось вручную их переписывать на Java. Это было долго, дорого и неэффективно.
Решили разработать платформу, которая бы снимала эти ограничения: позволяла запускать код, написанный ML-инженером, как есть — с нужными зависимостями, конфигурацией и без переписывания. По сути, превращала питоновский скрипт в готовую модель, которую можно интегрировать в продукт.
Как работал над Model Ops Platform
Четкого ТЗ не было. Единственное, что точно понимал — нужен универсальный способ запуска моделей.
Так, например, выглядело описание задачи на ранних этапах.
Начал с исследования — посмотрел существующие решения, фреймворки, инструменты. Выбрал два фреймворка: для сервинга моделей и для их обучения. Еще у нас работал отдельный сервис, который управлял этими компонентами и предоставлял интерфейс внешним приложениям.
И вот появился первый прототип. Потом еще один. Потом — первая версия платформы. Она прошла путь нескольких итераций, прежде чем стала тем, чем является сейчас.
Я был не просто разработчиком, но и аналитиком, и архитектором: сам ставил задачи, сам реализовывал, сам тестировал. Но без помощи коллег ничего бы не получилось — многое решали вместе на регулярных встречах, обсуждая идеи, направления и лучшие подходы для развития платформы.
Что в итоге получилось
Model Ops Platform открыла нам полную свободу в работе с ML-моделями. Если раньше мы могли использовать модели только на одном определенном алгоритме, то теперь можем внедрять практически любые ML-модели и эффективнее закрывать задачи клиентов.А еще появился удобный инструмент mopsctl — процесс развертывания стал простым: достаточно подготовить файл с описанием, указать какие модели загрузить и на какой стенд. Не нужно ходить по интерфейсам и вручную что‑то настраивать.
С какими вызовами столкнулся
Самое сложное — не разработка платформы, а интеграция в реальность. Разные клиенты — разные требования и ограничения. Нужно понять, как адаптировать существующее решение или найти альтернативу.А еще часто приходилось принимать неидеальные технические решения, чтобы запустить продукт. Мы выбирали работающий путь, пусть и с костылями — но это позволяло проверять гипотезы быстрее. Что‑то переписывали, что‑то откладывали на потом. Но мы понимали, зачем это делаем.
Что мотивировало
Даже несмотря на длительность проекта, первые результаты были видны почти сразу же. Прототип работал, его можно было запустить и протестировать на стенде. Это давало ощущение движения вперед.

А еще — поддержка коллег. Я даже получил премию Naumen Профи за вклад в разработку и развитие продуктов — это было особенно ценно. Потом выступил с докладом на внутренней конференции и детально рассказал коллегам об интересных подходах, которые мы выбрали в Model Ops Platform.
Какие навыки помогли
- Гибкость — не было страха переписывать код, если понимал, что так будет лучше.
Инициативность — самостоятельно предлагал решения и исследовал новые инструменты.
Принятие «неидеальности» — важно было двигаться, а не замирать в ожидании идеального решения.
Умение читать чужой код — без этого невозможно адаптировать сторонние библиотеки и фреймворки под себя.