Salvatore Mosaico · 2026
Indice
- 1. La prima provocazione: allora non serve più sapere?
- 2. Primo esempio: una risposta corretta può essere incompleta
- 3. Secondo esempio: una risposta può far nascere una domanda che non avevamo
- 4. Terzo esempio: funziona, ma è stato progettato bene?
- 5. L’obiezione più difficile: ma così non perdiamo tempo?
- 6. Torniamo al detto iniziale
Il docente proietta una frase da discutere insieme:
«L’intelligenza non è la capacità d’immagazzinare informazioni, ma di sapere dove trovarle.»
In classe è disponibile un’IA. Le sue risposte vengono proiettate e possono essere discusse da tutti. Le battute che seguono, comprese quelle dell’IA, fanno parte della simulazione.
1. La prima provocazione: allora non serve più sapere?
Docente: Questa frase distingue l’intelligenza dalla capacità di ricordare tante informazioni. Oggi, con l’intelligenza artificiale, come la cambiereste?
Anna: Io direi: «L’intelligenza è sapere che cosa chiedere all’IA».
Luca: Ma allora uno che non sa niente, purché sappia fare domande, diventa intelligente?
Anna: Non ho detto questo. Però, se posso ottenere una spiegazione quando mi serve, perché devo imparare tutto prima?
Marta: Secondo me state confondendo due cose: ricordare una risposta e capire una risposta.
Davide: Va bene, ma faccio una domanda concreta. Se devo risolvere un problema e l’IA me lo risolve, il problema è risolto. Che differenza fa quanto ho capito io?
Docente: Dipende dal nostro obiettivo. Vogliamo soltanto ottenere quel risultato oppure vogliamo anche diventare capaci di affrontare altri problemi?
Davide: Nella vita, però, spesso mi interessa il risultato.
Docente: È un’obiezione sensata. Non dobbiamo diventare esperti di tutto ciò per cui usiamo uno strumento. Ma dobbiamo capire quando possiamo affidarci al risultato e quando abbiamo bisogno di controllarlo. Proviamo con un esempio.
2. Primo esempio: una risposta corretta può essere incompleta
Il docente scrive:
x(x−1)=2(x−1)
Docente: Chiediamo all’IA di risolverla.
IA: Dividendo entrambi i membri per x−1, si ottiene:
x=2
Anna: Ecco. Risposta ottenuta.
Luca: Però ci hai sempre detto che bisogna controllare.
Docente: Controlliamola.
Marta: Sostituisco x=2. A sinistra:
2(2−1)=2
A destra:
2(2−1)=2
Funziona.
Davide: Quindi abbiamo usato l’IA, abbiamo verificato e abbiamo finito.
Luca: Aspettate. Nell’equazione iniziale funziona anche x=1: da entrambe le parti viene zero.
Anna: Allora la risposta dell’IA è sbagliata?
Marta: Non proprio. Due è una soluzione. Il problema è che manca uno.
Docente: Esattamente. Abbiamo verificato che la soluzione proposta è corretta, ma non che siano state trovate tutte le soluzioni.
Davide: Quindi controllare il risultato non basta?
Docente: In questo caso non basta. Bisogna controllare anche il procedimento. Che cosa è successo quando abbiamo diviso per x−1?
Luca: Se x=1, abbiamo diviso per zero.
Docente: Perciò quel passaggio può essere fatto soltanto nel caso x ≠ 1. Il caso x=1 va esaminato separatamente.
Oppure possiamo evitare la divisione:
x(x−1)−2(x−1)=0
Raccogliamo x−1:
(x−1)(x−2)=0
Un prodotto è zero quando almeno uno dei fattori è zero. Dunque:
x=1 oppure x=2
Anna: Però, per accorgermi dell’errore, dovevo già conoscere il problema della divisione per zero.
Docente: Sì. Qui una conoscenza matematica ci ha permesso di valutare la risposta.
Anna: E se non la conoscevo?
Docente: Avresti potuto impararla proprio attraverso questa discussione. Non bisogna sapere tutto prima di usare l’IA. Ma neppure pensare che ottenere una risposta renda inutile imparare.
Marta: In realtà io non avevo visto il problema. Me ne sono accorta quando Luca ha provato uno.
Docente: Ed è un punto importante: il controllo non deve necessariamente essere il lavoro solitario di uno studente contro una macchina. Può nascere dal confronto tra voi, con me e con l’IA.
Davide: Ma anche tu potresti dimenticare una soluzione.
Docente: Certamente. Per questo la conclusione non deve essere «fidatevi del docente anziché dell’IA». Deve essere: chiediamo ragioni che possiamo esaminare, indipendentemente da chi propone la risposta.
3. Secondo esempio: una risposta può far nascere una domanda che non avevamo
Docente: Finora abbiamo parlato di errori. Adesso vediamo una risposta utile, che può portarci oltre la domanda iniziale.
Scrive:
√(128 · 98)
Docente: Chiediamo all’IA di calcolare questa radice mostrando un procedimento.
IA: Possiamo osservare che:
128=8² · 2
98=7² · 2
Quindi:
√(128 · 98)
=√(8² · 7² · 4)
=8 · 7 · 2
=112
Davide: Bene. Questa volta il risultato è completo.
Marta: Però mi incuriosisce una cosa. Né 128 né 98 sono quadrati perfetti, ma il loro prodotto sì.
Luca: Succede perché sono entrambi pari?
Anna: Potremmo chiederlo all’IA.
Docente: Possiamo farlo. Ma prima proviamo noi a mettere alla prova questa idea. Quali numeri scegliereste?
Davide: Otto e dieci. Sono entrambi pari e il prodotto è ottanta.
Marta: Ottanta non è un quadrato perfetto: è tra sessantaquattro e ottantuno.
Luca: Quindi essere pari non basta.
Docente: Bene. L’ipotesi era ragionevole, ma abbiamo trovato un controesempio. Torniamo alla scomposizione: che cosa hanno in comune 128 e 98?
Anna: Sono un quadrato moltiplicato per due.
Marta: E i due fattori due, moltiplicandosi, fanno quattro, che è un altro quadrato.
Docente: Possiamo usare questa osservazione per costruire un nuovo esempio?
Marta: Provo con:
18=3² · 2
e:
50=5² · 2
Allora:
√(18 · 50)=3 · 5 · 2=30
Davide: E infatti diciotto per cinquanta fa novecento.
Luca: Quindi non abbiamo soltanto risolto il calcolo: abbiamo trovato un modo per inventarne altri.
Docente: Esatto. Chiediamo adesso all’IA di esprimere in generale quello che avete osservato.
IA: Prendendo tre interi positivi a, b e k, possiamo costruire i numeri:
ka² e kb²
Il loro prodotto è:
(ka²)(kb²)=k²a²b²=(kab)²
Quindi:
√((ka²)(kb²))=kab
Questo è un modo per costruire due numeri il cui prodotto sia un quadrato perfetto.
Anna: Allora correggo quello che avevo detto all’inizio.
Docente: In che senso?
Anna: Avevo detto che l’intelligenza è sapere che cosa chiedere all’IA. Ma qui non sapevamo già quale domanda fare. La domanda è nata guardando la risposta.
Marta: Io avevo chiesto soltanto un calcolo. La scomposizione mi ha fatto notare qualcosa che non stavo cercando.
Docente: Perciò il rapporto non è soltanto:
Faccio una buona domanda → ottengo una buona risposta.
Può essere anche:
Faccio una domanda semplice → incontro un’idea interessante → formulo una nuova domanda → provo a verificarla.
Davide: E la nuova domanda può venire anche da un compagno, non soltanto dall’IA.
Docente: Proprio come è successo adesso.
4. Terzo esempio: funziona, ma è stato progettato bene?
Docente: Passiamo all’informatica. Abbiamo già costruito una funzione:
RandomNumero(N)
Per ogni intero positivo N, restituisce un numero intero casuale tra 1 e N, estremi inclusi, con la stessa probabilità per ciascun numero.
Adesso vogliamo una funzione:
RandomRange(a, b)
che restituisca un intero casuale tra a e b, estremi inclusi. Supponiamo che a e b siano interi e che a ≤ b.
Anna: Chiediamola all’IA.
L’IA propone una nuova funzione autonoma, che riparte dal generatore casuale di base. La classe la esamina e verifica che il procedimento sia corretto.
Davide: Questa volta abbiamo controllato anche gli estremi. Funziona.
Docente: Sì. Ma abbiamo sfruttato quello che avevamo già costruito?
Marta: No. Avevamo già
RandomNumero(N).
Luca: Ma è obbligatorio usarla? Se la nuova funzione funziona, perché dovrebbe essere sbagliata?
Docente: Non è automaticamente sbagliata. La domanda è se, per il nostro progetto, sia preferibile riutilizzare una funzione che già esprime una parte del lavoro, invece di riscrivere quella logica.
Davide: Quindi il problema non riguarda il risultato, ma l’organizzazione della soluzione.
Docente: Esatto. Proviamo a costruire
RandomRangeusando soltantoRandomNumero. Partiamo da un caso: estrarre un intero tra 10 e 20.
Anna: Uso
RandomNumero(10)e aggiungo dieci.
Marta: Aspetta. Così il numero più piccolo sarebbe undici, non dieci.
Luca: E tra dieci e venti ci sono undici numeri, perché contiamo anche gli estremi.
Docente: Allora?
Marta: Uso:
RandomNumero(11)
Ottengo un numero tra 1 e 11. Poi aggiungo 9:
RandomNumero(11) + 9
Uno diventa dieci e undici diventa venti.
Davide: E tutti quelli in mezzo si spostano nello stesso modo.
Docente: Adesso generalizziamo. Quanti interi ci sono tra a e b, estremi inclusi?
Luca:
b−a+1
Docente: E quanto dobbiamo aggiungere per trasformare 1 in a?
Anna:
a−1
Marta: Quindi:
RandomRange(a, b) =
RandomNumero(b − a + 1) + a − 1
Docente: Controlliamo i due estremi.
Quando RandomNumero restituisce 1:
1+a−1=a
Quando restituisce b−a+1:
(b−a+1)+a−1=b
Davide: Quindi la funzione nuova si appoggia a quella precedente.
Luca: Continuo a pensare che, in un programma così piccolo, anche la soluzione autonoma possa andare bene.
Docente: Hai ragione a non trasformare il riuso in un obbligo assoluto. Dobbiamo motivare la scelta. In questo esercizio volevamo imparare a costruire una nuova soluzione a partire da una funzione già disponibile. Per questo il riuso è parte dell’obiettivo, non un dettaglio.
Anna: Allora anche una risposta tecnicamente corretta dell’IA potrebbe non cogliere quello che stiamo cercando di imparare.
Docente: Sì. E dobbiamo rendere esplicito quell’obiettivo, anziché aspettarci che venga indovinato.
Marta: Potremmo scrivere all’IA: «Non ripartire da zero. Usa
RandomNumero(N)e spiegaci come trasformare l’intervallo».
Docente: Questa è una richiesta migliore. Ma notate che siete arrivati a formularla dopo aver discusso una prima soluzione, non prima.
5. L’obiezione più difficile: ma così non perdiamo tempo?
Davide: Posso fare l’avvocato del diavolo? Per avere una formula abbiamo discusso dieci minuti. L’IA ce la poteva dare in dieci secondi.
Docente: È vero. Che cosa abbiamo ottenuto nei dieci minuti che non era contenuto nel semplice possesso della formula?
Marta: Abbiamo capito perché compare il più uno.
Luca: Abbiamo scoperto che una funzione può essere corretta ma non essere la scelta che preferiamo per quel progetto.
Anna: E abbiamo imparato a usare una funzione precedente per costruirne un’altra.
Davide: Ma io potrei chiedere all’IA anche tutte queste spiegazioni.
Docente: Certamente. Sarebbe un buon uso dello strumento. La questione è che cosa fai delle spiegazioni: le scorri, le ripeti oppure riesci a usarle?
Davide: Come lo distingui?
Docente: Cambiando leggermente il problema. Per esempio: ora vogliamo un intero casuale tra −3 e 2. Come useresti la funzione precedente?
Davide: I numeri possibili sono sei. Uso
RandomNumero(6)… e sottraggo quattro. Uno diventa meno tre, sei diventa due.
Docente: Il calcolo è giusto. Ma abbiamo già costruito la funzione di livello superiore: per utilizzarla scriviamo semplicemente:
RandomRange(-3, 2)
Marta: Quindi non dobbiamo creare una funzione nuova perché ci sono numeri negativi?
Docente: Esatto. Il tuo ragionamento spiega che cosa fa internamente la funzione. Verifichiamo il numero dei valori, contando entrambi gli estremi:
b − a + 1 = 2 − (−3) + 1 = 6
−3, −2, −1, 0, 1, 2
Anna: Sono sei. E per trasformare il primo valore, 1, in −3 dobbiamo sottrarre 4: infatti a − 1 = −3 − 1 = −4.
Docente: Sostituiamo a = −3 e b = 2 nella formula generale. Le righe seguenti mostrano un’equivalenza di calcolo, non la dichiarazione di una nuova funzione:
RandomRange(-3, 2)
≡ RandomNumero(2 - (-3) + 1) + (-3) - 1
≡ RandomNumero(6) - 4
Davide: RandomNumero(6) produce uno degli interi da 1 a 6. Sottraendo quattro, ciascuno viene spostato nella posizione corretta:
1, 2, 3, 4, 5, 6
↓ −4
−3, −2, −1, 0, 1, 2
Docente: Ogni valore di partenza corrisponde a un solo valore di arrivo. Se i sei valori iniziali hanno la stessa probabilità, anche quelli finali la conservano. La presenza di numeri negativi non cambia l’algoritmo.
Marta: Per capire il funzionamento posso ragionare su
RandomNumero(6) - 4; per usare il servizio già costruito chiamoRandomRange(-3, 2).
Docente: Proprio così. Ecco le due funzioni riutilizzabili e la chiamata, in JavaScript, per intervalli di interi piccoli come quelli dell’esempio:
function RandomNumero(N) {
return Math.floor(Math.random() * N) + 1;
}
function RandomRange(a, b) {
return RandomNumero(b - a + 1) + a - 1;
}
const numero = RandomRange(-3, 2);
console.log(numero);
La formula b − a + 1 conta i valori, mentre a − 1 sposta l’intervallo nella posizione corretta. Capire il meccanismo non significa doverlo riscrivere ogni volta.
Docente: Adesso non hai soltanto riconosciuto una formula già scritta. Hai applicato il ragionamento a un caso diverso.
Anna: Quindi il criterio non è quanto tempo ho passato senza l’IA.
Docente: No. E neppure quante domande le ho fatto. In questa attività ci interessa capire quale capacità avete costruito attraverso il suo uso.
Luca: Però uno potrebbe limitarsi a copiare.
Marta: Potrebbe anche copiare dal libro o da un compagno.
Docente: Il rischio di sostituire il lavoro con una risposta pronta va affrontato. Ma non basta scegliere lo strumento giusto: bisogna progettare l’attività. Per esempio, oggi non vi ho chiesto soltanto il risultato. Vi ho chiesto di trovare un’omissione, proporre un controesempio e adattare una soluzione.
6. Torniamo al detto iniziale
Il docente riproietta la frase.
«L’intelligenza non è la capacità d’immagazzinare informazioni, ma di sapere dove trovarle.»
Docente: Dopo questa discussione, che cosa cambiereste?
Anna: Aggiungerei: «e sapere che cosa farne».
Luca: Io aggiungerei: «e sapere quando non fidarsi».
Marta: Non direi soltanto “non fidarsi”. Nell’esempio della radice, la risposta dell’IA ci ha aiutato a vedere qualcosa di nuovo.
Davide: Allora: «sapere usare le risposte per andare oltre».
Docente: E le conoscenze che abbiamo nella nostra testa?
Luca: Servono. Senza la divisione per zero non avremmo capito il primo errore.
Anna: Però possiamo anche costruirle durante il dialogo. Non dobbiamo possederle già tutte.
Marta: Quindi non dobbiamo scegliere tra sapere e chiedere. Possiamo chiedere per sapere meglio.
Davide: E qualche volta capire meglio ci fa cambiare la domanda.
Il docente scrive alla lavagna una proposta nata dalla discussione:
«Con l’IA, l’intelligenza non è soltanto sapere dove trovare le risposte, ma saperle comprendere, mettere alla prova e usare per costruire nuove conoscenze e nuove domande.»
Luca: Mi piace, ma rimane un problema: come ci accorgiamo che stiamo davvero capendo e non soltanto seguendo una spiegazione che sembra convincente?
Docente: Non risolviamo questo problema con uno slogan. Cominciamo con una prova: scegliete uno degli esempi di oggi, cambiatene una condizione e spiegate ai compagni che cosa cambia e perché.
Marta: Possiamo usare l’IA?
Docente: Sì. Ma nella discussione dovrete distinguere ciò che vi ha proposto, ciò che avete verificato e ciò che ancora non vi convince.