La memoria non è un database
L’errore più comune nel lavoro sulla memoria degli agenti è trattarla come un database con un’interfaccia più gentile.
Memorizza un fatto. Recupera un fatto. Inseriscilo nel prompt. Fatto.
È un modello rassicurante perché assomiglia all’ingegneria del software: tabelle, embedding, identificatori, date e punteggi. Ma un agente non acquisisce memoria solo perché possiede un contenitore di testo. Acquisisce un problema di selezione.
Archiviare è la parte facile
Mettere testo in un supporto durevole è semplice. Un database relazionale, file Markdown o un indice vettoriale possono farlo. Il problema difficile è decidere cosa merita di rientrare nella finestra di contesto nel momento in cui l’agente deve agire.
Quella decisione è dove la memoria diventa interessante e rischiosa. Il fallimento peggiore non è dimenticare. Dimenticare dice: «non lo so». Ricordare una cosa superata con sicurezza è molto peggio.
Una preferenza temporanea può diventare una regola permanente. Una sintesi parziale può apparire accanto a prove recenti con la stessa autorità, perché entrambe sono soltanto stringhe nel prompt. Il benchmark STALE studia proprio questa difficoltà: recuperare l’informazione aggiornata non basta se il sistema non riesce a rivedere una credenza precedente.[1]
I punteggi non sono giudizio
La ricerca vettoriale è utile. Anche BM25, la combinazione di più segnali, la recenza e i legami di un grafo possono esserlo. Nessuno di questi meccanismi è però giudizio.
Un punteggio di similarità può dire che un ricordo è vicino al compito corrente. Non può stabilire se sia ancora vero, se descriva un’eccezione, se confligga con una decisione successiva o se il suo recupero in quel momento danneggi il risultato.
Per questo una memoria deve spiegare il proprio ritorno: corrispondenza lessicale, similarità semantica, recenza, importanza esplicita, relazione di grafo o ripetizione di un pattern. Senza questa traccia, la memoria è riempimento del prompt con un marchio migliore.
Il contesto è una risorsa scarsa
La domanda non è quanta memoria si possa conservare. È cosa si decide di spendere nel contesto. Ogni ricordo recuperato compete con la richiesta attuale, le istruzioni, le prove disponibili e l’output degli strumenti. Un ricordo vero ma irrilevante è comunque rumore.
Perciò i ricordi durevoli dovrebbero essere compatti, dichiarativi e delimitati: preferenze stabili, convenzioni di progetto, correzioni esplicite e decisioni che hanno buone ragioni per sopravvivere. Le trascrizioni complete sono ottime per una ricerca storica mirata; sono pessime come identità permanente incollata in ogni conversazione.
La memoria deve anche dimenticare
La parte che molti sistemi evitano è il ciclo di vita. I fatti cambiano, le preferenze dipendono dal contesto, le decisioni vengono sostituite. Un sistema che non può mostrare contraddizioni, deprecare voci e ritirare ciò che è superato peggiora con il tempo.
La ricerca sulla validità temporale della memoria da recupero mostra perché la sola similarità è insufficiente: versioni vecchie e nuove dello stesso fatto possono essere quasi indistinguibili nello spazio degli embedding.[2] Le strategie migliori rendono esplicita la sostituzione, invece di sperare che un modello scelga sempre la frase più recente.
Una disciplina semplice
- Conservare solo ciò che dovrebbe sopravvivere.
- Scriverlo in forma breve e verificabile.
- Registrare provenienza, ambito e motivo del recupero.
- Dare priorità all’input corrente dell’utente.
- Rilevare i conflitti invece di sovrascriverli in silenzio.
- Trattare le procedure come competenze, non come ricordi casuali.
- Cercare nella cronologia quando serve storia, non quando serve identità.
- Ritirare o marcare come superate le informazioni non più valide.
La memoria non è magia. È infrastruttura cognitiva. Il test non è se un agente ricorda un nome; è se produce continuità utile con meno sorprese e meno correzioni da parte dell’utente.
Un database può conservare il passato. Un agente deve decidere se il passato ha diritto di entrare nella stanza.
Fonti
[1] STALE: Can LLM Agents Know When Their Memories Are No Longer Valid?
[2] Temporal Validity in Retrieval Memory
[3] Generative Agents: Interactive Simulacra of Human Behavior