Зображення для допису 65.jpg
Штучний інтелект автоматизує все, і чи може він замінити програмістів? Фото: Midjourney

Група дослідників щойно опублікувала вичерпну карту викликів, з якими стикається штучний інтелект (ШІ) у сфері розробки програмного забезпечення, та запропонувала дорожню карту досліджень для подальшого розвитку цієї галузі.

Уявіть собі майбутнє, де ШІ непомітно візьме на себе виснажливі завдання розробки програмного забезпечення: рефакторинг складного коду, міграцію застарілих систем та відстеження помилок, пов'язаних з расовою приналежністю, щоб розробники програмного забезпечення могли повністю зосередитися на архітектурі системи, дизайні та творчих проблемах, які машини ще не можуть вирішити. Нещодавні досягнення в галузі ШІ, здається, дуже наблизили це бачення до реальності.

Однак нове дослідження, проведене вченими Лабораторії комп'ютерних наук та штучного інтелекту Массачусетського технологічного інституту (CSAIL) та партнерськими дослідницькими інститутами, показало, що для реалізації цього майбутнього ми повинні спочатку зіткнутися з цілком реальними викликами сьогодення.

«Багато людей кажуть, що програмісти більше не потрібні, бо штучний інтелект автоматизував усе», – поділився професор Армандо Солар-Лезама, викладач електротехніки та інформатики в Массачусетському технологічному інституті, старший науковий співробітник CSAIL та провідний автор дослідження. «Насправді ми досягли дуже значного прогресу. Інструменти, які ми маємо зараз, набагато потужніші, ніж раніше. Але щоб досягти повного потенціалу автоматизації, ще багато чого потрібно зробити».

Професор Армандо Солар-Лезама стверджує, що сучасне поширене уявлення спрощує розробку програмного забезпечення до завдання, подібного до студентського програмного завдання: отримання невеликого завдання з функції та написання коду для її обробки або виконання завдання в стилі LeetCode. Тим часом реальність набагато складніша: від рефакторингу коду для оптимізації дизайну до масштабних міграцій мільйонів рядків коду з COBOL на Java, які фундаментально змінюють технологічну платформу компанії.

Вимірювання та комунікація залишаються складними проблемами.

Оптимізацію коду в промисловому масштабі, таку як налаштування ядра графічного процесора або багаторівневі покращення в Chrome V8, залишається важко оцінити. Поточні бенчмарки в основному зосереджені на невеликих, комплексних проблемах. Найбільш практичний показник, доступний наразі, SWE-Bench, просто вимагає моделі штучного інтелекту для виправлення помилки на GitHub, що еквівалентно низькорівневому програмуванню, що включає кілька сотень рядків коду, з потенційною можливістю витоку даних та ігнорує безліч інших реальних сценаріїв, таких як рефакторинг за допомогою штучного інтелекту, людино-машинне програмування або переписування високопродуктивних систем з мільйонами рядків коду. Доки бенчмарки не будуть розширені, щоб охопити сценарії з вищим ризиком, вимірювання прогресу, а отже, і його стимулювання, залишатиметься відкритим завданням.

Крім того, комунікація між людиною та машиною також є серйозною перешкодою. Провідний автор Алекс Гу, аспірант, заявив, що наразі взаємодія зі штучним інтелектом схожа на «тонку нитку зв'язку». Коли він просить ШІ згенерувати код, він часто отримує великі, неструктуровані файли разом із кількома простими та рудиментарними тестовими випадками. Ця прогалина також очевидна в нездатності ШІ ефективно використовувати програмні інструменти, знайомі людям, такі як налагоджувачі та статичні аналізатори.

Заклик до дії від громади.

Автори стверджують, що для вирішення цих проблем не існує чарівної палички, і закликають до зусиль у масштабі спільноти: створення даних, які відображають фактичний процес розробки програмістів (який код зберігається, який відкидається, як код рефакторується з часом тощо), спільні інструменти оцінки якості рефакторингу, стійкості патчів та точності переходів системи; а також створення прозорих інструментів, які дозволяють ШІ виражати невизначеність та запрошувати втручання людини.

Аспірант Алекс Гу розглядає це як «заклик до дії» для масштабних спільнот відкритого коду, чого не може досягти жодна окрема лабораторія. Солар-Лезама передбачає прогрес, який досягається завдяки невеликим, взаємопідсилюючим крокам – «результатам досліджень, які послідовно вирішують частини проблеми» – тим самим перетворюючи ШІ з «інструменту рекомендацій коду» на справжнього інженерного партнера.

«Чому це важливо? Програмне забезпечення зараз є основою фінансів, транспорту, охорони здоров’я та кожної повсякденної діяльності. Але людські зусилля щодо його безпечної розробки та підтримки стають вузьким місцем», – поділився Гу. «Штучний інтелект, який може впоратися з важкою роботою, не створюючи прихованих помилок, дозволить програмістам зосередитися на креативності, стратегії та етиці. Але щоб досягти цього, ми повинні розуміти, що завершення коду – це лише легка частина, а складна частина криється в усьому іншому».

(Адаптовано з новин MIT)

Джерело: https://vietnamnet.vn/hanh-trinh-dai-cua-ai-trong-ky-thuat-phan-mem-tu-dong-hoa-2426456.html