La maggior parte delle chat basate sull’IA segue uno schema semplice: invia un messaggio a un modello linguistico, aspetta la risposta e la mostra all’utente.
Pip funziona in modo diverso.
Una risposta generata da un modello di IA non viene mai considerata automaticamente pronta per essere mostrata a un bambino. Ogni turno di chat passa attraverso una pipeline controllata lato server. Pip applica le regole della famiglia, controlla il nuovo messaggio del bambino, genera una risposta adatta alla sua età, verifica la presenza di problemi evidenti e sottopone la risposta a un ulteriore controllo di sicurezza e qualità prima che possa diventare visibile.
Se un controllo di sicurezza obbligatorio non può essere completato correttamente, la risposta non viene mostrata.
Chiamiamo questo principio fail closed, cioè fallire in modo sicuro.
In questo articolo spieghiamo perché abbiamo progettato Pip in questo modo, come lavorano insieme i diversi livelli di protezione e quali sono ancora i limiti del sistema.
Perché un system prompt non è sufficiente
Il modo più semplice per creare una presunta “IA per bambini” è prendere un modello linguistico generalista e aggiungere istruzioni come:
Stai parlando con un bambino. Rispondi in modo sicuro, gentile e adatto alla sua età.
Queste istruzioni sono utili. Anche Pip utilizza indicazioni dettagliate per guidare il modello che genera le risposte.
Ma non crediamo che da sole costituiscano una barriera di sicurezza sufficiente.
I modelli linguistici sono sistemi probabilistici. Possono interpretare male una richiesta, seguire l’istruzione sbagliata, rispondere in un’altra lingua, ripetersi, interrompere una risposta a metà o generare contenuti che un’applicazione destinata ai bambini non dovrebbe accettare.
Anche la prompt injection è un rischio ben noto nelle applicazioni basate su modelli linguistici. OWASP identifica, tra gli altri, la prompt injection e la gestione non sicura degli output del modello tra i principali rischi da considerare quando si costruiscono applicazioni basate su LLM.
Per un prodotto utilizzato da bambini, volevamo quindi che le regole più importanti esistessero anche al di fuori del modello.
Questo ci ha portato a un semplice principio architetturale:
Il modello può proporre una risposta. L’applicazione decide se quella risposta può arrivare al bambino.
Per questo prodotti generalisti come ChatGPT appartengono a un’altra categoria rispetto a un’applicazione pensata fin dall’inizio per i bambini. Per le regole di età e i controlli parentali di ChatGPT, consulta ChatGPT è sicuro per i bambini?.
La pipeline di chat di Pip
In modo semplificato, un turno di chat in Pip carica le regole attualmente applicabili al bambino, applica le regole dei genitori, di accesso e dell’account, controlla il nuovo messaggio, genera una risposta candidata adatta alla sua età, verifica la presenza di problemi evidenti, sottopone la risposta a un ulteriore controllo di sicurezza e qualità, e solo allora può salvarla e mostrarla.
Esistono diversi punti in cui il processo può interrompersi.
È intenzionale.
Il fallimento di un controllo di sicurezza non dovrebbe mai trasformarsi silenziosamente in “mostriamo comunque la risposta”.
Un turno di chat
Ogni turno, fail closed
Scegli una situazione e percorri il turno. Una risposta generata è solo candidata finché tutte le fasi obbligatorie non sono andate a buon fine.
Scegli una situazione
Tutte le fasi obbligatorie hanno successo, così la candidata diventa una risposta che il bambino può vedere.
Il bambino invia
Perché le foglie cambiano colore in autunno?
Non ancora iniziato
Le fasi App le applica il codice. Le fasi IA sono una decisione del modello.
1. Le impostazioni dei genitori sono regole dell’applicazione
In Pip i genitori possono configurare, tra le altre cose:
- Se la chat è attualmente disponibile
- Orari di pausa
- Un limite giornaliero di messaggi
- Quali assistenti può utilizzare il bambino
- Se è disponibile la chat generale
- Lo stile di comunicazione preferito
- Ulteriori argomenti che la famiglia vuole che Pip eviti
Queste impostazioni vengono valutate dall’applicazione prima che venga generata una risposta.
La distinzione è importante.
Se un genitore imposta, per esempio, un orario di pausa, Pip non dice al modello:
“Ricorda che questo bambino non dovrebbe più chattare dopo le 21:00.”
Il modello semplicemente non viene chiamato.
L’applicazione controlla le regole attive e interrompe il turno.
Lo stesso principio vale per i limiti giornalieri e per l’accesso ai diversi assistenti. Sono regole del prodotto e devono quindi essere applicate dalla logica del prodotto.
2. Alcune barriere di sicurezza non possono essere disattivate
Ogni famiglia ha preferenze diverse.
Una famiglia potrebbe essere a proprio agio con un adolescente che parla di attualità in modo adeguato alla sua età. Un’altra potrebbe preferire escludere del tutto politica e notizie dall’app.
Per questo Pip consente ai genitori di impostare ulteriori restrizioni su determinati argomenti.
Altri limiti non sono invece una preferenza familiare. Fanno parte delle protezioni di base di Pip e non possono essere disattivati.
Tra questi rientrano:
- Istruzioni dannose relative all’autolesionismo
- Contenuti sessuali espliciti e grooming
- Istruzioni pericolose o illegali
- Challenge pericolose
- Gravi rischi legati alla privacy e al contatto con sconosciuti
- Truffe e phishing
I genitori possono rendere Pip più restrittivo in altri ambiti, ma non possono disattivare queste protezioni fondamentali.
Ogni bambino ha così un insieme effettivo di regole che combina le protezioni di base di Pip con le scelte aggiuntive della famiglia.
La prima decisione dell’IA avviene prima della risposta
Se le regole consentono al bambino di utilizzare la chat, il suo nuovo messaggio passa prima attraverso un controllo di sicurezza.
Questo compito è diverso dal rispondere alla domanda.
Il sistema di valutazione deve prendere una decisione strutturata su come l’applicazione dovrebbe procedere. In modo semplificato, ci sono tre possibilità:
- Continuare normalmente
- Rifiutare la richiesta
- Fornire una risposta di supporto
La terza possibilità è particolarmente importante.
Un messaggio sensibile non è sempre una richiesta pericolosa.
Un bambino che chiede istruzioni pericolose non dovrebbe riceverle. Ma un bambino che dice di avere paura, sentirsi sopraffatto o aver bisogno di aiuto potrebbe invece aver bisogno di una risposta calma che lo incoraggi a parlare con un adulto di fiducia.
Trattare ogni messaggio sensibile come se fosse una violazione delle regole produrrebbe, secondo noi, un’esperienza peggiore.
Il controllo in ingresso ha quindi un compito preciso e limitato: decidere come gestire la richiesta prima che inizi la normale generazione della risposta.
Se il messaggio viene rifiutato in questa fase, il modello che genera le normali risposte non viene nemmeno chiamato.
La risposta viene generata per quel bambino
Quando il turno può continuare, Pip prepara il contesto necessario per generare la risposta.
Il modello riceve informazioni rilevanti su come dovrebbe rispondere, tra cui:
- L’età approssimativa del bambino
- L’assistente Pip selezionato
- Il tono preferito
- La lingua prevista
- Le restrizioni sugli argomenti attualmente attive
- Se la situazione richiede una risposta di supporto
- Una parte limitata e rilevante della cronologia della conversazione
La risposta dovrebbe quindi cambiare in base al bambino e alla situazione.
Una spiegazione per un bambino di sei anni non dovrebbe suonare come una spiegazione per un adolescente di sedici.
Homework Helper dovrebbe guidare il bambino nello svolgimento di un compito invece di limitarsi a farlo al suo posto. Come le famiglie possono usare quell'assistente senza sostituire il lavoro del bambino è spiegato in IA per i compiti: come imparare senza copiare.
Story Time può essere creativo.
Calm Corner può offrire rassicurazione senza presentarsi come un terapeuta.
Queste differenze fanno parte delle istruzioni di generazione. Anche così, il testo prodotto rimane soltanto una risposta candidata.
Il bambino non l’ha ancora ricevuta.
Il codice controlla prima gli errori evidenti
Non tutte le cattive risposte di un’IA richiedono un’altra IA per essere identificate.
Prima di utilizzare un ulteriore modello per controllare una risposta candidata, Pip può rilevare direttamente alcuni problemi evidenti.
Per esempio, risposte che sembrano:
- Vuote
- Chiaramente incomplete
- Eccessivamente ripetitive
- Interrotte durante la generazione
- Prive di una risposta utilizzabile da mostrare al bambino
- Terminate in modo anomalo dal fornitore del modello
Le euristiche esatte sono dettagli di implementazione e possono cambiare man mano che miglioriamo il sistema.
Il principio è più importante: quando un problema può essere rilevato in modo deterministico, è preferibile verificarlo in modo deterministico.
Se l’applicazione sa già che una risposta è difettosa, non è necessario chiedere a un’altra IA se sembra difettosa.
Una risposta candidata rifiutata può essere generata nuovamente entro un numero limitato di tentativi. Anche la nuova risposta deve poi attraversare il resto della pipeline.
Ogni risposta candidata viene controllata di nuovo
Una risposta che supera i controlli deterministici passa poi attraverso un’ulteriore valutazione strutturata.
Questa fase verifica sia la sicurezza sia la qualità pratica della risposta.
Tra le altre cose, può valutare se la risposta:
- È sicura per il bambino
- È pertinente rispetto alla domanda
- È sufficientemente completa
- È scritta nella lingua prevista
- È leggibile e comprensibile
- Evita ripetizioni problematiche
- Rispetta le restrizioni sugli argomenti attive
Sicurezza e qualità vengono trattate in modo diverso.
Se il controllo considera una risposta candidata non sicura, quella risposta viene trattenuta e non mostrata.
Pip non rimanda semplicemente una risposta non sicura al modello con l’istruzione “rendila più sicura” per poi considerare automaticamente accettabile la nuova versione.
Qualsiasi nuova risposta candidata deve attraversare nuovamente la pipeline.
Se invece il problema riguarda esclusivamente la qualità, per esempio perché la risposta è incompleta o nella lingua sbagliata, Pip può generare un nuovo candidato.
Una risposta potenzialmente non sicura viene quindi trattata in modo più rigoroso rispetto a una risposta semplicemente scadente.
Generazione e controllo sono due compiti distinti
Sarebbe allettante descrivere questa architettura semplicemente come “sicurezza con due modelli”.
Non sarebbe del tutto preciso.
La separazione importante è quella tra generazione e controllo.
La fase di generazione ha il compito di creare una risposta utile per il bambino.
La fase di controllo riceve un compito diverso. Analizza la richiesta del bambino e la risposta candidata e deve restituire una decisione strutturata invece di generare nuovo testo conversazionale.
I due ruoli possono essere configurati indipendentemente e utilizzare modelli diversi. Possono anche essere eseguiti tramite chiamate separate allo stesso modello sottostante.
Due chiamate separate non garantiscono un’indipendenza perfetta. I modelli possono condividere gli stessi punti deboli.
Creano però una barriera decisionale aggiuntiva tra il testo generato e il testo che può effettivamente essere mostrato al bambino.
In Pip questa barriera viene combinata con regole dei genitori applicate lato server e controlli deterministici. Non è l’unico meccanismo di sicurezza.
Cosa succede quando qualcosa va storto tecnicamente?
I sistemi di IA dipendono da servizi che possono fallire.
Una richiesta può andare in timeout. Un fornitore può restituire un errore. Una risposta strutturata può risultare non valida. Una generazione può interrompersi in modo inatteso.
Il prodotto deve avere un comportamento chiaramente definito per queste situazioni.
In Pip la regola è semplice:
Se un controllo obbligatorio non è stato completato correttamente, la risposta candidata non viene mostrata.
Il bambino può ricevere al suo posto un messaggio neutro che gli chiede di riprovare.
Questo è volutamente diverso da un rifiuto per motivi di sicurezza.
Un problema tecnico non significa che la domanda del bambino fosse problematica. Il prodotto non dovrebbe nemmeno suggerire che lo fosse.
Allo stesso tempo, Pip non mostrerà una risposta non controllata soltanto perché un servizio di verifica è temporaneamente indisponibile.
Questo è ciò che significa, nella pratica, funzionare in modalità fail closed.
I tentativi successivi non possono aggirare la pipeline
I retry sono più importanti di quanto possano sembrare in un’app di chat.
Le connessioni mobili possono interrompersi. Una richiesta può essere inviata di nuovo. Un bambino può toccare due volte. Il server potrebbe perfino aver completato una risposta anche se l’app non ha mai ricevuto il risultato.
Pip gestisce quindi i turni di chat in modo che le richieste ripetute possano essere trattate in modo coerente, invece di generare alla cieca una nuova risposta ogni volta.
Dal punto di vista della sicurezza, un altro principio è ancora più importante:
I retry fanno parte della pipeline stessa.
Un nuovo tentativo può generare una nuova risposta candidata.
Non può trasformare una risposta precedentemente rifiutata in una risposta accettata.
Non può saltare il controllo finale.
E se i tentativi previsti non possono essere completati correttamente, Pip preferisce restituire un errore temporaneo piuttosto che mostrare una risposta che non ha superato i controlli necessari.
In sistemi come questo, affidabilità tecnica e sicurezza sono strettamente collegate.
Cosa possono vedere i genitori
Pip distingue tra normali limitazioni del prodotto e veri eventi di sicurezza.
Se un bambino non può utilizzare la chat perché si trova nell’orario di pausa o perché ha raggiunto il limite giornaliero, questo non viene considerato un incidente di sicurezza.
Il bambino riceve un messaggio appropriato e il turno non prosegue.
Una decisione di moderazione è diversa.
Quando Pip blocca un messaggio o trattiene una risposta generata considerata non sicura, quell’evento può comparire nella sezione Issues destinata ai genitori.
Cerchiamo così di rispondere a due domande differenti:
Per il bambino:
“Cosa posso vedere in modo sicuro in questo momento?”
Per i genitori:
“È successo qualcosa in Pip di cui forse dovrei essere informato?”
Il contenuto che è stato deliberatamente trattenuto dal bambino può rimanere visibile soltanto ai genitori.
Questo fa parte della filosofia generale di Pip: la supervisione dei genitori dovrebbe essere una funzione esplicita del prodotto, non una promessa nascosta all’interno di un prompt per l’IA.
I genitori che vogliono un quadro pratico per valutare queste proprietà in qualsiasi applicazione di IA, non solo in Pip, possono usare IA sicura per bambini: checklist per genitori.
Le versioni delle regole migliorano la tracciabilità
Le impostazioni dei genitori cambiano nel tempo.
Un genitore può attivare un altro assistente la settimana successiva, modificare gli orari di pausa o aggiungere una nuova restrizione su un argomento.
Questo solleva una domanda importante quando si rivede una conversazione precedente:
Quali regole erano attive quando è stata generata questa risposta?
Pip associa quindi le risposte accettate alla versione delle regole attiva durante quel turno.
Questo non rende automaticamente una risposta corretta o sicura.
Ma rende il comportamento del sistema più facile da capire e verificare.
Per noi questo tipo di dettaglio è importante. I controlli parentali non dovrebbero essere semplici interruttori nell’interfaccia. Dovrebbero far parte realmente del modo in cui il prodotto viene eseguito.
Perché non pubblichiamo tutti i dettagli tecnici
Trasparenza non significa pubblicare un manuale completo per riprodurre il sistema o testarne sistematicamente i limiti.
In questo articolo descriviamo l’architettura, le barriere di sicurezza, il comportamento in caso di errore e le principali decisioni progettuali.
Non pubblichiamo i valori di regolazione che stanno dietro: soglie, limiti, budget, prompt, regole di routing e parametri infrastrutturali che fanno funzionare ogni controllo.
Questi valori cambiano man mano che il sistema evolve. Pubblicarli offrirebbe poche informazioni utili alle famiglie e renderebbe il sistema più facile da sondare.
Ciò che riteniamo più importante è il comportamento che questi meccanismi permettono di ottenere.
Un orario di pausa definito dai genitori viene applicato prima della generazione.
Una risposta generata non viene considerata automaticamente affidabile.
Un controllo obbligatorio non può essere ignorato silenziosamente.
Una risposta trattenuta rimane invisibile al bambino.
Queste sono proprietà del prodotto, non semplici parametri di configurazione.
I compromessi
Un’architettura come questa non è gratuita.
Più controlli significano maggiore latenza
Un normale turno di chat completato con successo passa attraverso diverse fasi invece di limitarsi a una singola richiesta a un modello linguistico.
Questo richiede più tempo.
Utilizziamo controlli brevi e specializzati, insieme a verifiche deterministiche quando ha senso farlo, per mantenere sotto controllo questo costo aggiuntivo.
Per un prodotto destinato ai bambini, crediamo che questo compromesso valga la pena.
Più controlli significano anche maggiori costi
Lo stesso vale dal punto di vista economico.
Controllare sia una richiesta sia la relativa risposta costa di più rispetto a mostrare direttamente il primo testo generato.
Abbiamo progettato Pip fin dall’inizio considerando questi controlli come parte del normale costo di una risposta, non come una funzione opzionale aggiunta in seguito.
La supervisione dei genitori richiede la memorizzazione delle conversazioni
Pip può mostrare ai genitori la cronologia delle conversazioni dei propri figli perché queste chat vengono memorizzate dal servizio.
Questo comporta un vero compromesso in materia di privacy.
Per le famiglie in Italia e nel resto dell’Unione europea, il trattamento dei dati dei minori richiede particolare attenzione. Il GDPR e la normativa italiana in materia di protezione dei dati costituiscono parte del quadro che deve essere considerato nella progettazione di servizi digitali destinati alle famiglie.
La nostra Informativa sulla privacy spiega come Pip tratta queste informazioni.
Non utilizziamo le conversazioni dei bambini per addestrare modelli di IA. Non creiamo profili pubblicitari dei minori e Pip non si finanzia tramite pubblicità comportamentale.
I genitori dovrebbero comunque sapere che funzioni come la cronologia tra dispositivi, la revisione da parte dei genitori e gli eventi di moderazione richiedono la memorizzazione dei dati lato server.
Anche la moderazione può sbagliare
Nessun sistema automatizzato di sicurezza è perfetto.
I bambini usano espressioni colloquiali, commettono errori di ortografia, fanno battute, inviano domande molto brevi, inventano parole e fanno riferimenti che un sistema di classificazione può avere difficoltà a interpretare.
Un sistema può bloccare qualcosa di innocuo.
Può anche non rilevare qualcosa di preoccupante.
Utilizzare più livelli di protezione riduce la dipendenza da una singola decisione del modello, ma non elimina i limiti fondamentali dell’IA generativa.
Per questo presentiamo Pip come un modo più sicuro e gestito dai genitori per permettere ai bambini di esplorare l’IA, non come un sistema capace di garantire una sicurezza assoluta.
Un controllo di sicurezza non è una verifica dei fatti
Questa distinzione è importante.
Una risposta può essere sicura e allo stesso tempo essere sbagliata.
Il controllo in uscita è progettato per rilevare problemi di sicurezza e di qualità pratica. Non è un sistema universale di fact-checking.
Pip può comunque:
- Indicare una data errata
- Interpretare male un compito scolastico
- Spiegare in modo scorretto un concetto scientifico
- Presentare con sicurezza un’affermazione che non è vera
I bambini dovrebbero imparare che le informazioni importanti fornite da un’IA possono richiedere una verifica.
Per questioni mediche, psicologiche, legali, finanziarie o altre situazioni importanti, una chat con IA non dovrebbe inoltre sostituire un professionista qualificato.
Sicurezza e accuratezza dei fatti sono problemi collegati, ma non sono lo stesso problema.
Cosa non dimostra questa architettura
Pubblicare un diagramma dell’architettura non dimostra che un sistema sia perfettamente sicuro.
Questo articolo non afferma che:
- Ogni richiesta non sicura verrà sempre rilevata
- Ogni richiesta innocua verrà sempre consentita
- Ogni risposta accettata sia corretta dal punto di vista dei fatti
- I controlli automatizzati sostituiscano la supervisione dei genitori
- La sezione Issues sia un sistema di monitoraggio delle emergenze
- Controlli IA separati riproducano un giudizio umano indipendente
- Pip possa garantire un accesso completamente privo di rischi all’IA generativa
Framework come il Generative AI Profile del NIST considerano anche la gestione dei rischi dell’IA come un processo continuo che comprende governance, misurazione, valutazione, monitoraggio e miglioramento.
Condividiamo questo approccio.
La pipeline descritta qui è l’architettura che utilizziamo per ridurre i rischi. La sua efficacia dipende comunque dai modelli utilizzati, dalle regole, dai test, dal monitoraggio e dai miglioramenti continui.
Perché pubblichiamo questa architettura
Oggi i genitori devono scegliere tra un numero crescente di prodotti che utilizzano parole molto simili:
“sicuro”
“adatto all’età”
“per famiglie”
“protetto”
Dall’esterno è difficile capire cosa significhino davvero queste affermazioni.
Preferiamo quindi spiegare cosa succede quando un bambino preme “Invia” in Pip.
Vengono caricate le regole attuali definite dai genitori.
Il messaggio viene controllato.
Il modello genera una risposta candidata.
La risposta viene verificata.
Poi viene sottoposta a un ulteriore controllo.
Solo a quel punto può diventare una risposta visibile.
Se una parte obbligatoria del processo fallisce, il bambino non riceve semplicemente la risposta non ancora verificata.
Questo è lo standard che volevamo per Pip.
Richiede più lavoro rispetto ad aggiungere un prompt “adatto ai bambini” davanti a un chatbot generalista.
Crediamo che sia giusto così.
Prova Pip
Pip è una chat con IA progettata fin dall’inizio per le famiglie, non per singoli account pensati per adulti.
I genitori creano un profilo per ogni bambino e decidono quando e come può utilizzare l’IA. I bambini hanno accesso a una chat adatta alla loro età, oltre a Homework Helper, Story Time, Curious Mind e Calm Corner. I genitori mantengono il controllo su argomenti, orari di pausa, limiti giornalieri, cronologia delle conversazioni ed eventi di sicurezza.
Domande frequenti
Pip utilizza un’IA separata per la sicurezza?
Pip separa la generazione di una risposta dalla sua valutazione di sicurezza.
Le diverse fasi possono essere configurate con modelli differenti, anche se non è obbligatorio utilizzare modelli sottostanti diversi.
Ciò che conta è l’architettura: il fatto che una chiamata di generazione sia riuscita non rende automaticamente il risultato visibile al bambino.
La risposta deve ancora superare le regole dell’applicazione e il controllo finale.
Pip controlla sia la domanda sia la risposta?
Sì.
Il nuovo messaggio del bambino viene controllato prima che inizi la normale generazione della risposta.
La risposta candidata prodotta dal modello viene poi verificata nuovamente prima di poter essere salvata e mostrata.
Cosa succede se un controllo di sicurezza fallisce per un problema tecnico?
La risposta candidata non viene mostrata.
Pip restituisce un errore temporaneo invece di interpretare l’assenza di un controllo come un’approvazione.
I genitori possono vedere contenuti che Pip ha bloccato?
Gli eventi di sicurezza possono essere mostrati ai genitori nella sezione Issues.
I contenuti deliberatamente trattenuti dal bambino possono essere memorizzati con visibilità riservata ai genitori. In questo modo possono capire cosa è successo senza rendere quel contenuto visibile al bambino.
Gli orari di pausa e i limiti giornalieri vengono decisi da un’IA?
No.
La disponibilità della chat, gli orari di pausa, i limiti di utilizzo e l’accesso ai diversi assistenti sono regole dell’applicazione.
Non dipendono dalla capacità di un modello linguistico di seguire correttamente un’istruzione.
Pip garantisce che ogni risposta sia corretta?
No.
La pipeline è progettata per ridurre problemi di sicurezza e qualità. Non verifica automaticamente ogni affermazione fattuale del modello confrontandola con fonti esterne.
Le informazioni importanti devono comunque essere verificate.
Pip è completamente sicuro?
Nessun sistema serio basato sull’IA generativa può garantirlo.
Pip combina regole controllate dai genitori, verifica dei messaggi in ingresso, generazione adattata all’età, controlli deterministici, revisione delle risposte, visibilità per i genitori e comportamento fail closed.
Questi diversi livelli sono progettati per ridurre i rischi e mantenere i genitori coinvolti.
Non sostituiscono la supervisione dei genitori né l’aiuto di professionisti quando necessario.