Intelligenza Artificiale “fatta in casa”: come costruire una Wiki personale con agenti AI in locale.

Un’esperienza di laboratorio della classe 4A INF, tra Obsidian, Ollama e OpenCodex.

Avatar utente

Personale scolastico

0

Quando si parla di Intelligenza Artificiale, si pensa quasi sempre a ChatGPT o ad altri servizi online, dove i nostri dati viaggiano su server lontani e ogni richiesta passa per internet. Durante quest’anno, nel laboratorio di informatica, abbiamo invece sperimentato qualcosa di diverso: far funzionare un’Intelligenza Artificiale direttamente sul nostro computer, senza connessione a servizi cloud a pagamento, usando quella che si chiama “intelligenza agentica in locale”. L’obiettivo dell’attività era costruire una piccola “Wikipedia personale”, mantenuta automaticamente da un agente AI, capire come più agenti AI possano dialogare tra loro per risolvere un problema insieme, e osservare come questi strumenti possano automatizzare anche compiti pratici di tutti i giorni. I laboratori didattici sono stati svolti in un percorso laboratoriale della 4AInf, incentrato sull’AI di informatica della 4AInf sotto la direzione del prof. Borgogno Claudio.

1. Gli strumenti: cosa sono Ollama e OpenCodex

Per far girare un’Intelligenza Artificiale sul proprio PC servono due ingredienti principali.

Il primo è Ollama, un programma gratuito che si scarica e installa come una qualsiasi applicazione. Il suo compito è semplice: scaricare dei modelli di linguaggio (le “AI” propriamente dette, come Gemma di Google o Llama di Meta) e farli girare sul computer di casa, usando la potenza della scheda video o del processore. Una volta installato, basta un comando da terminale per “accendere” un modello e iniziare a conversare con lui, esattamente come si farebbe con ChatGPT, ma rimanendo offline e senza alcun costo per richiesta. Ollama si occupa anche di esporre questi modelli a un indirizzo locale del computer, in modo che altri programmi possano “parlare” con l’AI senza passare da internet.

Il secondo strumento è OpenCodex, un “agente di codifica”: non è semplicemente una chat, ma un programma che può leggere e scrivere file sul computer, creare cartelle, modificare documenti ed eseguire compiti in autonomia, sempre appoggiandosi al modello fornito da Ollama. È stato usato in classe come alternativa gratuita a strumenti professionali a pagamento (come Claude Code, che richiede un abbonamento e una connessione a servizi cloud), perché funziona in locale e quindi non comporta costi ricorrenti né necessità di connessione continua a internet. In pratica, OpenCodex fa da “ponte” intelligente tra le nostre richieste in linguaggio naturale e le azioni concrete da svolgere sul filesystem del computer.

2. La Wiki personale: l’idea di fondo

L’attività principale del laboratorio si è basata su un’idea proposta online da Andrej Karpathy, un noto ricercatore di Intelligenza Artificiale (tra i fondatori di OpenAI): usare un agente AI non solo per rispondere a domande, ma per costruire e mantenere nel tempo una vera e propria enciclopedia personale, organizzata come una piccola Wikipedia privata.

Il funzionamento è il seguente: si forniscono all’agente dei documenti “grezzi” (per esempio le pagine di un libro di scuola, articoli su internet, oppure appunti su un proprio hobby), e gli si chiede di leggerli, riassumerli e collegarli tra loro in pagine ordinate. A differenza di una semplice chat con un’AI, dove ogni domanda viene affrontata “da zero” senza memoria delle conversazioni precedenti, qui la conoscenza si accumula nel tempo: ogni nuovo documento aggiunto va ad aggiornare le pagine già esistenti, crea nuovi collegamenti, segnala eventuali contraddizioni con ciò che era stato scritto prima e mantiene tutto coerente. È un po’ come avere un assistente che, ogni volta che gli si passa un nuovo libro da leggere, aggiorna da solo tutti gli appunti già presi in precedenza.

Per visualizzare questa enciclopedia abbiamo usato Obsidian, un programma gratuito che salva tutte le pagine come semplici file di testo (formato Markdown, lo stesso usato spesso per le guide online) e permette di vederle anche come un grafo: una mappa visiva dove ogni pagina è rappresentata da un punto, e le linee che le collegano rappresentano i rimandi tra un argomento e l’altro. È uno strumento molto utile per “vedere a colpo d’occhio” come la conoscenza si sta espandendo e ramificando, individuando per esempio pagine isolate che non sono collegate a nulla, segno che probabilmente vanno integrate meglio.

3. Il ruolo dei prompt: come si “istruisce” l’agente

Il punto centrale di tutta l’attività è il prompt, cioè l’istruzione iniziale data all’agente per spiegargli come comportarsi. Non basta chiedere “fammi una wiki”: bisogna specificare con precisione la struttura delle cartelle, le regole da seguire e il formato dei file, perché un’AI agentica lavora bene solo se le istruzioni di partenza sono chiare e dettagliate.

Nel nostro caso il prompt iniziale, ispirato proprio al metodo proposto da Karpathy, chiedeva all’agente di:

  • creare delle cartelle dedicate (una per i documenti “grezzi” originali e mai modificati, e una per la conoscenza compilata, a sua volta divisa in sottocartelle per concetti, entità, fonti e sintesi);
  • generare alcuni file di servizio fondamentali, in particolare un file di regole (che spiega all’agente come deve comportarsi a ogni nuova sessione di lavoro), un indice generale (che elenca tutti gli argomenti trattati con un breve riassunto) e un registro cronologico (che annota ogni operazione svolta, come un diario di bordo, utile anche per ricostruire la storia della wiki);
  • leggere i documenti caricati ed estrarne i concetti principali, scrivendo pagine collegate tra loro tramite rimandi interni (i cosiddetti backlink).

Una volta impostata questa struttura, è sufficiente dare comandi più brevi (per esempio “fai l’ingest dei nuovi file” oppure “controlla se ci sono link rotti o pagine senza collegamenti nella wiki”, la cosiddetta fase di “linting”) e l’agente esegue da solo tutto il lavoro di lettura, scrittura e collegamento. Questo dimostra un aspetto fondamentale dell’AI agentica: la qualità del risultato finale dipende moltissimo dalla qualità delle istruzioni iniziali, non solo dalla “bravura” del modello scelto.

4. Il dialogo tra agenti: quando due AI si parlano tra loro

Un secondo esperimento condotto in laboratorio è stato far dialogare due agenti AI distinti, ciascuno con un ruolo diverso, simulando una vera conversazione tra esperti.

Nel nostro caso abbiamo creato un piccolo programma Python in cui un primo agente, con il ruolo di “esperto di matematica”, poneva una domanda (per esempio su come scrivere un algoritmo per i numeri primi in Python); un secondo agente, con il ruolo di “esperto di programmazione”, rispondeva proponendo una soluzione concreta; il primo agente replicava chiedendo se l’algoritmo proposto potesse essere ottimizzato anche per numeri molto grandi. Ogni agente riceveva come contesto il messaggio precedente dell’altro, in modo da costruire una conversazione coerente passo dopo passo, proprio come farebbero due persone reali al telefono, una che chiede e una che risponde.

Questo tipo di automazione è interessante perché mostra come più “intelligenze” specializzate, anche se in realtà basate sullo stesso modello sottostante, possano collaborare automaticamente su un problema, ciascuna con il proprio punto di vista e il proprio ruolo, senza che un umano debba intervenire a ogni singolo passaggio della conversazione.

5. Le automazioni sul filesystem: la “stampa unione” dell’AI

Oltre alla wiki e al dialogo tra agenti, abbiamo visto come questi strumenti possano automatizzare anche compiti pratici di tutti i giorni sul computer, andando ben oltre la semplice generazione di testo.

In laboratorio, ad esempio, è stato utilizzato un agente per generare automaticamente curriculum in formato Word, partendo da uno schema fisso (il formato europeo “Europass”) e inserendo automaticamente i dati personali al posto giusto, mantenendo intatta la formattazione del documento. È un meccanismo molto simile alla classica “stampa unione” di Word, con la differenza che qui non serve preparare in anticipo un modello rigido con campi da compilare: basta descrivere a parole cosa si vuole ottenere, e l’agente genera direttamente il file finale. La stessa logica si può applicare a tanti altri compiti ripetitivi: generare relazioni di laboratorio già formattate secondo lo schema scolastico, compilare report con dati diversi ogni volta, oppure organizzare cartelle e rinominare decine di file secondo uno schema stabilito (per esempio “Cognome_Nome_Argomento”). L’agente, una volta capita la struttura richiesta, ripete il lavoro in modo identico e senza errori di distrazione, cosa che farebbe risparmiare molto tempo sia in un contesto scolastico che aziendale.

6. Perché farlo in locale: vantaggi e limiti

Vale la pena spiegare perché, per questa attività, si è scelto di lavorare in locale invece di usare semplicemente un servizio online come ChatGPT.

I vantaggi principali sono tre: i documenti caricati non lasciano mai il proprio computer, quindi non ci sono problemi di privacy o di dati sensibili condivisi con server esterni (un aspetto importante se si lavora, per esempio, con documenti aziendali o dati personali); non ci sono costi per ogni richiesta fatta all’AI, perché il modello gira gratuitamente sul proprio hardware una volta scaricato; ed è possibile lavorare anche senza connessione a internet, una volta scaricato il modello iniziale.

Il limite principale è legato all’hardware: i modelli che si possono far girare in locale sono generalmente più piccoli e un po’ meno potenti di quelli professionali offerti dai grandi servizi online, perché richiedono una scheda video adeguata (e una certa quantità di memoria video, la cosiddetta VRAM) per funzionare in modo fluido. È comunque un ottimo compromesso per imparare, sperimentare e gestire progetti personali senza spese, ed è proprio questo l’obiettivo didattico dell’attività svolta in laboratorio.

Conclusione e fonti

Questa esperienza ci ha permesso di capire che l’Intelligenza Artificiale non è soltanto una chat con cui scambiare messaggi, ma può diventare un vero collaboratore digitale, capace di organizzare informazioni, dialogare con altri agenti e automatizzare compiti ripetitivi, tutto questo restando sul proprio computer, senza dipendere da servizi esterni a pagamento. Strumenti come Ollama e OpenCodex rendono questa tecnologia accessibile anche a chi non ha grandi budget, aprendo la strada a progetti personali, scolastici e, in futuro, anche professionali.

Per chi volesse approfondire o ripercorrere i passaggi pratici dell’attività, l’esercitazione si è basata su una guida video disponibile su YouTube (https://www.youtube.com/watch?v=LLxBcc_bMS8), che mostra passo dopo passo come collegare un agente di codifica a un gestore di modelli locali, e sul prompt originale ideato da Andrej Karpathy per la costruzione della “LLM Wiki”, liberamente consultabile all’indirizzo https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f. È a partire da queste due fonti che, in classe, abbiamo adattato il metodo sostituendo lo strumento a pagamento Claude Code con la combinazione gratuita Ollama più OpenCodex, rendendo l’intero laboratorio replicabile da chiunque, anche su un computer non particolarmente potente.