RAG che non dimentica
Il giorno in cui un sistema intelligente ha quasi mandato un tecnico in ospedale — e quello in cui ho capito che la memoria non è un optional
C’è un momento preciso in cui ho smesso di costruire sistemi RAG nel modo classico.
Non è stato durante una conferenza. Non è stato leggendo un paper accademico.
È stato quando ho realizzato che un sistema che avevo contribuito a progettare stava per far prendere la scossa a qualcuno.
Storia numero uno: il tecnico e il contatore
Un tecnico di manutenzione industriale stava usando un assistente AI per gestire un intervento su una macchina.
La mattina aveva scritto al sistema: “Ho staccato la macchina dal quadro generale, ho abbassato il contatore.”
Il sistema aveva risposto correttamente. Procedura registrata.
Sei ore dopo — sei ore, non sei minuti — il tecnico torna alla macchina. Deve togliere la cappa per fare pulizia. Chiede al sistema come procedere.
Il sistema risponde con precisione chirurgica: ecco i passaggi per rimuovere la cappa, ecco gli strumenti, ecco la sequenza corretta.
Nessuna menzione della corrente staccata. Nessun “ricorda che stamattina hai detto che il contatore è abbassato.” Nessun controllo incrociato con quello che era stato detto ore prima.
Il tecnico avrebbe potuto procedere convinto di avere istruzioni complete. In un contesto reale, con macchinari diversi, con cavi residui, con condensatori carichi — quella risposta incompleta poteva costare cara.
Il problema non era la risposta sbagliata. Era la memoria assente.
Il sistema sapeva tutto sulle cappe. Non sapeva nulla del contesto di quella giornata. Non aveva collegato i punti. Non aveva capito che quella domanda, in quel momento, richiedeva un avviso che andava ben oltre le istruzioni tecniche.
Storia numero due: il medico e il paziente di ritorno
Il secondo episodio non l’ho vissuto io direttamente — ma è quello che ha dato forma alla parte clinica di MeminTime.
Un medico usa un assistente RAG per accelerare le diagnosi. Il sistema è veloce, preciso, recupera le linee guida in secondi.
Un paziente viene a visita. Racconta le sue patologie: è diabetico, ha avuto problemi cardiaci, prende già tre farmaci. Il medico annota tutto. Il sistema risponde bene.
Un mese dopo lo stesso paziente torna. Ha un nuovo sintomo.
Il sistema RAG classico non lo riconosce. Per lui, quel paziente è un nuovo utente con un nuovo problema. Non ha memoria della visita precedente. Non sa che è diabetico. Non sa che certi farmaci sarebbero controindicati. Non sa che quel sintomo, combinato con quella storia clinica, potrebbe voler dire qualcosa di completamente diverso da quello che sembra.
Il medico deve ricominciare da zero. O — peggio — si fida del sistema che risponde senza contesto.
In entrambi i casi, il sistema aveva fallito prima ancora di rispondere.
Il vero problema: l’amnesia strutturale
Questi due episodi mi hanno chiarito una cosa che nelle specifiche tecniche non compare mai:
Un sistema RAG classico non ha memoria episodica. Recupera documenti. Non ricorda persone, non ricorda contesti, non ricorda conversazioni passate. Ogni sessione ricomincia da zero.
È come un medico brillantissimo che però, ogni volta che vedi un paziente, ha perso tutti i suoi appunti.
👉 Sa tutto sulla medicina. Non sa nulla di te.
Questo va bene per rispondere a domande generiche su un manuale. Non va bene quando le risposte hanno conseguenze reali — industriali, cliniche, legali.
Ho progettato MeminTime per risolvere esattamente questo: non solo recuperare informazioni, ma ricordare il contesto nel tempo e usarlo per proteggere l’utente da risposte tecnicamente corrette ma contestualmente pericolose.
Come funziona in pratica: la memoria che non dimentica
La soluzione non è stata aggiungere un database in più. È stata ripensare l’intera architettura da zero.
Prima che il sistema risponda a qualsiasi domanda, recupera silenziosamente il profilo storico dell’utente — tutto quello che è stato detto in sessioni precedenti, le condizioni registrate, gli incidenti segnalati. Poi fonde questo contesto con la domanda attuale e costruisce una “Super Query” che interroga il database con il peso dell’intera storia.
Nel caso del tecnico: avrebbe letto che stamattina il contatore era stato abbassato, avrebbe collegato quel dato alla domanda sulla cappa, avrebbe inserito nell’istruzione un avviso esplicito sulla gestione dell’impianto elettrico.
Nel caso del medico: avrebbe saputo che quel paziente era già stato visitato, avrebbe caricato la sua storia clinica, avrebbe filtrato le risposte escludendo i farmaci controindicati con il diabete.
Non è fantascienza. È architettura.
Quello che ho imparato
Costruire sistemi AI per ambienti reali — industriali, clinici, legali — significa accettare una responsabilità che va oltre la correttezza della risposta singola.
Significa chiedersi: cosa succede se questa risposta viene letta senza il contesto che l’utente ha già fornito?
Significa costruire sistemi che ricordano. Che connettono. Che intervengono quando qualcosa non torna.
Ho scritto l’analisi tecnica completa dell’architettura — i cinque livelli, il Safety Override, la Prompt State Machine — in un articolo su Medium, se vuoi approfondire il lato implementativo.
👉 Leggi la versione tecnica completa su Medium →
La domanda che mi faccio ancora oggi, dopo tutto questo lavoro, è semplice: quanti sistemi RAG sono già in produzione in ospedali, fabbriche e studi legali — e quanti di loro ricordano quello che gli è stato detto ieri?