Addio, ChatGPT: Riflessioni di uno sviluppatore

L’ascesa dell’Intelligenza Artificiale (IA) ha innegabilmente trasformato il nostro mondo, diventando uno strumento indispensabile in vari settori, tra cui lo sviluppo software. Sebbene l’IA offra numerosi vantaggi e sia diventata parte integrante delle moderne pratiche di sviluppo, è fondamentale considerare le potenziali ramificazioni del suo uso eccessivo, in particolare per gli sviluppatori.

Questo pezzo approfondisce le mie riflessioni filosofiche sullo sviluppo e sull’IA, esplorando il profondo impatto che la crescente presenza dell’IA potrebbe avere sul panorama degli sviluppatori.

Il Fascino dell’IA

Dovremmo vedere l’IA come una forza malevola che minaccia i nostri mezzi di sussistenza? Io penso di no.

Dall’emergere di ChatGPT 3.0, ho seguito da vicino gli articoli relativi all’IA per oltre tre anni. Questo interesse costante deriva dalla rapida evoluzione del campo, con nuovi sviluppi e notizie che emergono quotidianamente.

È concepibile che l’IA possa dominare i premi Nobel in futuro, e il mondo è già affascinato dalle capacità di ChatGPT.

L’IA sta progredendo esponenzialmente, apparentemente sull’orlo del raggiungimento dell’Intelligenza Generale Artificiale (AGI). Mentre i Large Language Models (LLM) stanno attualmente guidando i progressi dell’IA, l’ascesa dell’IA generativa segue un modello osservato in precedenti scoperte nell’apprendimento automatico (ML) e nell’apprendimento profondo (DL), che hanno dimostrato un immenso potenziale nell’elaborazione di immagini e video.

Prima di questo, la diffusione di Internet ha inaugurato l’Era dell’Informazione.

Prima di ciò, la proliferazione di macchinari ha innescato la Rivoluzione Industriale.

E molto prima di ciò, l’introduzione di strumenti ha portato alla Rivoluzione Agricola.

È essenziale esaminare criticamente se queste transizioni siano state fluide e universalmente vantaggiose.

(Nota: i successivi riferimenti all’IA si riferiranno specificamente all’IA generativa alimentata da LLM.)

Echi della Rivoluzione Industriale

Quale eredità ci ha lasciato la Rivoluzione Industriale?

Produzione accelerata di beni manifatturieri innovativi, migliori condizioni di lavoro e immensa ricchezza.

Questi sono tra i tanti vantaggi di cui godiamo oggi grazie alla Rivoluzione Industriale. Ma le persone che vivevano in quell’epoca hanno condiviso questi benefici?

Il Lato Oscuro del Progresso

Le condizioni di lavoro sono migliorate immediatamente con l’introduzione delle macchine?

In molti casi, compiti che una volta richiedevano una notevole forza fisica sono stati semplificati in semplici operazioni di macchina, portando alla sostituzione dei lavoratori adulti con bambini. Le fabbriche hanno iniziato a operare 24 ore su 24 per massimizzare l’efficienza e la ricchezza risultante era sproporzionatamente concentrata nelle mani dei proprietari delle fabbriche (la borghesia). I lavoratori hanno accettato passivamente questa situazione? No. Questo ha dato origine al movimento luddista.

Nonostante queste sfide, crediamo che l’introduzione delle macchine abbia in definitiva trasformato la vita delle persone in meglio?

Sosterrei che la risposta è “sì”. I cambiamenti sono stati prevalentemente positivi.

Aspetta, hai dipinto un quadro negativo della Rivoluzione Industriale, quindi perché improvvisamente dici che è stato positivo?

Sebbene le nostre vite siano innegabilmente migliorate, molti dei problemi associati alla Rivoluzione Industriale derivavano da un fallimento nell’anticipare e mitigare i disturbi sociali causati dalla rapida introduzione delle macchine. Se fosse stata in atto una rete di sicurezza sociale, meno persone avrebbero sofferto e le conseguenze negative sarebbero state ridotte al minimo.

Okay, ma cosa c’entra tutto questo con l’IA?

IA: La Seconda Rivoluzione Industriale

L’ex presidente degli Stati Uniti Donald Trump ha annunciato piani per investire 700 trilioni di won in società di IA come SoftBank e OpenAI.

Gli LLM richiedono notevoli quantità di energia. Le aziende che generano questa energia sono in costante crescita e Nvidia, che sviluppa chip di IA per il calcolo, ha raggiunto la più alta capitalizzazione di mercato al mondo.

Dove investiranno queste aziende? Naturalmente, investiranno dove possono fare soldi.

E dove sta investendo attualmente il mondo? Nell’IA.

La Redditività dell’IA

Ma da dove verrà la redditività dell’IA?

L’IA non produce prodotti. L’IA non gestisce fabbriche.

Tuttavia, l’IA può potenzialmente ridurre i costi del lavoro per le aziende automatizzando compiti attualmente eseguiti da esseri umani.

Da un punto di vista economico, qual è il costo di un singolo dipendente? Supponendo una durata media della carriera di 30 anni (dai 30 ai 60 anni) e uno stipendio medio annuo di 45 milioni di won, un’azienda pagherà un singolo dipendente 1,35 miliardi di won nel corso della sua carriera.

In altre parole, un’azienda sta “acquistando” un singolo dipendente per 1,35 miliardi di won. Un’azienda con oltre 300 dipendenti spenderebbe 400 miliardi di won in lavoro in 30 anni.

Credi ancora che l’IA non sia redditizia? Riesci ancora a non vedere perché il mondo sta investendo nell’IA?

Le riduzioni della forza lavoro guidate dall’IA genereranno profitti significativi per le aziende. Questo è l’alfa e l’omega dell’investimento in IA.

I Limiti dell’IA

L’IA non garantisce il 100% di successo o il 100% di fallimento.

Una volta ho dimostrato un modello di apprendimento profondo per rilevare la guida sonnolenta. Mentre il modello alla fine classificava determinate situazioni come “guida sonnolenta”, noi, come sviluppatori, lo definivamo “un’alta probabilità di guida sonnolenta”.

Lasciatemi ribadire: l’IA non offre garanzie di successo o fallimento assoluto.

Le allucinazioni sono un concetto simile. Poiché i modelli fanno inferenze, possono generare risposte errate. Questo è sia un potenziale viale per lo sviluppo dell’IA sia un inconveniente.

Se il modello mi identifica erroneamente come sonnolento mentre non lo sono, chi è responsabile?

La responsabilità spetta a noi, al team che ha definito i criteri del modello.

L’IA non si assume la responsabilità. Noi siamo quelli che prendono decisioni basate sulle risposte fornite dall’IA.

E allora? Cosa dovremmo fare ora? Significa che l’IA ci porterà via il lavoro?

Approcciarsi all’IA

Sì, è giusto. L’IA ci porterà via il lavoro.

Il mondo sta competendo ferocemente per usare l’IA per prenderci il lavoro.

Credo che questo sia inevitabile e che una “Seconda Rivoluzione Industriale” sia all’orizzonte.

Cosa dovremmo fare per garantire una transizione agevole?

Dobbiamo essere interessati all’IA, usarla e mantenere sia una prospettiva positiva che critica.

Molte persone potrebbero disilludersi dalla vita dopo aver seriamente considerato queste informazioni. So che è successo a me.

Perché dovrei preoccuparmi di sviluppare me stesso e studiare lo sviluppo se sarò semplicemente sostituito dall’IA?

L’IA può sviluppare codice per me, quindi perché dovrei farlo io?

A questo punto, dobbiamo considerare l’umanesimo.

Trascendere l’Umanesimo

Per passare da una società teocratica dove la religione governava la nazione a un’era dove i “re” potevano sfruttare la religione, qualcosa doveva trascendere “dio”. I re usavano la religione, ma la borghesia, che possedeva i mezzi di produzione, mancava di uno strumento comparabile. Hanno iniziato a promuovere l’idea che l’umanità stessa fosse importante e questo ha dato origine all’”umanesimo”. L’umanesimo, a sua volta, ha portato all’emergere del capitalismo, del comunismo, del fascismo e di altre ideologie.

In altre parole, l’umanesimo è uno sforzo per liberarsi dal dio di una società teocratica.

Alcuni che hanno cercato di sfuggire a questa società religiosa sono stati marchiati come eretici e streghe e sono stati considerati terribili criminali. Come li vediamo dalla nostra prospettiva attuale? Non vediamo che avevano ragione?

L’idea che “l’IA è migliore degli umani, (o, più ristrettamente,) migliore di me” è un atto di trascendere l’umanesimo.

Forse questo è un modo di pensare naturale. Credo che siamo attualmente in un periodo di transizione in cui lo sviluppo dell’IA ci sta facendo gradualmente liberare dall’umanesimo. Questo è naturale, ma spero che possiamo ridurre al minimo il panico risultante.

Cosa Dovremmo Fare?

Come accennato in precedenza, dovremmo semplicemente usare l’IA in modo naturale, goderci, mantenere una prospettiva critica e, soprattutto, fare ciò che vogliamo fare.

Potrebbero esserci aspetti negativi in questo processo. Le seguenti sezioni spiegheranno finalmente “perché voglio smettere di usare l’IA nello sviluppo”.

IA nello Sviluppo

L’IA aumenta innegabilmente la produttività.

I linguaggi che usiamo sono linguaggi di programmazione. Proprio come usiamo il coreano per scrivere questo blog, usiamo i linguaggi di programmazione per sviluppare programmi.

L’IA generativa basata su LLM è specializzata nella scrittura. Pertanto, sarà naturalmente efficace nella scrittura di linguaggi di programmazione. Quindi, dovremmo usare l’IA nella programmazione? Assolutamente!

Tuttavia, se sei uno sviluppatore che sta “studiando”, dovresti considerare come usarla.

Per i seguenti motivi, ho deciso di non usare l’IA, almeno durante il processo di apprendimento.

L’IA Ruba i Miei Appunti sugli Errori

Quando usiamo tipicamente l’IA? L’ho usata spesso durante il debug.

Perché questo non funziona? → Codice di errore, copia il codice → Incolla in ChatGPT

Qual è il problema? Gli sviluppatori che sono stanchi di errori e debug esamineranno sempre attentamente, comprenderanno e useranno il codice fornito da ChatGPT? In molti casi, copieranno e incolleranno semplicemente il codice senza pensare e, se non funziona, useranno di nuovo l’IA.

Prompt utente: Questo non funziona, sto ricevendo questo errore.

ChatGPT: Oops, colpa mia, fammi rivedere il codice.

Non commetterò mai più questo errore? È altamente probabile che commetterò di nuovo lo stesso errore e cercherò di nuovo aiuto dall’IA. La possibilità di interiorizzare la conoscenza e imparare dall’errore è notevolmente ridotta.

Se conosco il 99% del processo di calcolo ma non riesco a raggiungere l’1% finale, ho codificato bene? Sto semplicemente delegando il mio cervello all’IA perché sono stanco. Sto affidando all’IA la parte più critica, la parte che non conosco e non posso fare.

Derubare l’Ambiente Inconscio e Favorevole al Codice

Ci sono molti sviluppatori nel mondo. È altamente probabile che uno sviluppatore dall’altra parte del mondo abbia sperimentato lo stesso errore mio. Ma quello sviluppatore ha sperimentato l’errore esattamente nella stessa situazione? Il codice che ha scritto è lo stesso del codice che ho scritto io? Sarà diverso. Lo stesso errore può verificarsi in situazioni completamente diverse.

L’IA blocca l’accesso alle informazioni sul contesto circostante. Esegue solo il debug del codice che invio e fornisce informazioni su quel codice, ma non mostra il processo necessario per scrivere il codice.

“Certo, puoi usare l’ingegneria del prompt per chiedere una spiegazione dettagliata, giusto?”

Metti la mano sul cuore e pensa a quante volte sei stato troppo stanco e hai semplicemente copiato e incollato il codice.

Per cercare e indagare su un errore, hai bisogno di conoscenze preliminari. So chiaramente tutto di queste conoscenze preliminari? Questo blog spiega situazioni diverse e quel blog spiega situazioni diverse. Capisco tutte queste situazioni? Quando cerchi su Google, devi essere in grado di leggere e capire “Ah~ è diverso dalla mia situazione” per trovare altre informazioni.

Anche questo semplice atto di ricerca può rendere gli sviluppatori più favorevoli al codice.

ChatGPT non è la stessa cosa? Se continui a usarlo durante la codifica, non è la stessa cosa?

L’Importanza dell’Ambiente Inconscio

Il miglior esempio di ambiente inconscio è l’ambiente domestico.

Ecco due bambini. Stanno crescendo in famiglie diverse. Il bambino vede un uccello che vola e chiede ai suoi genitori:

“Mamma (Papà), cos’è quell’uccello?”

Le risposte dei genitori differiscono:

  1. Una gazza.
  2. Ero curioso di sapere che tipo di uccello fosse, quindi l’ho cercato. Potrebbe essere una gazza o un corvo, ma sembra una gazza.

La prima famiglia fornisce una risposta diretta e presenta una soluzione pratica.

La seconda famiglia fornisce una risposta indiretta e suggerisce un approccio creativo per esplorare la risposta.

Come cresceranno questi bambini se cresceranno in questi ambienti diversi?

Il bambino della prima famiglia sarà efficiente nel trovare la risposta corretta, ma potrebbe non essere efficiente nell’affrontare problemi in cui la risposta non è facilmente disponibile. → ChatGPT

Il bambino della seconda famiglia potrebbe impiegare più tempo per trovare una semplice risposta, ma sarà più a suo agio nel pensare a problemi in cui la risposta non è facilmente disponibile. → Ricerca e Apprendimento (Googling)

L’ambiente inconscio si forma in questo modo e viene utilizzato in tutti gli aspetti della vita quotidiana.

Cosa pensi che sia lo sviluppo? Penso che sia quest’ultimo, ma lascerò la scelta a ogni individuo.

Quanto sopra è un’immagine del modello dell’iceberg di Freud. Siamo inconsciamente influenzati dalle persone intorno a noi e da tutto ciò con cui entriamo in contatto. Anche se non prestiamo attenzione a qualcuno che passa dicendo: “Un cibo è delizioso in questi giorni”, pianta una consapevolezza superficiale che “Un cibo è delizioso”. Quando vediamo A cibo più tardi, potremmo mangiarlo più deliziosamente di quanto lo sia in realtà, oppure potremmo essere più delusi se non soddisfa le nostre aspettative. Questo crea una differenza significativa rispetto al non sentire le parole del passante.

Anche il piccolo pezzo di informazione che ho incontrato mentre cercavo diligentemente informazioni sullo sviluppo - informazioni che non ho visto consapevolmente - alla fine diventerà una risorsa. L’inconscio ha un impatto molto maggiore di quanto pensiamo.

In Conclusione: La Mia Filosofia dello Sviluppo

La mia conclusione è che “gli LLM dovrebbero essere evitati il più possibile durante lo studio, ma possono essere utilizzati per attività produttive”.

Dobbiamo adattarci all’era post-IA, imparare a usare l’IA, sperimentare il suo impatto in prima persona e mantenere una prospettiva positiva ma critica sull’IA. Dobbiamo riconoscere che l’IA alla fine ci porterà via il lavoro e considerare sempre quali altri impatti potrebbe avere oltre a prenderci il lavoro. Riflettiamo se il modo in cui usiamo l’IA sia utile per la nostra vita e il nostro pensiero ed evitiamo di delegare i nostri cervelli all’IA.

Dopo molta confusione, ho finalmente stabilito la mia filosofia dello sviluppo:

Infondere ogni riga di codice con i miei pensieri. Non creiamo solo semplici lettere o frasi, ma imbuiliamo con la mia filosofia e il mio pensiero.

Questa è la differenza tra l’IA e me.

Buona fortuna a tutti!

Extra: Trattare la Debolezza di Volontà, Bloccare i Siti LLM

La debolezza di volontà è una malattia. È illogico usare la forza di volontà per curare la debolezza di volontà, che è causata da una mancanza di forza di volontà. È giusto introdurre altre azioni per smettere di fumare, bere o altre abitudini simili.

Allo stesso modo, ho pensato che sarebbe stato positivo per la mia salute mentale bloccare i siti LLM. Il seguente è il mio metodo per bloccare su Mac:

  1. Inserisci il seguente codice nel terminale:

  2. Premi i per passare alla modalità di inserimento. Aggiungi quanto segue all’host 127.0.0.1, proprio come nell’immagine qui sotto. Tab dopo aver inserito l’indirizzo.

  3. Premi ESC per uscire dalla modalità di inserimento e inserisci :wq per salvare. Questo usa DNS (Domain Name System) e ‘127.0.0.1 chatGPT.com’ significa che l’inserimento di chatGPT.com nella barra degli indirizzi accederà a 127.0.0.1 (l’host del server del mio computer).

Curiamo insieme la nostra debolezza di volontà!