Camilla Moraes, manager de produs la GitHub, a inițiat o discuție despre adăugarea pe GitHub a unei funcționalități de blocare automată a pull request-urilor inutile generate de asistenți AI, care sunt trimise fără verificare manuală și nu respectă standardele de calitate. Astfel de modificări creează o povară suplimentară pentru mentori, care sunt obligați să-și petreacă timpul analizând codul inutil.
Printre soluțiile pe termen scurt, se consideră posibilitatea de a șterge rapid pull request-urile prin interfața web (ștergerea fără a fi păstrată în istorie, în loc de a fi marcate ca închise) și utilizarea drepturilor personalizabile de a trimite pull request-uri, permițând proprietarilor de depozite să permită transmiterea modificărilor doar participanților care au contribuit anterior.
Printre soluțiile pe termen lung se menționează extinderea modelului de autoritate și oferirea de instrumente mentorilor pentru a defini reguli flexibile care stabilesc cine are dreptul de a crea și revizui pull request-uri și ce cerințe trebuie să respecte acestea. De asemenea, se propune utilizarea AI pentru a determina conformitatea modificărilor trimise cu regulile și standardele de calitate ale fiecărui proiect (de exemplu, specificate în fișierul CONTRIBUTING.md), precum și identificarea și marcarea specială a modificărilor realizate cu ajutorul AI.
Printre propunerile exprimate în timpul discuției se remarcă și crearea unui filtru care să interzică trimiterea pull request-urilor fără deschiderea anterioară a discuțiilor issue, cu explicația motivelor implementării modificărilor, precum și informarea mentorilor despre sosirea pull request-urilor de la începători doar după ce acestea au trecut cu succes testele din sistemul de integrare continuă.
Conform statisticilor unuia dintre dezvoltatorii esențiali ai framework-ului genkit, doar una din zece modificări pregătite de AI respectă criteriile pentru deschiderea unui pull request. Unul dintre participanții proiectului Azure Core Upstream a rezumat principalele temeri ale mentorilor:
- Încălcarea modelului de încredere în revizuire — revizorii nu pot fi siguri că cel care a trimis modificarea a scris codul trimis și înțelege esența acestuia.
- Pull request-urile generate de asistenții AI pot arăta structurativ corecte, dar pot fi logic incorecte, nesigure sau neverificate în funcționare.
- Practicile de revizuire linie cu linie rămân obligatorii, dar nu pot fi escaladate în condițiile creșterii modificărilor generate de asistenții AI.
- Colaboratorii simt disconfort atunci când acceptă pull request-uri pe care nu le înțeleg complet, în timp ce asistenții AI simplifică transmiterea unor modificări mari fără o înțelegere profundă.
- Se mărește încărcătura cognitivă asupra colaboratorilor, care acum trebuie să verifice nu doar codul, ci și să evalueze dacă autorul său îl înțelege.
- Apariția instrumentelor AI nu a redus, ci a crescut sarcina asupra colaboratorilor.
Se poate menționa, de asemenea, un studiu realizat de mai multe universități europene privind influența vibrațiilor codului asupra ecosistemului proiectelor open source. Cercetătorii au dezvoltat un model de echilibru pentru ecosistemul codului deschis, care a arătat că feedback-urile, anterior responsabile pentru creșterea explozivă a proiectelor open source, creează un efect invers după răspândirea vibrațiilor codului - numărul dezvoltatorilor dispuși să împărtășească cod scade, diversitatea proiectelor open source se reduce, iar calitatea acestora scade. O soluție menționată pentru problemă este implementarea unui model de finanțare similar cu Spotify, în care platformele AI redistribuie veniturile din abonamentele la servicii pentru dezvoltatori printre colaboratori, în funcție de gradul de utilizare a proiectelor.
În cazul codificării pe vibrații, dezvoltatorii încetează să analizeze soluțiile disponibile, să citească documentația, să trimită rapoarte de erori și să interacționeze cu echipele care dezvoltă biblioteci deschise. Proiectele deschise pierd feedback din partea utilizatorilor. Proiectele noi devin mai greu de lansat, deoarece asistenții AI selectează singuri bibliotecile deschise necesare pe baza informațiilor disponibile la momentul antrenării modelului. Din cauza scăderii interacțiunii directe cu utilizatorii, monetizarea proiectelor deschise, legate de servicii de suport și de afișarea publicității/strângerea de fonduri pe site-uri, are de suferit. Scăderea feedback-ului afecta și calitatea. Pe de altă parte, codificarea pe vibrații crește productivitatea muncii în crearea de produse noi bazate pe cod străin și simplifică integrarea de biblioteci noi.
Un exemplu este proiectul Tailwind CSS, al cărui număr de descărcări din repositoarele NPM continuă să crească, dar traficul către documentație a scăzut cu 40% de la începutul anului 2023, iar veniturile au scăzut cu 80%. De asemenea, s-a observat o scădere a activității discuțiilor pe Stack Overflow de aproximativ 25%, la șase luni după lansarea ChatGPT.


Sursa: opennet.ro
