Захист від сміттєвих AI змін на GitHub. Оцінка впливу вайб-кодингу на екосистему відкритого ПЗ

Камілла Мораєс (Camilla Moraes), менеджер по продукту з компанії GitHub, почала обговорення додавання в GitHub можливості для автоматичного блокування сміттєвих pull-запитів, згенерованих в AI-асистентах, відправлених без ручної перевірки та не відповідних вимогам якості. Подібні зміни створюють додаткове навантаження на супроводжуючих, які змушені витрачати час на розбір марного коду.

Як короткострокові шляхи вирішення проблеми розглядається можливість швидкого видалення pull-запитів через web-інтерфейс (видалення без осідання в історії замість позначки закритими) та використання прав, що налаштовуються на відправлення pull-запитів, що дозволяють власникам репозиторіїв дозволяти передачу змін тільки учасникам, які раніше вносили зміни.

З рішень у довгостроковій перспективі згадується розширення моделі повноважень та надання супровідним інструментів для гнучкого завдання правил, що визначають, хто має право створювати та рецензувати pull-запити та яким вимогам мають відповідати pull-запити. Крім того, пропонується задіяти AI для визначення відповідності відправленої зміни правилам та стандартам якості кожного проекту (наприклад, заданим у файлі CONTRIBUTING.md), а також виявлення та спеціальної позначки змін, підготовлених за допомогою AI.

З висловлених у процесі обговорення пропозицій також можна відзначити створення фільтра, що забороняє відправлення pull-запитів без попереднього відкриття issue-обговорень з поясненням причин реалізації змін, а також інформування супроводжуючих про надходження pull-запитів від новачків лише після успішного проходження тестів у системі безперервної інтеграції.

За статистикою одного з ключових розробників фреймворку genkit лише одна із десяти змін, підготовлених в AI, відповідає критеріям для відкриття pull-запиту. Один із учасників проекту Azure Core Upstream підсумував основні побоювання супроводжуючих:

  • Порушення моделі довіри при рецензуванні — рецензуючі не можуть бути впевнені, що той, хто надіслав зміну, написав переданий код і розуміє його суть.
  • Згенеровані в AI-помічниках pull-запити можуть структурно виглядати коректно, але бути логічно невірними, небезпечними або неперевіреними в роботі.
  • Практика рядкового рецензування залишається обов'язковою, але вона може масштабуватися за умов зростання змін, формованих через AI-асистенти.
  • У супроводжуючих виникає дискомфорт при прийнятті pull-запитів, яких вони не повністю розуміють, тоді як AI-асистенти спрощують передачу великих змін без глибокого розуміння.
  • Підвищується когнітивне навантаження на супроводжуючих, які тепер мають не лише перевіряти код, а й оцінювати те, чи розуміє його автор.
  • Поява AI-інструментів не знизило, а збільшило навантаження на супроводжуючих.

Додатково можна відзначити проведене кількома європейськими університетами дослідження впливу вайб-кодингу на екосистему відкритих проектів. Дослідники розробили модель рівноваги екосистеми відкритого коду, яка показала, що зворотні зв'язки, які раніше відповідали за вибухове зростання відкритих проектів, після поширення вайб-кодингу створюють зворотний ефект — зменшується кількість розробників готових ділитися кодом, скорочується різноманітність відкритих проектів та знижується якість. Одним із варіантів вирішення проблеми згадується впровадження моделі фінансування, що нагадує Spotify, за якої AI‑платформи перерозподіляють доходи від підписок на сервіси для розробників серед супроводжуючих, залежно від ступеня використання проектів.

При вайб-кодингу розробники перестають аналізувати доступні рішення, читати документацію, надсилати повідомлення про помилки та взаємодіяти з командами, що розвивають відкриті бібліотеки. Відкриті проекти втрачають зворотний зв'язок із користувачам. Новим проектам стає складніше пробитися, тому що AI-асистенти самі підбирають необхідні відкриті бібліотеки на основі інформації, яка була на момент навчання моделі. Через зниження прямої взаємодії з користувачами страждає монетизація відритих проектів, зав'язаних на послугах підтримки та показу реклами/зборі пожертв на сайтах. Через зниження зворотного зв'язку страждає якість. З іншого боку, вайб-кодинг підвищує продуктивність праці при створенні нових продуктів, заснованих на чужому коді, та спрощує впровадження нових бібліотек.

Як приклад наведено проект Tailwind CSS, кількість завантажень якого з репозиторію NPM продовжує зростати, але трафік до документації з початку 2023 знизився на 40%, а доходи впали на 80%. Також відмічено зниження активності обговорень на Stack Overflow приблизно на 25% через 6 місяців після запуску ChatGPT.

Захист від сміттєвих AI змін на GitHub. Оцінка впливу вайб-кодингу на екосистему відкритого ПЗЗахист від сміттєвих AI змін на GitHub. Оцінка впливу вайб-кодингу на екосистему відкритого ПЗ


Джерело: opennet.ru
Купити надійний хостинг для сайтів із захистом від DDoS, VPS VDS сервери 🔥 Купити надійний хостинг для сайтів із захистом від DDoS, VPS VDS сервери | ProHoster