Camilla Moraes, product manager di GitHub, ha avviato una discussione sull'aggiunta della funzionalità di blocco automatico dei pull request spazzatura generati dagli assistenti AI, inviati senza revisione manuale e non conformi agli standard di qualità. Queste modifiche creano un carico aggiuntivo per i manutentori, che devono spendere tempo per analizzare codice inutile.
Tra le soluzioni a breve termine considerate c'è la possibilità di eliminare rapidamente i pull request tramite l'interfaccia web (eliminazione senza registrazione nella storia invece di contrassegnarli come chiusi) e l'uso di diritti personalizzati per l'invio di pull request, consentendo ai proprietari dei repository di autorizzare la trasmissione delle modifiche solo a partecipanti che hanno già fatto delle modifiche.
Nelle soluzioni a lungo termine si menziona l'espansione del modello di autorizzazioni e la fornitura di strumenti ai manutentori per definire regole flessibili su chi ha il diritto di creare e revisionare pull request e quali requisiti devono soddisfare i pull request. Inoltre, è proposta l'implementazione di AI per determinare la conformità delle modifiche inviate alle regole e agli standard di qualità di ciascun progetto (ad esempio, quelli definiti nel file CONTRIBUTING.md), oltre a identificare e contrassegnare chiaramente le modifiche preparate con l'aiuto di AI.
Tra le proposte discusse si evidenzia anche la creazione di un filtro che vieti l'invio di pull request senza la preventiva apertura di discussioni issue clarificatorie sui motivi delle modifiche, e l'informazione ai manutentori dell'arrivo di pull request da parte di nuovi partecipanti solo dopo aver superato con successo i test nel sistema di integrazione continua.
Secondo le statistiche di uno dei principali sviluppatori del framework genkit, solo una modifica su dieci preparata dall'AI soddisfa i criteri per l'apertura di una pull request. Un partecipante al progetto Azure Core Upstream ha riassunto le principali preoccupazioni dei manutentori:
- Violazione del modello di fiducia durante la revisione: i revisori non possono essere certi che chi ha inviato la modifica abbia scritto il codice trasmesso e ne comprenda il significato.
- Le pull request generati dagli assistenti AI possono sembrare strutturalmente corretti, ma risultano logicamente errati, insicuri o non verificati nel funzionamento.
- La pratica della revisione linea per linea rimane obbligatoria, ma non può scalare in un contesto di crescita delle modifiche generate dagli assistenti AI.
- Chi accompagna avverte disagio nell'accettare pull request che non comprendono appieno, mentre gli assistenti AI semplificano la trasmissione di grandi modifiche senza una comprensione approfondita.
- Aumenta il carico cognitivo su chi accompagna, che ora deve non solo controllare il codice, ma anche valutare se l'autore lo comprenda.
- L'emergere di strumenti AI non ha ridotto, ma aumentato il carico su chi accompagna.
Inoltre, si può notare uno studio condotto da diverse università europee sull'impatto del vibra-coding sull'ecosistema dei progetti open source. I ricercatori hanno sviluppato un modello di equilibrio per l'ecosistema del codice aperto che ha mostrato come i feedback, che in passato erano responsabili della crescita esplosiva dei progetti aperti, ora creino un effetto opposto dopo la diffusione del vibra-coding: diminuisce il numero di sviluppatori disposti a condividere codice, riduce la diversità dei progetti aperti e abbassa la qualità. Una delle possibili soluzioni al problema menziona l'introduzione di un modello di finanziamento simile a Spotify, in cui le piattaforme AI ridistribuiscono i ricavi dagli abbonamenti ai servizi per gli sviluppatori tra chi accompagna, a seconda del grado di utilizzo dei progetti.
Con la vibrazione del codice, gli sviluppatori smettono di analizzare le soluzioni disponibili, leggere la documentazione, inviare messaggi di errore e interagire con i team che sviluppano librerie aperte. I progetti aperti perdono il feedback degli utenti. I nuovi progetti faticano a emergere, poiché gli assistenti AI selezionano autonomamente le librerie aperte necessarie basandosi sulle informazioni disponibili al momento dell'addestramento del modello. A causa della diminuzione dell'interazione diretta con gli utenti, la monetizzazione dei progetti aperti, legata ai servizi di supporto e alla visualizzazione di pubblicità/raccolta fondi sui siti, ne risente. La mancanza di feedback riduce la qualità. D'altra parte, la vibrazione del codice aumenta la produttività nel creare nuovi prodotti basati su codice esterno e semplifica l'integrazione 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, mentre i ricavi sono calati dell'80%. Si segnala anche una diminuzione dell'attività di discussione su Stack Overflow di circa il 25%, sei mesi dopo il lancio di ChatGPT.


Fonte: opennet.ru
