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

  1. Conservare solo ciò che dovrebbe sopravvivere.
  2. Scriverlo in forma breve e verificabile.
  3. Registrare provenienza, ambito e motivo del recupero.
  4. Dare priorità all’input corrente dell’utente.
  5. Rilevare i conflitti invece di sovrascriverli in silenzio.
  6. Trattare le procedure come competenze, non come ricordi casuali.
  7. Cercare nella cronologia quando serve storia, non quando serve identità.
  8. 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