Io e l'IA: breve storia di una revisione
In queste settimane di ferie ho cercato di approfondire l'impatto ecologico dell'IA, quello socioeconomico, i grandi modelli di linguaggio liberi, fino a quanto sono liberi e i rapporti dell'ONU su IA e clima. Tra gli articoli più interessanti c'è stato quello sulle aziende videoludiche che credono che i loro problemi si risolvano con l'IA (spoiler: non c'entra niente) e il blog di Wim Vanderbauwhede, docente di informatica all'università di Glasgow, che tratta di sostenibilità ambientale informatica (spoiler: c'è da piangere).
In un momento pazzerello, volendo valutare il consumo di un'IA, me ne sono fatta consigliare una adatta allo scopo (DeepSeek V4 Flash) e ho deciso di metterla alla prova con un compito abbastanza arduo: prendere un bel malloppo di codice e chiedergli di farmi una revisione. Quanti errori trova? Quali fanno esplodere tutto, quali sono minuzie? Quanta energia consuma per portare a termine il compito?
Ora, il malloppo in questione deve essere qualcosa che conosco molto bene, perché sennò non mi è possibile stabilire se l'IA sta allucinando o se dice cose sensate. Ho quindi optato per arena_lib, una libreria per Luanti che serve a creare minigiochi di varie tipologie. Per intenderci, offre così tante funzionalità che il rischio che attivarne più insieme possa far detonare qualcosa è, ehm... palpabile. Sono circa 13.000 righe di codice e, bonus, l'ho scritta io.
Avanti veloce e l'analisi è chiara: ci sono 65 errori e sono stati usati 100 mila gettoni (non scriverò token perché almeno danno l'idea di un prezzo da pagare). Iniziamo dai gettoni: quante foreste pluviali ho abbattuto? Battute a parte, il consumo dipende da tanti fattori e sarei un ipocrita a dire che li ho capiti tutti perché mi sono stati tirati addosso così tanti tecnicismi in inglese che il mio cervello non è ancora pronto. Chiedo delucidazioni a un motore di ricerca; niente. Chiedo a un'altra IA (l'ironia); niente. Ne consulto una diversa, modalità "ragionamento" (pazzissimo); niente. Parlano al massimo di stime, perché DeepSeek non pubblica dati ufficiali di efficienza energetica, il modello è nuovo e... altre cose complesse. Tornando alle stime, la prima IA dice che potrebbe equivalere a 3 km percorsi con una macchina a benzina. La seconda invece a 8 metri. Sono francamente molto confuso e ritorno a non capirci nulla - con almeno la consolazione di non aver inquinato come un jet privato dalla mia tenera postazione di casa (anche se in verità è l'unione che fa "la forza": più i modelli diventano usufruibili, più la gente li usa e più si inquina tutt'insieme. In altre parole: 🎉)
Venendo invece agli errori, ho effettivamente dei dati - che già mi stavano venendo i sensi di colpa a farvi leggere 'sta roba. Dopo cinque giorni passati a spulciarli uno a uno, il resoconto è il seguente. Su 65 errori:
- ✅ 30 erano tali
- 🤚 15 mancavano il punto
- ❌ 20 erano allucinazioni
Sommando le volte in cui l'IA non ha compreso il contesto (15) con quelle in cui ha inventato di sana pianta (20), si ha un totale di 35 errori dell'IA contro 30 errori umani. L'IA ha sbagliato il 53,8% delle volte, più di una volta su due¹.
Per me l'articolo potrebbe finire qui: un modello nuovo di pacca adatto per la programmazione sbaglia più di una volta su due. Il che non è un dramma di per sé, alla fine l'ho usato (mi auguro) con cognizione di causa e ho revisionato io a mano ciò che mi aveva segnalato. Da solo chissà quanto tempo mi avrebbe richiesto trovare anche solo la metà degli errori che ho sistemato. Inoltre nel mentre ho trovato altri 6 errori che erano sfuggiti alla macchina. Alla fine è stato un po' come risolvere degli enigmi e da una parte mi sono davvero divertito.
Il mio problema nasce quando si assiste a un continuo martellamento di gente indottrinata da un'industria multimiliardaria palesemente in cerca di investimenti che va a dire al mondo che ormai i programmi non si fanno più a mano, che le macchine li faranno per noi, che mi devo trovare un altro mestiere per venire valorizzato e simili (per poi dirti che se sbagli è colpa tua che non hai usato l'impostazione esoterica corretta, che questo e quell'altro). La propaganda tecnottimista mi urta terribilmente.
Immaginiamo se io non avessi avuto le competenze per capire se l'IA avesse ragione o meno e le avessi detto di aggiustare tutti i problemi trovati: quello sarebbe stato il primo passo per generare quella che viene definita poltiglia IA: un prodotto dell'IA "considerato di qualità scadente e/o insignificante, finalizzato a ottenere grande visibilità o che ha lo scopo di ottenere guadagni economici" (dalla pagina Wikipedia). Nel caso della programmazione, un minestrone senz'anima con la tendenza a essere reso inutilmente complicato. Basti pensare che avrebbe "aggiustato" 35 problemi che neanche esistevano. E sarebbe stata solo la prima iterazione: con l'aumentare delle revisioni, il livello di entropia e di illeggibilità sarebbe andato ad aumentare. Ancora più importante, sarebbe aumentato il livello di immantenibilità.
Come descritto nell'articolo sul mondo videoludico citato all'inizio, l'IA si è rivelata molto utile per realizzare prototipi di videogiochi: posso generarne vari e in poco tempo, capendo rapidamente se un'idea funziona o meno. Ma, come ribadito nell'articolo, quando ho trovato l'idea, il prototipo fatto dall'IA lo devo cestinare e farmelo da solo. Perché sennò ci si ritrova a usare come base solida una poltiglia instabile e la tragedia sul lungo corso è garantita.
Forse ho voluto fare quest'esperimento per capire se davvero la macchina mi avrebbe tolto il piacere di scrivere codice per dare forma alle cose. E quello che ho trovato è un po' l'equivalente di chi non sa disegnare e si fa fare l'illustrazione per la fiera di paese dall'IA. Perlomeno se le si lascia il timone.
Credo continuerò a usare questo strumento per far delle revisioni ogni due-tre anni dei grandi progetti che mantengo; come detto prima, l'ho trovato molto utile. Per quello che ne sarà del fenomeno dell'IA invece, ci sarebbe così tanto da dire e così tanto su cui vorrei ancora informarmi (prossima tappa: uso bellico), che non basterebbero altri venti paragrafi. E poi, 'sto papirazzo l'ho scritto a mano: mica ho tutto 'sto tempo 😛
¹Prima che: "EH MA IL POMPT SUGHI, L'AI FATTO IL CICLO DI VERIFIKA-". No. Non ho ovviamente messo come istruzione "ue ciao, trovami gli errori", ma neanche stare a imbastire una struttura chiaramente sovraingegnerizzata per lo scopo.