Cassandra Crossing/Intelligenza Artificiale: il Programmatore pericoloso.

(528) — E’ vero che le Intelligenze Artificiali sono ottimi programmatori?

10 gennaio 2023 — D’accordo, non ci sono dubbi, l’”Intelligenza Artificiale” funziona bene come autocompletamento per gli editor di scrittura del software.

Certamente molto meglio del tanto strombazzato quanto famigerato T9, in tempi lontani pericoloso incasinatore di SMS.

Ma per l’ecosistema del software, che ormai permea tutta la realtà, la falsa “Intelligenza Artificiale” costituisce un pericolo. Sia per il software che per le persone che ci lavorano.

Cassandra, catastrofica come al solito!” diranno tutti i lettori, escluso, speriamo, i 24 incrollabili.

Bene, per questo motivo il tono della vostra profetessa preferita sarà oggi particolarmente formale, per meglio dimostrare questa sua tesi.

Inizierà quindi con l’esporre quali sono i due effetti perversi che l’applicazione delle tecniche di falsa “Intelligenza Artificiale” allo sviluppo del software genererà; e terminerà enunciando che, come due onde che si rinforzano reciprocamente, questi due fenomeni potranno provocare un vero e proprio tsunami nell’ecosistema del software.

Nei due precedenti articoli di questa serie, “Sortilegio” e “Potere”, è stato enunciato il fatto che le false “Intelligenze Artificiali”, che utilizzano tecniche di “Deep Learning”, pur alimentate con buona parte della cultura del mondo, non possono comprendere niente e non possono imparare niente.

Ora, cosa succederà quando programmatori, già spesso non eccessivamente competenti, stressati da scadenze impossibili e che lavorano su vecchi codici di bassa qualità (insomma la grandissima maggioranza dei programmatori attuali), inizieranno ad usare programmi che autocompletano molte linee di codice in maniera automatica ed in un colpo solo (come Github Copilot), o che addirittura generano codice rispondendo ad una descrizione delle sue funzionalità espressa in linguaggio naturale (come chatGPT)?

Elementare Watson”, accadrà che li utilizzeranno in maniera massiccia, per risparmiare lavoro e rispettare le scadenze.

Ed in effetti, per quanto riguarda la generazione di software, le false “Intelligenze Artificiali” sono più “brave” che in altri campi.

Ma questo è del tutto logico.

Per le false “Intelligenze Artificiali”, scrivere codice è più facile, in quanto si tratta di generare un output in un linguaggio di programmazione, cioè in un linguaggio formalizzato, chiuso e privo di ambiguità. Lasciate perdere qui le finezze di Gödel.

Molto, anzi immensamente più difficile per le false “Intelligenze Artificiali” è raccontare una storia, scrivere un articolo o comporre una poesia. Qui le loro prestazioni, dopo un’iniziale effetto “Wow”, evidenziano immediatamente i loro limiti strutturali.

Ma anche nel campo del software, dove le loro prestazioni sono migliori, i limiti di fondo restano.

Esse hanno digerito, tra altre cose, una buona parte del software mai scritto al mondo, ma non hanno “imparato” a programmare, e non “conoscono” la programmazione. Sanno solo trovare la parola (in questo caso l’istruzione) che meglio si adatta alle precedenti, e sanno solo riprodurre quanto hanno digerito.

Exploit come scrivere in Python un semplice algoritmo espresso (bene) in linguaggio naturale, e rifarlo poi facilmente anche in COBOL, sono le cose più “facili” in cui una falsa “Intelligenza Artificiale” possa cimentarsi. Anche se è accaduto che un programmatore di software vedesse così “riemergere” il suo stesso codice, commenti e nomi di variabili compresi.

Ma cosa possiamo dire della correttezza del software così ottenuto? Della sua sicurezza? Della sua qualità?

Chiunque abbia mai lavorato nell’industria del software sa perfettamente che appena un codice sorgente compila e riesce a girare i casi di prova diventa quasi immediatamente un “prodotto”, e viene rilasciato appena possibile, sempre troppo presto, tanto c’è l’onnipresente “…senza nessuna garanzia, esplicita od implicita ...

E saprebbe anche rispondere facilmente alla domanda se i programmatori, useranno oppure no le energie così risparmiate per esercitare il loro senso critico ai massimi livelli, al fine di scovare non solo gli errori introdotti da loro stessi, ma anche quelli inseriti dalle false “Intelligenze Artificiali”.

Questi errori saranno probabilmente ancora più difficili da trovare, in quanto il codice generato da una falsa “Intelligenza Artificiale” sarà per sua stessa natura “molto simile” ad un codice perfetto.

Simile”. Non basta! Il codice è legge, come diceva Lawrence Lessig, e la legge dovrebbe tendere alla perfezione.

Cassandra profetizza invece, senza grande sforzo, che questa aumentata produttività verrà spesa per utilizzare programmatori con competenze minori, e fargli produrre di più, come polli da allevamento.

In fondo in fondo, all’industria del software un buon programmatore, uno che scrive codice di qualità, magari originale, e che cerca di prevenire problemi e correggere specifiche approssimative, ha sempre dato fastidio. Gli era talvolta necessario, ma dava fastidio.

Un tale individuo tende a produrre meno codice, a non rispettare scadenze irrealistiche pur di fare un buon lavoro, magari persino a pretendere di essere pagato bene. Si dice persino che, nei casi più gravi, possa essere sorpreso a lavorare in maniera “etica”.

Non sia mai! Il sogno dell’industria del software è far scomparire questo tipo di programmatori, anzi far scomparire proprio la programmazione stessa.

In questo modo la produzione del software potrà essere affidata a legioni di miti, disciplinate e soprattutto sostituibili “scimmie da tastiera”, che verranno ovviamente pagate in noccioline, e quindi faranno una bellissima figura nei bilanci delle aziende, e ne renderanno felici sia i dirigenti che gli azionisti.

Ma il codice così realizzato funzionerà? Certo che funzionerà, funzionerà come quello prodotto oggi, cioè il minimo indispensabile, tanto ci sono gli utenti che trovano gli errori e che sono sempre pronti a pagare l’assistenza od a comprare la nuova versione. Ed agli errori davvero grossi porranno rimedio le clausole contrattuali e le compagnie assicurative.

E così la globalizzazione della miseria farà un altro passo avanti, le sonde interplanetarie continueranno a fare buchi su pianeti sempre più lontani, le macchine per la radioterapia continueranno a far buchi nella testa dei pazienti, i missili a far buchi negli aerei civili, i robot assassini a riempire di buchi le persone anche quando non dovrebbero.

Business as usual” potranno invece dire, in maniera cinica ma del tutto normale, poche ma molto contente “Intelligenze Naturali”.

Scrivere a CassandraTwitterMastodon
Videorubrica “Quattro chiacchiere con Cassandra”
Lo Slog (Static Blog) di Cassandra
L’archivio di Cassandra: scuola, formazione e pensiero

Licenza d’utilizzo: i contenuti di questo articolo, dove non diversamente indicato, sono sotto licenza Creative Commons Attribuzione — Condividi allo stesso modo 4.0 Internazionale (CC BY-SA 4.0), tutte le informazioni di utilizzo del materiale sono disponibili a questo link.

--

--

Free Software Foundation member, Progetto Winston Smith, convegno e-privacy, Cassandra Crossing, ONIF, MEP mancato del PP-IT, Nabaztag @calamarim@mastodon.uno

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Marco A. L. Calamari

Free Software Foundation member, Progetto Winston Smith, convegno e-privacy, Cassandra Crossing, ONIF, MEP mancato del PP-IT, Nabaztag @calamarim@mastodon.uno