ІТ-команди рідко проектують корпоративні системи з розрахунком на десятиліття роботи. Розробники роками вносять численні виправлення до коду, написаного мовою й стандартами минулого покоління, тому розібратися в ньому часто можуть тільки ті, хто раніше з ним працював. Часто таких людей у команді лишається один чи два, і кожна їхня відпустка чи звільнення перетворюється на ризик для всієї компанії. Навіть проста на перший погляд правка забирає дедалі більше часу, бо доводиться враховувати десятки старих рішень, ухвалених ще до того, як вони стали проблемою. AI-асистенти, які ще кілька років тому сприймали як експеримент для ентузіастів, сьогодні змінюють цю частину інженерної роботи. Насамперед важливо швидко знаходити слабкі місця в старому коді та визначати, які саме зміни йому потрібні.
Моргоч Олег працює в програмній інженерії майже два десятиліття. За цей час він пройшов шлях від розробника до технічного лідера (Team Lead) у одній з найбільших ІТ-компаній Східної Європи, де багато років відповідав за команду програмістів і тестувальників. Сьогодні фахівець працює як AI-Augmented Software Engineer і щодня застосовує штучний інтелект для модернізації старого коду в промислових .NET-системах. Ця платформа залишається однією з найпоширеніших у корпоративному секторі, тому потреба в такій роботі виникає у багатьох компаніях.
Важливим етапом у своїй роботі Моргоч називає появу GitHub Copilot безпосередньо в середовищі розробки. Інструмент дає змогу описати завдання звичайною мовою та отримати готовий фрагмент коду, який фахівець перевіряє перед використанням.
Помилки, які раніше шукали годинами
Моделі штучного інтелекту, навчені на великих масивах коду, за секунди виявляють закономірності, для розпізнавання яких фахівцеві потрібен багаторічний досвід.
За словами Моргоча, раніше пошук помилки міг тривати від кількох хвилин до цілого робочого дня. З використанням штучного інтелекту в окремих випадках цей час скорочується приблизно до хвилини, а під час перевірки інструмент може виявити й інші проблеми в коді. Тепер серйозні збої трапляються вкрай рідко, а майже всі нові версії програм виходять без помилок. Особливої специфіки саме для .NET-систем порівняно з іншими технологіями він не виокремлює.
Оновити чи писати заново
Вирішуючи, оновлювати систему чи переписувати її з нуля, Моргоч керується чітким принципом. «Якщо систему потрібно перевести зі старої мови програмування на нову, її зазвичай доводиться переписувати повністю. В інших випадках я змінюю тільки ті ділянки коду, де використовуються застарілі функції або компоненти. З досвідом я переконався, що поетапне оновлення надійніше. Повне переписування створює більше ризиків і значно збільшує обсяг тестування», - пояснює він. Кінцева вартість кожного варіанта найчастіше залежить від додаткових ризиків і необхідного обсягу тестування.
Приклад із поліграфічної галузі
Розповідаючи про нещодавні проєкти, Моргоч Олег окремо згадує роботу, якою пишається найбільше. «Це був проєкт для поліграфічної галузі, у межах якого ми за допомогою штучного інтелекту перейшли від застарілих технологій до сучасних рішень. Основні зміни стосувалися операційної роботи. Вартість послуг для компаній при цьому залишилася незмінною. Це внутрішнє рішення для великих друкарень, з якими я зараз працюю. Ми не виводимо його на ринок як окремий продукт», - зазначає фахівець.
Йдеться про систему, яка обробляє замовлення на персоналізовані ID-картки для клієнтів медичних страхових компаній. Для кожного замовлення вона визначає тип друку, матеріал, кількість копій і потребу в ламінуванні. Перед пакуванням QR-код на конверті звіряється з кодом на картці, щоб вона потрапила до потрібного отримувача. Будь-яка помилка на цьому етапі може залишити людину без документа, що підтверджує її страхове покриття. Після друку система автоматично закриває замовлення в базі даних і передає інформацію виробничим системам друкарень та ІТ-команді. Наприкінці дня вона також формує щоденні звіти, зокрема перелік замовлень, виконаних із запізненням.
До модернізації друк іноді затримувався, замовлення доводилося закривати вручну, а звіти потребували виправлень. Відтоді фахівці оновили майже всі компоненти системи. У проекті задіяно кілька команд. Одна вибудовує ланцюжок процесів, у якому результат кожного етапу стає вхідними даними для наступного. Моргоч називає таку структуру «лего-проєктом». Інша команда стежить, щоб дані вчасно надходили до поліграфічного підприємства та бригад, які друкують і сортують картки. Їхню роботу координують керівники кількох рівнів. Через велику кількість взаємозалежних процесів систему оновлюють поступово, оскільки зміна одного компонента може вплинути на роботу інших.
Використання штучного інтелекту допомогло завершити перехід на нові технології швидше, ніж планувалося.
Досвід, якого AI не замінює
У роботі зі ШІ Моргоч залишає остаточне рішення за фахівцем. Він визначає допустимі межі змін і оцінює ризики для кожної системи. Оскільки інструмент не завжди враховує весь контекст її роботи, запропонований код потрібно перевіряти перед впровадженням. Багаторічний досвід допомагає визначити, чи не спричинить нове рішення додаткових проблем.
Моргоч Олег очікує, що протягом наступних трьох-п’яти років штучний інтелект скоротить час і вартість модернізації корпоративних систем. Якість результату й надалі залежатиме від фахівців, які оцінюють ризики, перевіряють код і відповідають за внесені зміни.