Puoi tenere il tuo lavoro, ma non sarà lo stesso lavoro

Il tuo lavoro cambierà

Recentemente ho dedicato tre articoli al mio studio riluttante per l’esame di Java OCP-17, offrendo consigli su come rendere lo sforzo meno faticoso. Non l’ho ancora superato. Con ogni nuovo progresso nell’assistenza alla codifica dell’IA, affinare le tue abilità come compilatore umano mi sembra sempre più anacronistico. È sempre stato un atto di masochismo, ma sono sempre più convinto che non ci sia alcun vantaggio professionale nel diventare bravi in qualcosa in cui la macchina è superiore. Ammetto che ogni attività può essere utile o piacevole per ragioni diverse dall’utilità pura, ma come sviluppatore, sono pagato per essere produttivo. Divertirsi sul lavoro è un bonus, e le competenze richieste dall’OCP non sono il mio concetto di divertimento.

Molte attività intellettuali che sono difficili per gli esseri umani sono facili per i computer (scacchi, aritmetica, apprendimento meccanico) e sono state così per decenni. Abbiamo inventato linguaggi di programmazione di alto livello e il garbage collecting perché gli esseri umani sono terribili nel manipolare i bit e gestire la memoria. La roadmap dei linguaggi di programmazione e degli strumenti informatici va verso un’astrazione sempre maggiore. GitHub Copilot e simili sono solo il prossimo passo inevitabile per eliminare la complessità accidentale.

Gli ottimisti della tecnologia come Marc Andreessen credono che l’IA salverà il mondo. Leggi il suo saggio, ma considera anche che è un miliardario le cui comodità sono al sicuro dalle rivoluzioni nel mercato del lavoro degli sviluppatori. Tu ed io, con un mutuo da pagare e qualche anno prima del pensionamento, dobbiamo chiederci come possiamo mantenere le nostre competenze diversi passi avanti, preferibilmente in una nicchia che l’IA non può mai intaccare. Esiste una tale nicchia, e rimarrà fuori dalla portata per molto tempo? Io credo di sì. È nell’ambito del linguaggio umano. Gli esseri umani hanno ancora un enorme vantaggio competitivo. Di questo tratta questo articolo. Non nego di essere impressionato da ChatGPT e Google Translate, ma come ex traduttore, non sono preoccupato che possano sostituirci.

I Cylon Non Parlerebbero Mai Inglese

Si potrebbe presumere che i computer senzienti in una galassia lontana parlino una qualche forma di linguaggio informatico tra di loro. Da giovani appassionati di fantascienza, io e mio fratello siamo stati molto serviti dalla televisione olandese alla fine degli anni settanta: Star Trek, Buck Rogers, Blake’s 7 e il più goffo di tutti, l’originale Battlestar Galactica. Essendo i brillanti preadolescenti che eravamo, abbiamo subito notato le gravi lacune di design nella malvagia razza di robot Cylon. Oltre alle loro abilità di volo francamente patetiche, perché, per l’amor di Zeus, queste frigorifere comunicano in inglese americano tra di loro!? Alla velocità di due sillabe al secondo e utilizzando onde sonore. Nessuna intelligenza generale si svilupperebbe in una direzione così maldestra e antropocentrica.

Nel suo saggio, Andreessen dà la seguente descrizione dell’IA: L’applicazione di matematica e codice software per insegnare ai computer come comprendere, sintetizzare e generare conoscenza in modo simile a come lo fanno le persone.

Questo suona plausibile, ma il funzionamento interno di qualsiasi IA non è affatto simile a come lo fanno le persone. Un algoritmo degli scacchi non emula ciò che accade nel cervello di Magnus Carlsen. Ottiene un effetto simile (ora superiore) per forza computazionale, utilizzando grandi quantità di energia. Tutte le nostre invenzioni richiedono molta energia rispetto alle funzioni biologiche che emulano. Gli aeroplani non imitano il modo in cui volano gli uccelli. Non puoi trasportare 300 vacanzieri più i loro bagagli sbattendo le ali. Quindi, abbiamo inventato potenti eliche e motori a reazione, che funzionano meglio con materiali rigidi e non biologici.

I grandi modelli di linguaggio sono molto più spreconi e meno efficaci di un motore degli scacchi perché le regole del gioco sono molto più complesse. Va bene. Basta esporlo a più dati di origine e la legge di Moore farà il resto. Ma l’esposizione a più dati non è la soluzione qui. Il linguaggio umano è inafferrabile per le macchine perché è usato dagli esseri umani per gli esseri umani. I neonati non lo acquisiscono essendo rinchiusi in una biblioteca per un anno, ma lo usano in contesto per scopi molto specifici e urgenti, come chiedere il latte o un cambio di pannolino, fino ad arrivare a utilizzi più sofisticati come una trattativa salariale 25 anni dopo. L’IA non coglie affatto quel contesto e non ha uno scopo del genere.

Grammatica Universale

Potrebbe essere necessaria una breve lezione di linguistica. Storicamente, lo studio della lingua apparteneva alla facoltà di lettere delle università. Gli studiosi studiavano letteratura, antichi testi e dialetti e compilavano grammatiche e dizionari per le lingue minoritarie. Nel XX secolo (in particolare attraverso le opere di Noam Chomsky) gli scienziati si sono interessati a ciò che è unico nella capacità umana del linguaggio e hanno iniziato a porsi nuove domande. Possiamo studiare un corpus di enunciati linguistici (parlato e scritto) e dedurre leggi che valgono per tutte le lingue umane? Esiste una grammatica universale da cui derivano tutte le lingue attuali, e possiamo formularla con precisione come le leggi della fisica, senza eccezioni? Potremmo quindi convertire queste regole in codice e farle produrre frasi corrette in francese, navajo o swahili?

Forse, ma quelle frasi continuerebbero comunque a non avere molto senso. Il linguaggio opera su più livelli. Al livello sintattico, ci sono regole che ci dicono quando una frase è ben formata ma non dicono nulla sul significato. Possiamo dire che una frase è corretta a livello sintattico, ma completamente priva di significato. Al contrario, abbiamo una tolleranza agli errori sintattici molto efficace e riusciamo comunque a capire un tentativo maldestro di un parlante straniero di capire se stesso. Questa caratteristica straordinaria è conosciuta come la dualità della struttura. Sintassi e significato (semantica) sembrano operare con le loro regole. I madrelingua hanno acquisito l’intuizione linguistica per sapere quando una frase è corretta a livello sintattico e quando ha senso. È la sfida ultima rendere espliciti questi meccanismi mentali. Non siamo ancora arrivati lì. Neanche lontanamente.

Ti dispiace, sto mangiando il mio tè

La scienza diventa ancora più sfumata quando ci si allarga a includere l’uso e l’intento. Le parole devono avere senso all’interno della frase, ma il messaggio nel suo complesso deve anche essere appropriato alla situazione. Ti dispiace, sto mangiando il mio tè ha perfettamente senso in inglese britannico, dove il pasto serale si chiama tè. Ma è anche informale. Non lo chiami tè in un ristorante di lusso. Lo studio della pragmatica esamina l’uso del linguaggio e considera tutte queste sensibilità culturali. Questa conoscenza implicita non la si impara da un libro. La si acquisisce dopo anni di esposizione. I LLM sono completamente ignoranti e inconsapevoli di questo. Come potrebbe essere diversamente? Se mai riuscissimo a riversare l’intera ricchezza e confusione del linguaggio umano in codice funzionante e i computer diventassero coscienti, probabilmente lo odierebbero.

La traduzione automatica fa un ottimo lavoro su tutto ciò che è prevedibile e poco creativo, come una previsione del tempo o una ricetta per il cioccolato fondente. Letteratura, poesia o qualsiasi cosa richieda originalità e creatività: molto meno. Prova a fare questo esercizio: riscrivi il famoso musical Hamilton in afrikaans, ambientato negli anni ’80 con i personaggi principali Nelson Mandela e Frederik de Klerk. Mantieni il metro, la rima e l’umorismo intatti. Il risultato sarà involontariamente divertente in alcuni punti, ma in generale atroce e inutilizzabile.

In una recente intervista a un podcast, lo stesso Marc Andreessen ha entusiasmatamente dichiarato a Sam Harris che si può avere una discussione filosofica significativa con ChatGPT. No, Marc, non puoi. Sei stato ingannato. La macchina sta ancora volando alla cieca. Sta facendo supposizioni informate statisticamente avendo assimilato gli scritti di Platone a Bertrand Russell, con infusione di discorsi di odio neo-nazisti, e ti ha cucinato un bluff elaborato.

Intanto, che ne dici della programmazione?

Scrivere codice informatico è analogo al livello sintattico del linguaggio. L’IA è perfettamente attrezzata per aiutarti con avvertimenti e suggerimenti utili in tempo reale oltre alla semplice correttezza del compilatore. Può persino scrivere il codice per te. Ma il codice è appropriato ai nostri obiettivi umani? Stiamo costruendo la cosa giusta? Questo codice è utile o dannoso? Dovremmo averlo scritto in primo luogo? Non c’è un plugin IntelliJ per questo. Solo un essere umano può rispondere a queste domande.

Il tuo vantaggio competitivo sta nel rispondere a queste domande. Dovresti interessarti ai livelli sfumati e confusionari in cui il codice si collega al mondo degli affari umani. Sì, il tuo ruolo potrebbe diventare un ibrido tra analista aziendale e sviluppatore. Potrebbe non piacerti, perché scriverai sempre meno codice, e scrivere codice è così divertente. Mantienilo come un hobby allora. L’IA già vince l’Avvento del Codice e sono sicuro che supera l’OCP. Hai già superato il tuo livello e le cose possono solo peggiorare. Non è una vergogna. Nessuno può vincere in una lotta di braccio contro un gorilla. Scegli il tuo avversario saggiamente.

Lascia che l’IA si occupi della complessità accidentale e lasciaci arrivare all’essenza. Usare i computer per risolvere problemi per gli esseri umani non si è mai trattato di scrivere più codice. Gran parte dell’essenza della costruzione di un programma è il debug delle specifiche, come scrisse il defunto Fred Brooks già nel 1986.