La struttura della memoria di Claude, dalle schede ai file

Le schede e le liste della memoria di Claude corrispondono a cartelle e file. L’articolo descrive questa struttura e spiega come Claude la scrive.

Nella sezione «Memoria» delle impostazioni la memoria di Claude è fatta di liste di voci, raccolte in schede. Dietro l’interfaccia ogni lista è un file, e ogni scheda tranne «Tu» corrisponde a una cartella. L’articolo descrive questa struttura con uno schema delle cartelle e spiega le operazioni con cui Claude aggiunge, modifica, rinomina e cancella liste e voci. Dalle impostazioni non si vede chi ha scritto una lista. L’articolo racconta un caso in cui una lista è stata salvata prima della conferma dell’utente.

Questo articolo descrive la struttura della memoria di Claude, dalle schede che si vedono nelle impostazioni alle cartelle e ai file che stanno dietro. Spiega anche le operazioni con cui Claude la scrive. È il terzo articolo sulla nuova memoria di Claude. Il primo, come funziona la nuova memoria di Claude e dove si vede, descrive la sezione «Memoria» delle impostazioni e cosa Claude salva. Il secondo presenta analyze-memory, la skill che legge la memoria di Claude e segnala le voci che si contraddicono.

Il 16 settembre, in una conversazione di Cowork collegata a un progetto, ho chiesto a Claude di aggiungere alla memoria del progetto un’informazione su un lavoro in corso. Claude ha proposto il testo della nuova lista e mi ha chiesto di confermarlo prima di scriverlo. Alla risposta successiva la lista era già in memoria, identica alla proposta, anche se Claude non aveva fatto nessuna scrittura e io non avevo ancora confermato. Il contenuto e l’orario di creazione indicano che l’aveva scritta il salvataggio automatico. Secondo le istruzioni che Claude riceve, il salvataggio automatico è un processo che dopo ogni risposta di Claude rilegge lo scambio e salva in memoria i fatti durevoli. In seguito Claude ha affermato di aver scritto la lista lui stesso, e più avanti nella stessa conversazione ha corretto l’affermazione. Il caso è stato osservato una volta sola.

Secondo le istruzioni e il caso osservato, nella memoria scrivono sia Claude sia il salvataggio automatico, e dalla sezione «Memoria» non si vede chi ha scritto una lista. La sezione «Memoria» inoltre non ha una funzione di backup, e secondo la descrizione dello strumento una lista cancellata da Claude non si può recuperare dalla memoria. Il tutorial che segue descrive prima quello che si vede nella sezione «Memoria», cioè schede, liste e voci, poi i file che stanno dietro e gli strumenti con cui Claude li scrive.

Questo tutorial descrive la struttura della memoria che Claude conserva fra una conversazione e l’altra, e le operazioni con cui Claude la gestisce. Le operazioni sono state osservate a settembre 2026 nell’app Claude, in una conversazione di Cowork eseguita nel cloud e collegata a un progetto. Secondo l’Help Center le sessioni di Cowork eseguite sul computer dell’utente non usano la memoria.

Le informazioni vengono da tre fonti, cioè la documentazione di Anthropic, le operazioni osservate nella conversazione di prova e nella sezione «Memoria», e le istruzioni che Claude riceve all’inizio di ogni conversazione, insieme alle descrizioni degli strumenti. Anthropic non pubblica queste istruzioni, che il 17 settembre 2026 non comparivano nei prompt di sistema pubblicati. Il loro contenuto è riportato qui come lo ha letto Claude, e il lettore non può verificarlo. Le frasi che vengono da questa fonte lo dichiarano. Il testo non è documentazione ufficiale di Anthropic, e strumenti e regole possono cambiare. Gli esempi riproducono operazioni reali, con nomi, contenuti e codici inventati.

1. Come si presenta la memoria

Nell’interfaccia italiana dell’app la memoria si consulta dalla sezione «Memoria» delle impostazioni. Sotto le impostazioni la memoria compare divisa in quattro schede, «Tu», «Argomenti», «Aree» e «Progetti», cioè gruppi che si aprono e si chiudono con una freccia. Nella memoria osservata la scheda «Tu» contiene due liste, «Profile» con il profilo dell’utente e «Preferences» con le sue indicazioni su come Claude deve lavorare. Le istruzioni che Claude riceve dicono di salvare in «Argomenti» i fatti sull’utente divisi per ambito e in «Aree» le attività in corso che l’utente descrive. La scheda «Progetti» contiene a sua volta una scheda per ogni progetto, compresi i progetti archiviati.

Ogni scheda contiene delle liste, e le istruzioni che Claude riceve dicono di dedicare ogni lista a un solo argomento. Nella scheda ogni lista compare con il titolo e l’inizio del riepilogo, e di solito con la data dell’ultimo aggiornamento. Selezionando una lista si apre la sua pagina, con il titolo, il «Riepilogo» e i «Dettagli». I «Dettagli» sono un elenco puntato, e ogni punto è una voce della lista.

Gli esempi di questo tutorial usano un progetto inventato, «Gestione biblioteca». La sua scheda contiene, fra le altre, la lista «Prestiti Digitali», con due voci, e la lista «Strumenti».

2. Cosa c’è dietro l’interfaccia

Dietro l’interfaccia la memoria è un insieme di file di testo organizzati in cartelle. Le corrispondenze sono tre:

  • ogni scheda corrisponde a una cartella, per esempio la scheda «Argomenti» corrisponde alla cartella topics, e la scheda «Progetti» corrisponde a una cartella che contiene le cartelle dei progetti. Fa eccezione la scheda «Tu», perché i suoi file, profile.md e preferences.md, non stanno in una cartella;
  • ogni lista corrisponde a un file;
  • ogni voce corrisponde a una riga del file.

Per il progetto inventato degli esempi la memoria è organizzata come nello schema seguente. Accanto a ogni cartella e a ogni file è indicato quello che si vede nell’interfaccia.

/                                  memoria dell'account
├── profile.md                     scheda «Tu», lista «Profile»
├── preferences.md                 scheda «Tu», lista «Preferences»
├── topics/                        scheda «Argomenti»
│   └── postazione.md              lista «Postazione»
├── areas/                         scheda «Aree»
│   └── trasloco.md                lista «Trasloco»
└── projects/                      scheda «Progetti»
    ├── <id-progetto>/             scheda «Gestione biblioteca»
    │   ├── index.md               lista «Gestione biblioteca»
    │   ├── prestiti-digitali.md   lista «Prestiti Digitali»
    │   └── strumenti.md           lista «Strumenti»
    └── …                          altri progetti

Ogni file ha un percorso, cioè l’elenco delle cartelle che lo contengono seguito dal nome del file, per esempio /projects/<id-progetto>/prestiti-digitali.md. Nel percorso il progetto compare con un codice e non con il suo nome, e il codice resta lo stesso anche quando il nome del progetto cambia.

Il percorso serve agli strumenti per identificare il file e non corrisponde a un indirizzo su un disco che l’utente possa aprire. Secondo l’Help Center la stessa memoria è disponibile nella chat e in Cowork quando Cowork gira nel cloud. Da questo si deduce che la memoria è conservata sui server di Anthropic e legata all’account. Il modo in cui è conservata non è documentato.

Ogni file comincia con un’intestazione racchiusa fra due righe di tre trattini, che nel gergo tecnico si chiama frontmatter. L’interfaccia usa il campo name dell’intestazione come titolo della lista, con i trattini sostituiti da spazi e le iniziali maiuscole. Alcune parole trattate come sigle diventano tutte maiuscole. Usa invece il campo description, una descrizione di una riga, come «Riepilogo». L’intestazione contiene anche la provenienza del file (sources) e i nomi alternativi con cui la lista si può trovare (aliases), che le istruzioni prevedono solo per alcune cartelle. L’interfaccia non mostra nessuna delle due informazioni. Dopo l’intestazione ogni riga del file contiene una voce, preceduta dall’etichetta [stated]. Secondo le istruzioni che Claude riceve, l’etichetta indica che l’utente ha detto quel fatto direttamente, e anche questa l’interfaccia non la mostra. Questo è il file della lista «Prestiti Digitali».

---
name: prestiti-digitali
description: Applicazione per i prestiti digitali della biblioteca, stato del progetto
sources: [cowork]
aliases: [app-prestiti]
---
- [stated] L'applicazione per i prestiti digitali è in prova con dieci lettori.
- [stated] L'apertura al pubblico è prevista dopo la fine della prova.

Il formato è una convenzione scritta nelle istruzioni che Claude riceve. Nella memoria possono esserci anche liste importate da altre fonti, con un formato diverso e senza le etichette [stated].

In una conversazione collegata a un progetto Claude può leggere tutta la memoria dell’account, come mostrano gli elenchi dei file ottenuti nella prova. Secondo le istruzioni che Claude riceve, può invece scrivere solo nella cartella di quel progetto, cioè solo nelle liste della sua scheda, e una scrittura fuori da quella cartella viene rifiutata.

Claude legge e scrive la memoria con degli strumenti, cioè funzioni che hanno un nome e alcuni campi da compilare. Ogni uso di uno strumento si chiama chiamata, e ogni chiamata restituisce una risposta.

3. Leggere prima di scrivere

Claude usa memory_list per vedere quali file ci sono in una cartella, cioè quali liste ci sono in una scheda, con la dimensione e la data dell’ultima modifica. Usa memory_read per leggere il contenuto di un file, oppure di più file insieme, fino a 20 in una chiamata.

Ogni lettura restituisce anche un token di versione, un codice di 12 caratteri che cambia ogni volta che il file viene modificato. Tutti gli strumenti che scrivono o cancellano richiedono il token in un campo chiamato if_version. Secondo le descrizioni degli strumenti, se il file è cambiato dopo la lettura il token non corrisponde più e lo strumento rifiuta l’operazione. Nel caso delle scritture lo strumento restituisce anche il contenuto aggiornato del file.

Il token di versione funziona come il numero di revisione di un documento su cui lavorano più persone. Chi consegna una correzione indica su quale revisione ha lavorato, e la correzione viene accettata solo se quella revisione è ancora l’ultima. La differenza è che il numero di revisione cresce in ordine, mentre i token osservati nella conversazione di prova non seguivano un ordine, quindi indicano se il file è cambiato ma non quante volte.

Secondo le istruzioni che Claude riceve, nella stessa memoria possono scrivere anche altre conversazioni aperte nello stesso momento, e il controllo sul token serve a non sovrascrivere le loro modifiche. Prima di modificare il file della lista «Strumenti», per esempio, Claude lo rilegge. Se il token è uguale a quello della lettura precedente, il file non è cambiato nel frattempo.

4. Aggiungere liste e voci

Per aggiungere si usano due strumenti:

  • memory_write su un file nuovo. Crea il file con il contenuto indicato, e nella scheda compare una lista nuova. Per un file che non esiste il campo if_version vale new. Secondo la descrizione dello strumento, se il file esiste già la scrittura con new viene rifiutata, quindi Claude non può sovrascrivere per errore un file che non ha letto.
  • memory_append. Aggiunge una riga in fondo a un file esistente, cioè una voce in fondo a una lista, senza rimandare il resto del contenuto. Le istruzioni e la descrizione dello strumento dicono a Claude di non aggiungere una voce che la lista contiene già e di correggere invece la voce esistente.

La lista «Prestiti Digitali» si crea con memory_write e if_version impostato a new. Lo strumento risponde «Wrote 314 of 49152 bytes», insieme al token del file appena creato. Il primo numero è la dimensione del file scritto, il secondo indica la dimensione massima di un file, 49.152 byte.

Il limite vale per ogni file, quindi per ogni lista. Nella lista misurata per questo tutorial una voce occupa in media un centinaio di caratteri, e un file pieno di voci di quella lunghezza ne conterrebbe circa 500. Secondo le descrizioni degli strumenti, una scrittura che supera il limite viene rifiutata, e l’errore indica il limite in byte. Le istruzioni dicono a Claude di condensare le voci sullo stesso argomento quando un file diventa lungo, invece di continuare ad aggiungerne. L’interfaccia non mostra la dimensione delle liste, quindi l’utente non vede quanto una lista è vicina al limite.
Per la lista «Profile» della scheda «Tu» le istruzioni indicano un limite più basso, sotto le 300 parole.

I duplicati

Il controllo sulle voci già presenti riguarda solo la lista su cui Claude sta scrivendo. Quando l’argomento potrebbe avere già una lista con un altro titolo, le istruzioni prevedono che Claude legga solo la lista che sembra più vicina all’argomento e ne controlli i nomi alternativi. Nessuna istruzione prevede una ricerca dello stesso argomento in tutta la memoria. In diverse prove Claude ha aggiunto voci nuove senza controllare se l’argomento compariva già in altre liste.

I duplicati hanno anche una causa strutturale. Se l’argomento ha già una lista in una scheda diversa da quella del progetto, per esempio in «Argomenti», in una conversazione collegata al progetto Claude non può modificarla. In quel caso le istruzioni dicono a Claude di creare una copia nella cartella del progetto, allo stesso percorso, e la copia compare come lista nella scheda del progetto. Se Claude segue le istruzioni, da quel momento le due liste possono essere aggiornate separatamente. La lista «Postazione» della scheda «Argomenti», per esempio, può indicare 16 GB di RAM, mentre la sua copia nella scheda del progetto ne indica 32.

5. Modificare le voci

Per modificare si usano due strumenti:

  • memory_str_replace. Sostituisce un pezzo di testo con un altro, per esempio una voce con la sua versione corretta. Il testo da cercare deve comparire nel file una volta sola, spazi e a capo compresi. Secondo la descrizione dello strumento, se il testo non compare o compare più volte la modifica viene rifiutata e lo strumento restituisce il contenuto attuale. Con un testo sostitutivo vuoto la stessa operazione cancella il pezzo trovato, per esempio una voce intera.
  • memory_write su un file esistente. Riscrive tutto il file, cioè l’intestazione e tutte le voci della lista, e ogni riga che manca nel testo nuovo viene cancellata. Le istruzioni dicono a Claude di usarla quando cambia la struttura del file.

Nell’esempio il programma usato per consultare il catalogo ha cambiato nome da «Alfa» a «Beta», e la voce che lo cita nella lista «Strumenti» va corretta con memory_str_replace. Nella chiamata path è il percorso del file, if_version il token dell’ultima lettura, old_str il testo da cercare e new_str il testo che lo sostituisce.

path:       /projects/<id-progetto>/strumenti.md
if_version: 7f3a9c21d4e8
old_str:    - [stated] Il catalogo si consulta con Alfa
new_str:    - [stated] Il catalogo si consulta con Beta (in precedenza Alfa)

La voce compare una volta sola nel file, quindi può fare da testo da cercare. Lo strumento risponde «replaced 43 bytes with 64 bytes» e restituisce il token nuovo.

6. Rinominare e cancellare una lista

Il titolo che l’interfaccia mostra viene dal campo name. Di solito il campo name coincide con il nome del file, ma nel file index.md di un progetto contiene il nome del progetto, e nelle liste importate può contenere un titolo scritto con gli spazi. Nessuno strumento rinomina un file, quindi una lista si può rinominare in due modi:

  • modificando solo il campo name con memory_str_replace, così il titolo cambia e il file resta con il nome vecchio;
  • creando il file nuovo con memory_write e cancellando il vecchio con memory_delete, così il titolo e il nome del file restano uguali.

In una prova l’utente ha chiesto dalla sezione «Memoria» di cambiare il nome di un progetto. Dopo la modifica il file si chiamava ancora index.md, ma il campo name era cambiato.

memory_delete cancella un file, cioè una lista intera con tutte le sue voci. Secondo la descrizione dello strumento, serve il token di una lettura dello stesso file, come prova che Claude ha visto quello che cancella. Sempre secondo la descrizione, la cancellazione non si può annullare. Le istruzioni dicono a Claude di cancellare una lista solo quando l’utente lo chiede in modo esplicito, e non per riordinare la memoria di sua iniziativa.

Nell’esempio la lista «App Prestiti», cioè il file app-prestiti.md, diventa «Prestiti Digitali», cioè il file prestiti-digitali.md, con il vecchio nome fra i nomi alternativi. La rinomina si svolge in quattro passaggi:

  1. lettura del file vecchio, per avere il token aggiornato;
  2. memory_write del file prestiti-digitali.md, con le stesse voci del file vecchio e l’intestazione cambiata;
  3. memory_delete del file app-prestiti.md, con il token b2e61f09a7c3;
  4. lettura del file nuovo, per controllare il risultato.

Il file nuovo si crea prima di cancellare il vecchio. Con l’ordine inverso, un errore fra i due passaggi lascerebbe la memoria senza la lista.

Nella sezione «Memoria» non c’è una funzione di backup. Secondo l’Help Center i dati della memoria sono compresi nell’esportazione dei dati dell’account, che si avvia da «Esporta dati» nella sezione «Privacy» delle impostazioni. La memoria si può anche salvare chiedendo a Claude di trascriverla parola per parola. Prima di una modifica conviene che Claude citi nella conversazione il testo completo del file, che così resta disponibile come copia.

7. Salvataggio automatico

Secondo le istruzioni che Claude riceve, dopo ogni risposta un processo automatico separato dalla conversazione rilegge lo scambio concluso e salva in memoria i fatti che considera durevoli, con le stesse regole che valgono per Claude. L’Help Center conferma che Claude salva la memoria mentre si chatta, anche senza una richiesta dell’utente, ma non descrive questo processo.

Sempre secondo le istruzioni, il salvataggio automatico non interviene sugli scambi in cui Claude ha già scritto o cancellato.

Nella conversazione di prova Claude non ha visto le chiamate del salvataggio automatico, ma solo il risultato, cioè una lista comparsa in memoria.

Nella conversazione di prova Claude aveva proposto il testo di una lista nuova e aveva chiesto una conferma prima di scriverla. Alla risposta successiva la lista esisteva già, con un contenuto identico alla proposta, e Claude non aveva fatto nessuna chiamata di scrittura. Il contenuto e l’orario di creazione indicano che la lista l’ha scritta il salvataggio automatico, prima che l’utente confermasse. Il caso è stato osservato una volta sola.

8. Cosa può fare l’utente

L’utente non usa direttamente gli strumenti di memoria. Nella sezione «Memoria», sopra le schede, ci sono queste impostazioni:

  • «Ricerca e consultazione delle chat». Permette a Claude di cercare dettagli pertinenti nelle chat precedenti.
  • «Genera memoria dalle chat». Permette a Claude di generare memoria dalle chat. Secondo l’Help Center, chi la disattiva sceglie fra due opzioni. «Pause memory» conserva la memoria, ma Claude smette di usarla e di crearne di nuova. «Reset memory» cancella tutta la memoria, comprese quelle dei progetti, e non si può annullare. Le istruzioni che Claude riceve dicono che Claude non può disattivarla da solo.
  • «Includi argomenti sensibili nella memoria». Permette a Claude di salvare dettagli su argomenti sensibili, come condizioni di salute o credenze religiose.
  • «Importa memoria da altri provider AI». Porta in Claude contesto e dati da un altro provider AI, con un prompt che recupera la memoria dall’altro account.

Quando l’utente passa con il puntatore su una lista nella scheda, compaiono l’icona della matita, per modificarla, e l’icona del cestino, per cancellarla. Anche la pagina della lista ha un pulsante «Elimina».

Quando l’utente elimina un progetto nell’app desktop, la scheda del progetto sparisce dalla sezione «Memoria». Dopo l’eliminazione la cartella del progetto non compare più nemmeno fra i file che gli strumenti di memoria di Claude possono leggere.

L’utente può anche chiedere direttamente a Claude di ricordare, correggere o cancellare qualcosa, e secondo l’Help Center la modifica vale dalla conversazione successiva. Le istruzioni che Claude riceve dicono a Claude di scrivere in memoria durante la conversazione solo su richiesta esplicita, di eseguire l’operazione nella stessa risposta e di dire se è riuscita. Secondo le stesse istruzioni gli altri salvataggi li fa il salvataggio automatico descritto nella sezione 7. Secondo l’Help Center alcune informazioni non vengono salvate mai, nemmeno su richiesta, cioè i numeri dei documenti di identità, i precedenti penali, i numeri dei conti finanziari e lo stato di immigrazione.

La pagina dell’Help Center sulla memoria è Use Claude’s chat search and memory to build on previous context.

9. Il memory tool per sviluppatori

Anthropic documenta anche un altro strumento di memoria, il memory tool della piattaforma per sviluppatori. Serve a chi costruisce agenti con le API, e i file li conserva l’applicazione dello sviluppatore. Ha sei comandi (view, create, str_replace, insert, delete, rename), fra cui un comando per rinominare che la memoria dell’app Claude non ha. Il memory tool è un prodotto diverso, e quanto descritto in questo tutorial non si applica al memory tool.

Paolo Dalprato, formatore sulle AI generative

Chi ha scritto questo articolo

Sono Paolo Dalprato, formatore sulle AI generative. Lavoro con professionisti, studi e PMI da una parte, con scuole, biblioteche e istituzioni culturali dall'altra, sull'ecosistema Claude e NotebookLM. Quello che insegno è lo stesso che uso ogni giorno, e finisce qui sul blog prima ancora che in aula.

Autore di «Creatività ibrida: autore e opera nell'era delle macchine intelligenti».

Potrebbe interessarti