Camilla Moraes, product manager at GitHub, ha avviato una discussione sull'aggiunta a GitHub della possibilità di bloccare automaticamente le pull request spazzatura generate da assistenti AI, inviate senza una revisione manuale e non conformi agli standard di qualità. Queste modifiche creano un carico aggiuntivo per i manutentori, che devono spendere tempo a esaminare codice inutile.
Come soluzioni a breve termine al problema, si sta considerando la possibilità di eliminare rapidamente le pull request tramite l'interfaccia web (rimozione senza lasciare traccia nella cronologia invece di contrassegnarle come chiuse) e l'uso di permessi personalizzati per l'invio delle pull request, consentendo ai proprietari dei repository di autorizzare la trasmissione delle modifiche solo a contributori che hanno già effettuato modifiche in precedenza.
Tra le soluzioni a lungo termine si menziona l'espansione del modello di autorizzazione e la fornitura di strumenti ai collaboratori per definire in modo flessibile le regole che stabiliscono chi ha il diritto di creare e revisionare pull request e quali requisiti devono rispettare le pull request. Inoltre, si propone di utilizzare l'IA per verificare la conformità delle modifiche inviate alle regole e agli standard di qualità di ciascun progetto (ad esempio, quelli definiti nel file CONTRIBUTING.md), nonché per identificare e segnare in modo specifico le modifiche preparate con l'ausilio dell'IA.
Tra le proposte emerse durante la discussione, si può anche notare la creazione di un filtro che impedisce l'invio di pull request senza prima aprire una issue di discussione con una spiegazione delle motivazioni per la realizzazione delle modifiche, nonché informare i collaboratori sull'arrivo di pull request da parte di nuovi partecipanti solo dopo il superamento con successo dei test nel sistema di integrazione continua.
Secondo le statistiche di uno dei principali sviluppatori del framework genkit, solo 1 modifica ogni 10 preparate in AI soddisfa i criteri per l'apertura di una pull request. Uno dei partecipanti al progetto Azure Core Upstream ha riassunto i principali timori dei manutentori:
- La violazione del modello di fiducia durante la revisione: i revisori non possono essere certi che chi ha inviato la modifica abbia scritto il codice fornito e ne comprenda il contenuto.
- Le pull request generate dagli assistenti AI possono sembrare strutturalmente corrette, ma essere logicamente errate, insicure o non verificate nel funzionamento.
- La pratica della revisione riga per riga rimane obbligatoria, ma non può essere scalata in un contesto di crescita delle modifiche generate attraverso gli assistenti AI.
- I manutentori provano disagio nell'accettare pull request che non comprendono completamente, mentre gli assistenti AI semplificano la trasmissione di grandi modifiche senza una comprensione approfondita.
- Aumenta il carico cognitivo sui manutentori, che ora devono non solo controllare il codice, ma anche valutare se l'autore ne comprende il funzionamento.
- L'emergere degli strumenti AI non ha ridotto, ma aumentato il carico sui manutentori.
Si può inoltre notare uno studio condotto da alcune università europee sull'impatto del vibe coding sull'ecosistema dei progetti open source. I ricercatori hanno sviluppato un modello di equilibrio per l'ecosistema del codice aperto, che ha dimostrato che i feedback, un tempo responsabili della crescita esponenziale dei progetti open source, dopo la diffusione del vibe coding creano un effetto opposto: diminuisce il numero di sviluppatori disposti a condividere codice, riduce la diversità dei progetti aperti e abbassa la qualità. Una delle soluzioni proposte è l'implementazione di un modello di finanziamento simile a Spotify, in cui le piattaforme AI ridistribuiscono le entrate dagli abbonamenti ai servizi per gli sviluppatori in base al grado di utilizzo dei progetti.
Con la vibra coding, gli sviluppatori smettono di analizzare le soluzioni disponibili, di leggere la documentazione, di inviare messaggi di errore e di interagire con i team che sviluppano librerie open source. I progetti aperti perdono il feedback degli utenti. I nuovi progetti trovano più difficile emergere, poiché gli assistenti AI selezionano autonomamente le librerie open source necessarie sulla base delle informazioni disponibili al momento dell'addestramento del modello. La monetizzazione dei progetti aperti, che si basa su servizi di supporto e sull'esposizione di pubblicità/raccolta fondi sui siti, ne risente a causa della mancanza di interazione diretta con gli utenti. La qualità ne risente a causa della diminuzione del feedback. D'altra parte, la vibra coding aumenta la produttività nella creazione di nuovi prodotti basati su codice di terzi e semplifica l'adozione di nuove librerie.
Un esempio è il progetto Tailwind CSS, il numero di download dal repository NPM continua a crescere, ma il traffico verso la documentazione è diminuito del 40% dall'inizio del 2023, e i ricavi sono scesi dell'80%. È stata inoltre osservata una diminuzione dell'attività delle discussioni su Stack Overflow di circa il 25%, sei mesi dopo il lancio di ChatGPT.


Fonte: opennet.ru
