Олег Моргоч: как искусственный интеллект помогает обновлять корпоративное программное обеспечение
ИТ-команды редко разрабатывают корпоративные системы с расчетом на десятилетия эксплуатации. Разработчики годами вносят многочисленные исправления в код, написанный на языке и по стандартам прошлого поколения, поэтому разобраться в нём часто могут только те, кто ранее с ним работал. Часто таких людей в команде остается один или два, и каждый их отпуск или увольнение превращается в риск для всей компании. Даже простая на первый взгляд правка отнимает всё больше времени, потому что приходится учитывать десятки старых решений, принятых ещё до того, как они стали проблемой. AI-ассистенты, которые ещё несколько лет назад воспринимались как эксперимент для энтузиастов, сегодня меняют эту часть инженерной работы. Прежде всего важно быстро находить слабые места в старом коде и определять, какие именно изменения ему нужны.
Олег Моргоч работает в сфере программной инженерии почти два десятилетия. За это время он прошел путь от разработчика до технического лидера (Team Lead) в одной из крупнейших ИТ-компаний Восточной Европы, где много лет отвечал за команду программистов и тестировщиков. Сегодня специалист работает в качестве AI-Augmented Software Engineer и ежедневно применяет искусственный интеллект для модернизации устаревшего кода в промышленные .NET-системах. Эта платформа остается одной из самых распространенных в корпоративном секторе, поэтому потребность в такой работе возникает у многих компаний.
Важным этапом в своей работе Моргоч называет появление GitHub Copilot непосредственно в среде разработки. Этот инструмент позволяет описать задачу обычным языком и получить готовый фрагмент кода, который специалист проверяет перед использованием.
Ошибки, которые раньше приходилось искать часами
Модели искусственного интеллекта, обученные на больших массивах кода, за секунды выявляют закономерности, для распознавания которых специалисту требуется многолетний опыт.
По словам Моргоча, раньше поиск ошибки мог занимать от нескольких минут до целого рабочего дня. С использованием искусственного интеллекта в отдельных случаях это время сокращается примерно до минуты, а в ходе проверки инструмент может выявить и другие проблемы в коде. Теперь серьёзные сбои случаются крайне редко, а почти все новые версии программ выходят без ошибок. Особой специфики именно для .NET-систем по сравнению с другими технологиями он не выделяет.
Обновить или написать заново
Решая, обновлять ли систему или переписать её с нуля, Моргоч руководствуется чётким принципом. "Если систему нужно перенести со старого языка программирования на новый, её обычно приходится переписывать полностью. В остальных случаях я изменяю только те участки кода, где используются устаревшие функции или компоненты. Опыт убедил меня, что поэтапное обновление надежнее. Полная переработка создает больше рисков и значительно увеличивает объем тестирования", — объясняет он. Конечная стоимость каждого варианта чаще всего зависит от дополнительных рисков и необходимого объема тестирования.
Пример из полиграфической отрасли
Рассказывая о недавних проектах, Олег Моргоч отдельно упоминает работу, которой гордится больше всего. "Это был проект для полиграфической отрасли, в рамках которого мы с помощью искусственного интеллекта перешли от устаревших технологий к современным решениям. Основные изменения коснулись операционной деятельности. Стоимость услуг для компаний при этом осталась прежней. Это внутреннее решение для крупных типографий, с которыми я сейчас работаю. Мы не выводим его на рынок как отдельный продукт", — отмечает специалист.
Речь идет о системе, которая обрабатывает заказы на персонализированные ID-карты для клиентов медицинских страховых компаний. Для каждого заказа она определяет тип печати, материал, количество экземпляров и необходимость ламинирования. Перед упаковкой QR-код на конверте сверяется с кодом на карте, чтобы она попала к нужному получателю. Любая ошибка на этом этапе может лишить человека документа, подтверждающего его страховое покрытие. После печати система автоматически закрывает заказ в базе данных и передает информацию производственным системам типографий и ИТ-команде. В конце дня она также формирует ежедневные отчеты, в частности перечень заказов, выполненных с опозданием.
До модернизации печать иногда задерживалась, заказы приходилось закрывать вручную, а отчеты требовали исправлений. С тех пор специалисты обновили почти все компоненты системы. В проекте задействованы несколько команд. Одна выстраивает цепочку процессов, в которой результат каждого этапа становится входными данными для следующего. Моргоч называет такую структуру "лего-проектом". Другая команда следит за тем, чтобы данные своевременно поступали на полиграфическое предприятие и бригадам, которые печатают и сортируют карточки. Их работу координируют руководители нескольких уровней. Из-за большого количества взаимосвязанных процессов систему обновляют постепенно, поскольку изменение одного компонента может повлиять на работу других.
Использование искусственного интеллекта помогло завершить переход на новые технологии быстрее, чем планировалось.
Опыт, который ИИ не заменит
При работе с ИИ Моргоч оставляет окончательное решение за специалистом. Он определяет допустимые пределы изменений и оценивает риски для каждой системы. Поскольку инструмент не всегда учитывает весь контекст её работы, предложенный код необходимо проверять перед внедрением. Многолетний опыт помогает определить, не вызовет ли новое решение дополнительных проблем.
Олег Моргоч ожидает, что в течение следующих трёх–пяти лет искусственный интеллект сократит время и стоимость модернизации корпоративных систем. Качество результата по-прежнему будет зависеть от специалистов, которые оценивают риски, проверяют код и отвечают за внесённые изменения.