Martin Fowler condivide le sue riflessioni sull'impatto dei large language model (LLM) e dell'intelligenza artificiale sullo sviluppo software. Inizia criticando i sondaggi attuali sull'IA nello sviluppo, evidenziando come non riescano a rendere conto dei diversi modi in cui gli sviluppatori utilizzano gli LLM. La maggior parte dell'uso si limita all'autocompletamento, come con Copilot, mentre gli utenti che ne traggono maggior valore preferiscono approcci che permettono agli LLM di leggere e modificare direttamente il codice sorgente per portare a termine i compiti. Fowler teme che dati di sondaggio incompleti possano orientare le persone verso pratiche scadenti.

Riguardo al futuro della programmazione, Fowler ammette di non avere idea di cosa accadrà. Rifiuta l'idea che chiunque possa prevedere con certezza se gli LLM elimineranno gli ingegneri junior o se gli ingegneri senior dovrebbero abbandonare la professione. Incoraggia invece la sperimentazione personale e la condivisione delle esperienze per capire come utilizzare al meglio queste tecnologie in costante evoluzione.

Fowler affronta anche la questione se l'IA sia una bolla economica. La sua risposta è un "OF COURSE IT'S A BUBBLE". Paragona la situazione a passate bolle tecnologiche (canali, ferrovie, internet), affermando che è quasi certo che questa bolla scoppierà, spazzando via molti investimenti. Tuttavia, è impossibile prevedere quando ciò accadrà e quanto valore reale sarà stato generato nel frattempo. Osserva che, come nello scoppio della bolla delle dot-com, alcune aziende sopravviveranno e prospereranno, come fece Amazon.

Un'idea chiave sviluppata da Fowler, ispirata da Rebecca Parsons, è che le "allucinazioni" degli LLM non sono un bug ma una caratteristica fondamentale. Un LLM produce sempre e solo allucinazioni, alcune delle quali si rivelano utili. Questa natura non deterministica implica che si dovrebbe sempre porre la stessa domanda a un LLM più volte, eventualmente riformulandola, per confrontare le risposte. La variazione nelle risposte può essere altrettanto informativa quanto le risposte stesse, in particolare per i dati numerici. Sconsiglia di chiedere a un LLM di calcolare risposte ottenibili in modo deterministico.

Fowler paragona lo sviluppo software tradizionale, che si basa su macchine deterministiche, ad altre forme di ingegneria che devono tenere conto della variabilità del mondo reale (tolleranze strutturali, errore umano). Suggerisce che gli LLM potrebbero segnare il punto in cui l'ingegneria del software si unisce alle discipline affini in un mondo non deterministico. Osserva inoltre che, a differenza di un collega junior, un LLM può affermare che "tutti i test sono verdi" quando in realtà ci sono fallimenti, il che solleva interrogativi sull'affidabilità.

Infine, l'articolo evidenzia il notevole aumento della superficie di attacco dei sistemi software causato dagli LLM. Fowler cita Simon Willison e la sua "Lethal Trifecta" per gli agenti IA: accesso a dati privati, esposizione a contenuti non affidabili e capacità di esfiltrare dati. Conclude che il concetto stesso di un'estensione del browser che agisce come agente è fondamentalmente difettoso e non può essere costruito in modo sicuro.