Camilla Moraes, produktchef hos GitHub, begyndte en diskussion om at tilføje muligheden for automatisk at blokere junk pull-requests genereret af AI-assistenter, sendt uden manuel kontrol og som ikke opfylder kvalitetskravene. Sådanne ændringer skaber en ekstra byrde for dem, der vedligeholder, og som er tvunget til at bruge tid på at gennemgå ubrugelig kode.
Som kortsigtede løsninger overvejes muligheden for hurtigt at slette pull-requests gennem webgrænsefladen (sletning uden at blive gemt i historikken i stedet for at markeres som lukkede) og brugen af brugerdefinerede rettigheder til at sende pull-requests, der gør det muligt for repository-ejere at tillade overførsel af ændringer kun til deltagere, der tidligere har foretager ændringer.
I forhold til langsigtede løsninger nævnes der en udvidelse af beføjelsesmodellen og at give dem, der vedligeholder, værktøjer til fleksibelt at fastsætte regler om, hvem der har ret til at oprette og gennemgå pull-requests, samt hvilke krav pull-requests skal opfylde. Derudover foreslås det at inddrage AI til at vurdere, om den indsendte ændring opfylder reglerne og kvalitetsstandarderne for hvert projekt (for eksempel angivet i filen CONTRIBUTING.md), samt at identificere og særligt markere ændringer, der er forberedt ved hjælp af AI.
Blandt de forslag, der blev fremsat under diskussionen, kan også nævnes oprettelsen af et filter, der forhindrer indsendelsen af pull-requests uden først at åbne issue-diskussioner med forklaringer på, hvorfor ændringerne implementeres, samt at informere dem, der vedligeholder, om indsendelsen af pull-requests fra nybegyndere kun efter vellykket gennemførsel af tests i det kontinuerlige integreringssystem.
Ifølge statistikker fra en af de centrale udviklere af rammeværket genkit opfylder kun én ud af ti ændringer forberedt i AI kriterierne for at åbne en pull-request. En af deltagerne i Azure Core Upstream-projektet opsummerede de vigtigste bekymringer fra dem, der vedligeholder:
- Overtrædelse af tillidsmodellen under gennemgangen - gennemserne kan ikke være sikre på, at den, der sendte ændringen, har skrevet den sendte kode og forstår dens indhold.
- AI-assistenter genererede pull-anmodninger kan strukturelt se korrekte ud, men være logisk fejlagtige, usikre eller uafprøvede i drift.
- Praksis med linje-for-linjes gennemgang forbliver obligatorisk, men den kan ikke skaleres under væksten af ændringer, der formes af AI-assistenter.
- Det giver ubehag for dem, der følger op, at acceptere pull-anmodninger, som de ikke helt forstår, mens AI-assistenter forenkler overførslen af store ændringer uden dyb forståelse.
- Den kognitive belastning på dem, der følger op, stiger nu, da de ikke kun skal tjekke koden, men også vurdere, om forfatteren forstår den.
- Fremkomsten af AI-værktøjer har ikke reduceret, men øget belastningen på dem, der følger op.
Derudover kan det nævnes, at flere europæiske universiteter har gennemført en undersøgelse om indflydelsen af vibe-coding på økosystemet af åbne projekter. Forskerne udviklede en model for ligevægt i open source-økosystemet, som viste, at de feedback-mekanismer, der tidligere var ansvarlige for den eksponentielle vækst af åbne projekter, skaber en omvendt effekt efter udbredelsen af vibe-coding — antallet af udviklere, der er villige til at dele kode, falder, diversiteten af åbne projekter mindskes, og kvaliteten falder. En af løsningerne nævnes som implementeringen af en finansieringsmodel, der ligner Spotify, hvor AI-platforme omfordeler indtægter fra abonnementer på tjenester til udviklerne blandt dem, der følger op, afhængigt af graden af brug af projekterne.
Ved vibe-kodning stopper udviklerne med at analysere tilgængelige løsninger, læse dokumentation, sende fejlrapporter og interagere med teams, der udvikler åbne biblioteker. Åbne projekter mister feedback fra brugerne. Nye projekter får sværere ved at bryde igennem, da AI-assistenter selv vælger de nødvendige åbne biblioteker baseret på informationen tilgængelig på tidspunktet for modeltræningen. På grund af det nedsatte direkte engagement med brugerne lider monetiseringen af åbne projekter, der er afhængige af supporttjenester og annoncevisning/indsamling af donationer på hjemmesider. Kvaliteten lider under det mindskede feedback. På den anden side øger vibe-kodning produktiviteten i arbejdet med at skabe nye produkter baseret på fremmed kode og forenkler implementeringen af nye biblioteker.
Et eksempel er projektet Tailwind CSS, som fortsat har stigende downloads fra NPM-repositoriet, men trafik til dokumentationen er faldet med 40% siden starten af 2023, og indtægterne er faldet med 80%. Der er også registreret et fald i aktiviteten af diskussioner på Stack Overflow på cirka 25% seks måneder efter lanceringen af ChatGPT.


Kilde: opennet.ru
