Ochrona przed śmieciowymi zmianami AI na GitHubie. Ocena wpływu vibe coding na ekosystem otwartego oprogramowania

Camilla Moraes, menedżer produktu w firmie GitHub, rozpoczęła dyskusję na temat dodania funkcji automatycznego blokowania bezużytecznych pull requestów generowanych przez asystentów AI, które zostały wysłane bez ręcznej oceny i nie spełniają wymogów jakości. Takie zmiany tworzą dodatkowe obciążenie dla opiekunów, którzy muszą poświęcać czas na analizę nieprzydatnego kodu.

Jako krótkoterminowe rozwiązania problemu rozważane są możliwości szybkiego usunięcia pull requestów przez interfejs webowy (usunięcie bez zapisywania w historii zamiast oznaczenia jako zamknięte) oraz zastosowanie konfigurowalnych uprawnień do przesyłania pull requestów, które pozwalają właścicielom repozytoriów na zatwierdzanie zmian tylko uczestnikom, którzy wcześniej wprowadzali zmiany.

Wśród long-term rozwiązaniaw wspomniano o rozszerzeniu modelu uprawnień oraz dostarczeniu opiekunom narzędzi do elastycznego określania zasad, które określają, kto może tworzyć i recenzować pull requesty oraz jakie wymagania muszą spełniać pull requesty. Dodatkowo proponuje się wykorzystanie AI do ustalenia zgodności przesłanej zmiany z zasadami i standardami jakości każdego projektu (np. określonymi w pliku CONTRIBUTING.md), a także do identyfikacji i szczególnego oznaczania zmian przygotowanych za pomocą AI.

Wśród propozycji zgłoszonych w trakcie dyskusji można również zauważyć stworzenie filtru, który zablokuje wysyłanie pull requestów bez wcześniejszego otwarcia dyskusji issue z wyjaśnieniem przyczyn wprowadzania zmian, oraz informowanie opiekunów o nadejściu pull requestów od nowicjuszy tylko po pomyślnym przejściu testów w systemie CI.

Według statystyk jednego z kluczowych deweloperów frameworka genkit, tylko jeden na dziesięć zmian przygotowanych w AI spełnia kryteria do otwarcia pull requestu. Jeden z uczestników projektu Azure Core Upstream podsumował główne obawy opiekunów:

  • Naruszenie modelu zaufania podczas recenzji — recenzenci nie mogą być pewni, że przesyłający zmianę napisał dostarczony kod i rozumie jego istotę.
  • Generowane przez asystentów AI zgłoszenia pull mogą wyglądać na strukturalnie poprawne, ale mogą być logicznie błędne, niebezpieczne lub nieprzetestowane w działaniu.
  • Praktyka przeglądania linii kodu pozostaje obowiązkowa, ale nie może zyskać skali w warunkach zwiększonej liczby zmian generowanych przez asystentów AI.
  • Osoby towarzyszące odczuwają dyskomfort przy przyjmowaniu zgłoszeń pull, których nie rozumieją w pełni, podczas gdy asystenci AI upraszczają przekazywanie dużych zmian bez dogłębnego zrozumienia.
  • Rośnie obciążenie poznawcze osób towarzyszących, które teraz muszą nie tylko sprawdzać kod, ale też oceniać, czy autor go rozumie.
  • Pojawienie się narzędzi AI nie zmniejszyło, a zwiększyło obciążenie osób towarzyszących.

Dodatkowo warto odnotować badanie przeprowadzone przez kilka europejskich uniwersytetów dotyczące wpływu vib-codingu na ekosystem otwartych projektów. Badacze opracowali model równowagi ekosystemu otwartego kodu, który wykazał, że informacje zwrotne, które wcześniej odpowiadały za eksplozję wzrostu otwartych projektów, po rozpowszechnieniu vib-codingu tworzą efekt odwrotny — zmniejsza się liczba programistów gotowych dzielić się kodem, ogranicza się różnorodność otwartych projektów i spada jakość. Jednym z proponowanych rozwiązań problemu jest wprowadzenie modelu finansowania przypominającego Spotify, w którym platformy AI redystrybucują przychody z subskrypcji na usługi dla programistów wśród osób towarzyszących, w zależności od stopnia wykorzystania projektów.

Podczas vibe-coding programiści przestają analizować dostępne rozwiązania, czytać dokumentację, zgłaszać błędy i współpracować z zespołami rozwijającymi otwarte biblioteki. Otwarte projekty tracą kontakt zwrotny z użytkownikami. Nowym projektom jest trudniej zaistnieć, ponieważ asystenci AI sami dobierają potrzebne otwarte biblioteki na podstawie informacji, które miały miejsce w czasie szkolenia modelu. Zmniejszenie bezpośredniego kontaktu z użytkownikami wpływa na monetyzację otwartych projektów, opartych na usługach wsparcia i wyświetlaniu reklam/zbieraniu datków na stronach. Z powodu zmniejszenia informacji zwrotnej cierpi jakość. Z drugiej strony, vibe-coding zwiększa wydajność pracy przy tworzeniu nowych produktów opartych na cudzym kodzie, upraszczając wdrażanie nowych bibliotek.

Przykładem jest projekt Tailwind CSS, którego liczba pobrań z repozytorium NPM wciąż rośnie, ale ruch do dokumentacji od początku 2023 roku spadł o 40%, a przychody zmniejszyły się o 80%. Zauważono także spadek aktywności dyskusji na Stack Overflow o około 25% sześć miesięcy po uruchomieniu ChatGPT.

Ochrona przed śmieciowymi zmianami AI na GitHubie. Ocena wpływu vibe coding na ekosystem otwartego oprogramowaniaOchrona przed śmieciowymi zmianami AI na GitHubie. Ocena wpływu vibe coding na ekosystem otwartego oprogramowania


Źródło: opennet.ru
Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster