Salta al contenuto
Volume 1IA da Terminale

Perché questo progetto

Chi sono, e perché esiste IA da Terminale

Uso un computer da quando avevo circa quindici anni. Oggi ne ho quarantacinque.

Il primo incontro, in realtà, era stato ancora prima con un Commodore 64. Poi sono arrivati Windows 95 e 98, in quell’epoca in cui installare qualcosa significava anche accettare una certa dose di rischio e formattare un computer, reinstallando tutto da zero, era quasi una pratica ordinaria.

Poco dopo ho scoperto Linux.

Mi affascinava per ragioni molto concrete — potevi guardare dentro il sistema, modificarlo, capire meglio cosa stava succedendo — ma anche per qualcosa di più generale: l’idea di apertura che stava dietro al software libero e all’open source. La sensazione che il computer non dovesse essere necessariamente una scatola chiusa.

Non sono diventato uno sviluppatore.

Diciamo che, dopo tanti anni, una riga di JavaScript riesco almeno a distinguerla da una di Java o C#. Ma non è quello il mio mestiere.

Sono rimasto quello che una volta avremmo chiamato uno smanettone: abbastanza curioso da voler capire come funzionano le cose e abbastanza incosciente da provarle, romperle e rimetterle insieme.

Questa differenza è importante per spiegare perché esiste questo progetto.

Ho sempre usato la tecnologia per fare qualcos’altro

Nel frattempo studiavo tutt’altro.

Mi piacevano i romanzi, le storie, il linguaggio, il modo in cui le persone costruiscono e trasmettono significati. Mi sono laureato in Scienze della Comunicazione.

Il computer, però, continuava a stare lì.

Il mio primo lavoro stabile è stato in un organismo di mediazione civile. Non ero stato assunto per programmare, ma a un certo punto il piccolo ufficio aveva bisogno di organizzare meglio pratiche, scadenze e documenti.

Con Microsoft Access mi sono costruito un gestionale.

Poi serviva un sito web e ho fatto anche quello. Da lì sono arrivati l’ottimizzazione per i motori di ricerca, i primi strumenti di analisi, le campagne e tutto ciò che serviva perché quel sito non fosse semplicemente online, ma funzionasse.

A guardarlo oggi, il meccanismo era già quello che mi accompagna ancora:

c’è un problema concreto, esistono degli strumenti e io provo a impararne abbastanza da riuscire a costruire una soluzione.

A un certo punto ho lasciato quel lavoro e con un amico d’infanzia abbiamo aperto una piccola web agency. Eravamo in due: lui seguiva soprattutto clienti e account, io siti web e campagne digitali.

Google Ads allora si chiamava ancora Google AdWords. Passavo il tempo a ragionare sul costo di una singola keyword, sul CPC, sulle conversioni, su cosa succedeva dopo un clic.

Nel frattempo arrivavano nuovi strumenti. WordPress diventava sempre più importante. Il web cambiava, le piattaforme pubblicitarie cambiavano e bisognava continuare a studiare.

Il progetto con il mio amico a un certo punto è terminato. Io, invece, sono rimasto in questo mondo.

Negli anni successivi ho collaborato con diverse agenzie di marketing e comunicazione a Palermo occupandomi di quella zona un po’ ibrida che sta tra tecnologia e comunicazione: siti WordPress, HTML e CSS quando servivano soluzioni più personalizzate, campagne digitali, tracciamenti, Google Tag Manager, Analytics e tutto ciò che serviva per far dialogare una strategia con gli strumenti che dovevano eseguirla.

Oggi continuo a lavorare come libero professionista tra digital marketing, realizzazione di siti web e formazione. Da alcuni anni insegno anche a Palermo, in ambito universitario, materie legate al web marketing e all’intelligenza artificiale applicata alle strategie di comunicazione.

In altre parole: continuo a non essere uno sviluppatore.

Ma passo gran parte delle mie giornate davanti a un computer.

Poi è arrivata l’intelligenza artificiale

Ho sempre avuto una curiosità abbastanza larga verso la tecnologia.

E per tecnologia non intendo soltanto quella digitale.

Un software è una tecnologia, naturalmente. Ma lo è anche un oggetto progettato bene. E in un senso ancora più ampio lo è un libro: uno strumento inventato per conservare un pensiero e permettere a qualcun altro di incontrarlo a distanza di spazio e di tempo.

E alla base di quasi tutto c’è probabilmente la tecnologia più potente che abbiamo inventato: il linguaggio.

Quando sono arrivati i primi strumenti di IA generativa, quindi, era inevitabile che finissi dentro anche a quel mondo.

Ho cominciato con le prime versioni di GPT accessibili dal browser. Poi Claude. Nel frattempo ho cercato di capire quello che c’era sotto: reti neurali, machine learning, deep learning, modelli linguistici.

Non sul piano matematico necessario a chi fa ricerca in questi ambiti, ma abbastanza sul piano concettuale e teorico da costruirmi un modello mentale del loro funzionamento.

Non per diventare un ricercatore di intelligenza artificiale.

Mi interessava sapere abbastanza da distinguere, per quanto possibile, quello che questi sistemi facevano realmente da quello che noi tendevamo a proiettare sopra di loro.

È una distinzione che continuo a considerare importante, soprattutto in un settore dove ogni settimana qualcuno annuncia una rivoluzione definitiva.

Accanto allo studio, però, c’è sempre stato l’uso.

Ed è stato l’uso a cambiare davvero il mio modo di lavorare.

Il ritorno al terminale

Uno dei miei piccoli amori, a livello di interfacce, è sempre stato il terminale.

Può sembrare strano, perché per molta gente rappresenta esattamente il contrario di una buona esperienza utente: uno schermo quasi vuoto, poche indicazioni e nessun pulsante che suggerisca cosa fare.

Per me ha sempre avuto un altro fascino: è una delle interfacce più vicine a ciò che il computer realmente è e a ciò che può fare.

Solo che, negli anni, usando soprattutto Mac e occupandomi di lavori che non richiedevano quotidianamente Linux o sviluppo software, avevo sempre meno occasioni per utilizzarlo davvero.

Poi è uscito Claude Code.

L’ho installato praticamente subito.

E lì è cominciato un susseguirsi di:

Ah, quindi può fare anche questo.

Gli chiedevo di produrre un file e scoprivo che aveva installato una libreria Python per creare un Excel. Un’altra volta un PDF. Poi gli affidavo un progetto web e vedevo comparire cartelle, dipendenze, struttura del progetto e file.

Poi:

Aspetta, ma allora posso collegarlo a Google Analytics.

E subito dopo Search Console. Google Ads. I dati delle campagne.

A quel punto potevo chiedergli di recuperarli, confrontarli, preparare analisi e report da utilizzare nel lavoro con i miei clienti.

Il confine continuava a spostarsi.

Fino ad arrivare a sere in cui, alle due di notte, invece di andare a dormire mi ritrovavo a chiedergli qualcosa del tipo:

analizza la libreria della mia app Musica e, partendo da quello che ascolto, suggeriscimi qualche band che probabilmente non conosco.

Mentre in un’altra finestra del terminale un altro processo stava incrociando dati e preparando analisi per l’ottimizzazione di campagne Google Ads.

Qualche giro di ragionamento, qualche comando, qualche file letto.

Fatto.

Ed è stato lì che una cosa ha iniziato a diventarmi molto chiara.

Il punto non era Claude Code

Il punto non era che Claude Code fosse particolarmente bravo a programmare.

Il punto era dove si trovava.

Un modello linguistico inserito dentro un ambiente costruito bene può ricevere accesso al filesystem, alla shell, a programmi, librerie, API e strumenti esterni. Può eseguire un’azione, leggere quello che è successo e decidere cosa fare dopo.

È l’impalcatura intorno al modello — quello che in ambito tecnico viene spesso chiamato harness — a trasformare un modello che produce testo in qualcosa che può operare su un ambiente.

E se quell’ambiente è il tuo computer, la conseguenza pratica è notevole.

Quasi tutto il lavoro che facciamo al computer consiste, in fondo, nel leggere informazioni, trasformarle, spostarle o comunicarle.

File, fogli di calcolo, database, email, siti web, immagini, server, API, browser, servizi online.

Se l’agente ha una porta corretta per raggiungerli, gli strumenti necessari e il permesso di farlo, può lavorare su quelle stesse cose.

Non è magia.

Gli abbiamo dato degli strumenti.

Ed è questa, per me, una delle differenze fondamentali tra usare un modello dentro una chat e usare un agente dentro un ambiente operativo.

È cambiata soprattutto una domanda

Prima, davanti a una richiesta di un cliente, una parte consistente del mio lavoro consisteva nel chiedermi:

Come faccio questa cosa?

Quale strumento devo usare? Quali passaggi devo eseguire? Come recupero questi dati? Come li trasformo? Come produco questo output?

Sempre più spesso la domanda è diventata diversa:

Come devo organizzare l’ambiente perché l’IA possa fare bene questa parte del lavoro?

Dove devono stare i dati? A quali strumenti deve avere accesso? Quali informazioni le servono? Quali operazioni può eseguire? Quali invece voglio che richiedano una conferma? Come posso verificare quello che ha fatto?

E, soprattutto:

qual è la parte nella quale servo io?

Perché quella parte non è scomparsa.

Anzi.

Quando l’IA recupera centinaia di righe di dati, scrive codice per analizzarle e prepara una prima interpretazione in pochi minuti, il mio valore non sta più necessariamente nell’eseguire manualmente tutti quei passaggi.

Sta nel sapere se ha interrogato i dati giusti, nel capire se quella variazione è importante, nel sapere cosa significa per quella campagna, quel cliente e quel mercato, nel riconoscere quando un risultato formalmente perfetto è concettualmente sbagliato.

Sta nel giudizio.

E questa non è soltanto una mia impressione.1

Quello che cambia, quindi, non è il bisogno di competenza.

Cambia il punto in cui quella competenza viene applicata.

L’IA può accorciare enormemente la distanza tra ciò che so e la sua esecuzione sul computer. Ma per sapere cosa chiedere, cosa accettare e cosa correggere, la conoscenza del dominio continua a contare.

Perché allora questo progetto?

A un certo punto mi sono accorto che stavo imparando un modo di usare il computer che poteva essere utile anche ad altre persone.

Persone che non sono sviluppatori. Persone che magari non hanno mai scritto una riga di Python e non sanno cosa sia una shell, ma che per lavoro o per interesse passano una parte enorme della giornata davanti a un computer, solo con strumenti e interfacce differenti.

Un marketer, un insegnante, un ricercatore, un commercialista, un consulente, un designer, una persona che gestisce un piccolo e-commerce.

Qualcuno che ogni giorno prende informazioni da un posto, le porta in un altro, produce documenti, controlla numeri, invia email, modifica file e utilizza strumenti diversi.

Per anni, semplificando, le possibilità erano soprattutto due: imparare a usare le applicazioni che qualcuno aveva costruito per noi oppure imparare a programmare abbastanza da costruirci qualcosa da soli.

Ora in mezzo si è aperto uno spazio nuovo.

Non tutti diventeranno sviluppatori, e non credo nemmeno che debbano farlo. Per progettare e mantenere sistemi software complessi continueranno a servire persone con competenze profonde di architettura, programmazione, sicurezza e ingegneria.

Ma tra usare un’applicazione e costruire professionalmente un sistema software esiste un territorio enorme.

È lì che mi interessa lavorare.

La ricerca recente sta iniziando a studiare esplicitamente questo passaggio: i coding agent vengono già impiegati per attività generali e possono scrivere, eseguire e correggere al volo piccoli programmi invece di dipendere soltanto da una lista fissa di strumenti. Allo stesso tempo, i lavori più complessi mostrano ancora chiaramente i limiti di questi sistemi quando manca la comprensione del dominio.2

È esattamente per questo che questo progetto non vuole insegnare a premere un pulsante e aspettare.

Vuole insegnare a stare dall’altra parte del lavoro.

Imparare abbastanza per poter guidare

Il mio modo di insegnare parte quasi sempre dalla pratica.

Non mi interessa che qualcuno sappia recitare la definizione di un percorso di file se poi non sa dire all’agente dove si trova un documento.

Non mi interessa che sappia definire un’API se poi non riconosce che quella API può essere la porta attraverso cui il suo agente raggiunge un servizio.

Non mi interessa che conosca a memoria dieci comandi della shell.

Mi interessa che sappia guardare quello che sta facendo la macchina e capire quando intervenire.

Per questo il libro parte da file e cartelle, passa dal terminale e arriva solo dopo agli agenti. E per questo gli esercizi si fanno con il computer aperto accanto: un concetto, una cosa da fare, un criterio per capire se l’hai capita davvero.

Dietro questo approccio c’è anche un modo di intendere l’apprendimento che mi accompagna da tempo: si capisce davvero qualcosa quando la si usa, quando qualcuno ti aiuta abbastanza da permetterti di fare un passo che da solo non avresti ancora fatto e poi, progressivamente, quell’aiuto può diminuire.

Chi vuole cercarne le radici troverà una lunga tradizione che va dal pragmatismo educativo agli studi sull’apprendimento guidato e sullo scaffolding.3

Ma non serve conoscere quella teoria per seguire questo progetto.

Serve aprire il terminale.

Non voglio insegnarti Claude Code

Claude Code è lo strumento con cui per me è iniziato tutto questo.

Oggi uso anche Codex e altri strumenti, spesso contemporaneamente nello stesso progetto. Uno può lavorare su una pagina mentre un altro produce immagini o analizza materiali leggendo indicazioni conservate negli stessi file.

Domani probabilmente ne userò altri.

È una scelta deliberata.

Questo progetto vuole essere il più possibile agnostico rispetto al marchio.

Cambieranno i modelli, i prezzi, i limiti, le interfacce. Cambieranno, passatemi il gioco di parole, tutti i parametri.

Quello che mi interessa insegnare è ciò che resta: come organizzare un ambiente, indicare i materiali, dare capacità a un agente, decidere i permessi, conservare il contesto, controllare l’output e poter tornare indietro.

Il terminale stesso non è un fine. Oggi è semplicemente uno dei luoghi più trasparenti e generali in cui possiamo osservare un agente mentre usa realmente il computer.4

L’IA può cambiare. Il tuo lavoro dovrebbe restare.

E vorrei che restassero anche i tuoi file

C’è un’altra conseguenza di questo modo di lavorare a cui tengo molto.

Il cloud è utilissimo. Una parte enorme della mia vita digitale è nel cloud e non ho intenzione di smettere di usarlo.

Ma c’è una differenza tra usare un servizio e dipendere completamente da quel servizio.

Se il contesto del mio progetto è in normali file Markdown, i dati sono esportabili, il codice è in un repository e le procedure importanti sono documentate, Claude può lavorarci oggi.

Codex può leggerli domani. Un altro agente potrà farlo dopodomani.

Non significa che tutto sia perfettamente intercambiabile.

Significa che il centro del sistema può rimanere mio.

Questa idea non nasce con l’intelligenza artificiale: il movimento local-first ragiona da anni su software che mantenga i vantaggi del cloud senza rinunciare al controllo e alla proprietà dei propri dati.5

Gli agenti rendono oggi quella scelta ancora più interessante, perché un file accessibile non è soltanto qualcosa che possiedi: è anche qualcosa su cui strumenti diversi possono lavorare.

Quello che vorrei fare qui

IA da Terminale nasce prima di tutto come progetto didattico.

Non escludo affatto che nel tempo possa diventare anche una parte economicamente sostenibile del mio lavoro attraverso altri volumi, corsi o percorsi di formazione. Anzi, lo spero.

Ma l’ordine per me conta.

Prima viene l’apprendimento.

Vorrei costruire qualcosa che permetta a una persona curiosa di iniziare da:

non so nemmeno cosa sto guardando quando apro il terminale

e arrivare, progressivamente, a:

so cosa voglio ottenere, so quali pezzi devo collegare, so dove può lavorare l’agente e so come controllare quello che ha fatto.

Non serve diventare sviluppatori.

Serve capire abbastanza del computer da poter lavorare consapevolmente insieme a un’intelligenza artificiale.

E soprattutto da non essere semplicemente passeggeri mentre quell’intelligenza artificiale utilizza strumenti, file e servizi per conto nostro.

Se poi, dopo aver imparato a collegare Google Analytics, qualcuno chiude la pagina e pensa:

Aspetta. Allora potrei fare la stessa cosa con Search Console. O con la posta. O con i miei documenti. O con le lezioni che devo preparare. O con le mie ricerche.

per me il progetto sta già funzionando.

Perché il risultato non è aver imparato una ricetta.

È aver iniziato a guardare il computer in modo diverso.

Note

Queste note non servono a leggere la pagina: servono a chi, arrivato in fondo, si è chiesto da dove vengano certe affermazioni. I collegamenti portano alla fonte, che spesso è in inglese perché in inglese è stata scritta.

#1. Non è soltanto una mia impressione

Anthropic ha analizzato circa 400.000 sessioni Claude Code fra ottobre 2025 e aprile 2026. La ricerca rileva, tra le altre cose, che la competenza dell’utente nel dominio continua ad associarsi al successo del lavoro svolto con l’agente, mentre l’uso si estende oltre il puro coding verso analisi dei dati e produzione di documenti. OpenAI ha descritto nello stesso periodo una crescita dell’uso di Codex tra i knowledge worker per attività come report, fogli di calcolo, ricerca, analisi e piccoli strumenti. Fonti: Anthropic — Agentic coding and persistent returns to expertise e OpenAI — Codex is becoming a productivity tool for everyone.

#2. I coding agent come strumenti generali

La possibilità che i coding agent diventino strumenti più generali è già oggetto di ricerca. Can Coding Agents Be General Agents? analizza proprio la loro capacità di affrontare attività diverse grazie alla possibilità di scrivere, eseguire e correggere codice e script durante il lavoro, mettendo allo stesso tempo in evidenza limiti e fallimenti quando cresce la complessità del dominio. Fonte: Can Coding Agents Be General Agents?.

#3. L’apprendimento come attività guidata

I riferimenti teorici sono, tra gli altri, John Dewey, Lev Vygotskij e Jerome Bruner. Il collegamento qui non è con una particolare metodologia da applicare rigidamente, ma con un’idea comune: l’apprendimento come esperienza, attività guidata e progressiva conquista di autonomia. Il termine scaffolding viene introdotto nel lavoro di Wood, Bruner e Ross del 1976 sul ruolo del tutor nel problem solving.

#4. Il terminale non è un’ideologia

La ricerca alla base del progetto suggerisce di non trasformare il terminale in un’ideologia: il suo valore attuale è soprattutto quello di essere una superficie operativa generale, trasparente e componibile. Lo stesso paradigma sta infatti comparendo anche in applicazioni desktop e sistemi operativi. Il principio più durevole non è quindi «tutto deve passare dal terminale», ma il computer può diventare un ambiente controllabile in linguaggio naturale.

#5. Local-first

Il filone local-first ha formulato esplicitamente l’obiettivo di mantenere collaborazione e vantaggi del cloud insieme a controllo, longevità e proprietà dei dati da parte dell’utente. Fonte: Ink & Switch — Local-first software.