Chiudi la scheda del browser venerdì sera. La riapri lunedì, riprendi la stessa conversazione, e l’assistente non ha più memoria di te, non sa nemmeno chi sei. Le preferenze che avevi espresso, il lavoro lasciato a metà, le due ore di contesto costruite insieme: sparite. Si riparte da zero.
La risposta diffusa a quel vuoto si chiama RAG, e funziona pescando per somiglianza i pezzi di testo che servono e infilandoli nel prompt. Trasformare quella tecnica in una memoria vera è il problema su cui si arrovellano i team che costruiscono agenti in questo momento. Sotto la parte tecnica, fatta di schemi e di query, c’è una distinzione che riguarda chiunque costruisca prodotti con l’AI, ed è meno una scelta di database e più una scelta di strategia. Il RAG recupera. La memoria ricorda. E lì, nel punto in cui un sistema smette di recuperare e inizia a ricordare, smette anche di essere reattivo, e nasce un vantaggio che il modello, da solo, non ti dà.
Più contesto nel prompt non basta
Il RAG che quasi tutti hanno messo in produzione sono quattro righe di codice: trasformi i documenti in vettori, trasformi la domanda dell’utente in un vettore, peschi i più vicini, li infili nel prompt. Funziona. Funziona così bene che è diventato il default di ogni assistente interno degli ultimi due anni, e spiega anche perché quegli assistenti si somigliano tutti, appena la conversazione prova ad andare un po’ più in là.
Il recupero puro si rompe sempre negli stessi punti. La conversazione lunga, che dopo qualche centinaio di scambi non sta più nel prompt. La ripresa, l’utente che torna il giorno dopo e vorrebbe ritrovare dove era arrivato. Le preferenze e le regole, «questo cliente vuole le date in formato giorno-mese-anno», «i rimborsi sopra i cinquecento euro vogliono un’approvazione», cose che non ottieni per somiglianza semantica con l’ultimo messaggio. La risposta istintiva a tutto questo è una sola: infilare di più nel prompt. Più recupero, più storia, più contesto. Il conto dei token cresce, il modello si perde nel mezzo, e il sistema sembra più lento proprio quando dovrebbe sembrare più competente.
La memoria è un percorso di scrittura
Il salto vero non è mettere un database accanto al vector store. Cambia cosa serve quel livello di archiviazione, e come ci parlano gli agenti.
Il recupero è una query contro un corpus che hai caricato una volta, e niente di ciò che il modello dice rifluisce nel corpus. La memoria invece è un percorso di scrittura: tutto ciò che il sistema osserva durante una sessione, o che l’utente conferma, può diventare un record durevole, con il suo perimetro di visibilità, la sua provenienza, la sua scadenza. Lo stesso record si rilegge dopo, da un’altra sessione, magari da un altro agente che lavora per la stessa persona.
C’è una metafora che gira per descrivere tutto questo, il secondo cervello. La trovo utile e quasi sempre tradita, perché la maggior parte delle implementazioni si ferma un passo prima: ti danno note ricercabili, che sono uno schedario migliore, non una memoria. Una memoria vera distilla. Le note diventano fatti agganciati alle entità che descrivono, il lavoro concluso diventa un episodio riutilizzabile, e lo stesso strato serve allora la chat di una persona e l’agente che lavora al posto suo, senza che nessuno dei due abbia bisogno di una copia tutta sua. È la differenza tra un’AI che reagisce a ogni richiesta come fosse la prima e una che accumula, e sull’accumulo si adatta. In La Mente Adattiva ho provato a descrivere proprio questo scarto, tra un’intelligenza che risponde e una che si trasforma con l’esperienza.
Cinque tipi di memoria da non confondere
«Aggiungere memoria» suona come una funzione sola. In pratica sono sistemi diversi, e se non li separi finisci con un magazzino unico che risponde male a ogni domanda.
Le regole, prima di tutto. Le policy, i vincoli di compliance, le soglie di approvazione cambiano di rado e di proposito, e si recuperano per corrispondenza esatta, mai per somiglianza: una policy cercata per similarità è un errore, perché ti allontana in silenzio dalla regola che vale in quel momento. Poi le preferenze, i parametri stabili di personalizzazione, quelli che fanno sentire il sistema cucito addosso senza doverglielo ridire ogni volta. Poi i fatti, le affermazioni durevoli che l’agente può riusare con la loro provenienza: qui vive il vantaggio che si accumula, e qui i problemi si fanno più duri, perché ogni fatto che scrivi è una scommessa sul futuro. Poi gli episodi, i riassunti del lavoro concluso, la forma di una soluzione passata da riusare invece di riderivarla. E sotto tutto, le tracce, il registratore di volo grezzo da cui fatti ed episodi vengono distillati.
Cinque cose, cinque modi di conservarle, cinque modi di ritrovarle. Confonderne due qualsiasi produce un guasto preciso e prevedibile. È una delle tassonomie possibili, ce ne sono altre, ma il principio vale a prescindere dai nomi: trattare memorie diverse come se fossero la stessa cosa è la radice di metà dei comportamenti strani che vedi negli agenti.
Un cancello prima della memoria
Se prendi sul serio questa separazione, ti serve qualcosa che decida cosa entra nella memoria durevole e cosa resta effimero. È l’operazione più rischiosa di tutto il sistema. Promuovi tutto e la memoria si avvelena da sola, riempiendosi di scarti conversazionali. Non promuovi niente e l’agente resta amnesico.
Il cancello fa poche cose in una transazione sola. Classifica il candidato e gli assegna un perimetro, l’organizzazione, l’utente, l’agente. Verifica i duplicati, così lo stesso fatto che arriva da due sessioni diverse finisce in una riga sola e non in due che competono. Controlla che un fatto abbia una confidenza sopra soglia e una provenienza, cioè la sessione che lo ha generato. Poi calcola lo stato da dentro, mai dal chiamante, e scrive.
Qui si apre la parte che riguarda la governance, non solo il codice. Ogni record porta con sé il suo perimetro di accesso e la sua provenienza. Il diritto all’oblio, che su un log grezzo è una cancellazione, su una memoria diventa una faccenda seria, perché «la cosa che sa di te» è ormai un artefatto distillato da cento conversazioni e non un dato grezzo da buttare. È lo strato che in Pelle Digitale chiamavo la pelle tra noi e la macchina, e qui diventa qualcosa che un’azienda deve saper revocare a comando. L’EU AI Act spinge nella stessa direzione: gli obblighi per i sistemi ad alto rischio sono stati rinviati in via provvisoria da agosto 2026 a dicembre 2027, ma l’asticella su tracciabilità, audit e supervisione umana si alza, non si abbassa. Una memoria senza provenienza e senza scadenze non si può governare, e in Europa quello che sfugge al controllo, tra poco, sarà fuori uso.
Il modello è condiviso, la memoria è tua
Resta una domanda: su cosa appoggiare tutto questo. L’architettura in cui la maggior parte dei team finisce per inerzia spacca la memoria lungo l’asse che fa più male, i dati relazionali in un database, il recupero ibrido in un motore vettoriale, le tracce in un altro store ancora. Ognuno è ottimo per il suo compito. Il guaio arriva quando il contesto deve attraversarli, perché ogni recupero serio diventa una join tra sistemi, e ogni join attraversa un confine di sicurezza, di transazione, di latenza, e a ogni attraversamento ti riporti in casa il problema di consistenza che volevi evitare.
Tenere insieme il recupero semantico e i dati relazionali che lo governano, sotto un solo piano di query e un solo modello di sicurezza, è la capacità che conta. Postgres con pgvector, Elasticsearch, Pinecone, Weaviate, e framework come LangGraph, Letta, Mem0 affrontano pezzi del problema in modi diversi, e la scelta giusta dipende da dove vuoi che vivano i tuoi dati e da chi li può toccare. Per chi lavora su dati sensibili o sovrani questa non è una questione di prestazioni, è una questione di controllo, ed è il terreno su cui è nato LocalAI.io: tenere modello e memoria dentro un perimetro che governi tu.
C’è una conseguenza da tenere a mente. I modelli sono condivisi, li usano i tuoi concorrenti, li addestra qualcun altro, e l’anno prossimo quello che usi oggi sarà rimpiazzato da uno migliore. La memoria no. Quello che è dentro la tua memoria riflette scelte che solo il tuo team poteva fare, su cosa conservare, con quale perimetro, per quanto tempo. Il modello è il livello che puoi sostituire. La memoria è il livello che nessun altro può copiarti, perché è fatto della tua storia, non della tua tecnologia.
Costruirla bene costa più che impilare token in un prompt. Ma per chiunque stia mettendo l’AI dentro la propria azienda la domanda smette di essere «quanto contesto riesco a infilare» e ne diventa un’altra: cosa vale la pena che il tuo sistema ricordi, e cosa è meglio che dimentichi?