Актуальність:
Деякі експерти в галузі технологій стверджують, що генеративний ШІ скоро замінить людських розробників програмного забезпечення. Завдяки таким інструментам, як GitHub Copilot, а також стартапам, що використовують ШІ для написання коду, може здатися, що штучний інтелект вже зробив значний вплив на сферу програмування. Однак нове дослідження показує, що ШІ ще має пройти довгий шлях, перш ніж зможе замінити людських програмістів.
ШІ в контексті сучасного програмування
Дослідження компанії Microsoft Research визнає, що хоча сучасні інструменти для написання коду на основі ШІ можуть підвищити продуктивність завдяки рекомендаціям прикладів, вони все ще обмежені у здатності активно шукати нову інформацію або взаємодіяти з виконанням коду в випадках, коли ці рішення не працюють. Тим часом людські розробники регулярно виконують ці завдання під час налагодження, що вказує на значний розрив у можливостях ШІ.
Технологія debug-gym від Microsoft
Microsoft створила нове середовище під назвою debug-gym для дослідження та вирішення цих проблем. Ця платформа дозволяє моделям ШІ тестувати реальні кодові бази з використанням інструментів, подібних до тих, що застосовують розробники, що дозволяє моделювати інформаційно-пошукову поведінку, необхідну для ефективного налагодження.
Microsoft протестувала, наскільки добре простий агент на основі ШІ, створений за допомогою сучасних мовних моделей, може налагоджувати реальний код, використовуючи debug-gym. Результати показали обнадійливі, але все ще обмежені результати. Незважаючи на доступ до інтерактивних інструментів налагодження, агент на основі запитів рідко вирішував більше половини задач у бенчмарках. Це далеке від рівня компетенції, який необхідний для заміни людських інженерів.
Основні проблеми та перспективи ШІ
Дослідження виявляє дві ключові проблеми. Перша: дані для сьогоднішніх великих мовних моделей (LLM) не містять достатньої кількості прикладів типових дій при налагодженні, які є в реальних сесіях налагодження. Друга: ці моделі ще не здатні повністю використовувати інструменти для налагодження з їх максимальною ефективністю.
«Ми вважаємо, що це пов’язано з нестачею даних, що представляють послідовну поведінку при прийнятті рішень (наприклад, сліди налагодження) у поточному навчальному корпусі LLM», — зазначили дослідники.
Майбутнє ШІ в розробці програмного забезпечення
Звичайно, штучний інтелект швидко розвивається. Microsoft вірить, що мовні моделі можуть стати набагато потужнішими налагоджувачами за умови правильного тренування з фокусом на розв’язування проблем в області налагодження. Один з підходів, який пропонують дослідники, полягає в створенні спеціалізованих навчальних даних, що фокусуються на процесах налагодження та траєкторіях. Наприклад, вони пропонують створити модель «info-seeking», яка збирає релевантний контекст для налагодження та передає його більшій моделі для генерації коду.
ШІ як помічник, а не заміна
Ширші результати досліджень збігаються з попередніми дослідженнями, що показують, що хоча ШІ іноді може генерувати функціональні додатки для конкретних завдань, створений код часто містить помилки та вразливості. До того часу, поки штучний інтелект не зможе виконувати цю основну функцію розробки програмного забезпечення, він залишатиметься помічником, а не повною заміною людських інженерів.