🇬🇧 EN
🇮🇹 IT

3.4 Provider di Memoria

I Provider di Memoria consentono ai nodi Agent AI di conservare e recuperare il contesto conversazionale tra più esecuzioni del workflow. Invece di partire ogni volta da zero, l'agente può ricordare i turni precedenti, le risposte passate e le conoscenze accumulate memorizzate in un backend di memoria.

Pagina impostazioni Provider di Memoria
Impostazioni → Provider di Memoria — il pannello "Nuovo Provider di Memoria" che mostra la selezione del tipo di backend e i campi di configurazione.

Come Funziona la Memoria in Flusso

Quando un nodo Agent è configurato con un Provider di Memoria (direttamente in modalità lineare, oppure tramite un nodo di configurazione Memory in modalità grafo), Flusso automaticamente:

  1. Legge i turni precedenti dal backend di memoria prima di chiamare il modello AI, e li inserisce nel prompt di sistema o nella cronologia della conversazione dell'agente.
  2. Scrive il nuovo turno (messaggio utente + risposta dell'agente) nella memoria dopo che l'agente ha risposto.

La memoria è organizzata per namespace. L'ambito determina se la memoria è condivisa tra tutte le esecuzioni di un workflow, per singola esecuzione, per singolo step o globalmente per agente.

Backend di Memoria Supportati

Tipo Ideale per Note
Redis Memoria a breve termine veloce con scadenza TTL Richiede un'istanza Redis. La memoria scade automaticamente dopo il TTL configurato (in secondi).
SQLite Memoria persistente semplice basata su file Memorizza i turni in un database SQLite locale. Ideale per sviluppo o deployment su singolo server.
PostgreSQL Memoria persistente usando il database dell'applicazione Nessuna infrastruttura aggiuntiva necessaria. I turni sono memorizzati nel database principale. Ideale per la produzione.
Vector Store Recupero semantico della memoria Memorizza i turni come embedding vettoriali per la ricerca semantica (basata sul significato). Richiede una Knowledge Base configurata.
Mem0 Memoria gestita come servizio Utilizza l'API Mem0. Richiede una API Key Mem0 e un Base URL.

Aggiungere un Provider di Memoria

  1. Apri le impostazioni Provider di Memoria Naviga su Impostazioni → Provider di Memoria.
  2. Clicca "Nuovo Provider di Memoria" Si apre un pannello di configurazione sulla destra.
  3. Scegli un tipo e compila i dettagli Seleziona il tipo di backend. Il modulo mostrerà i campi specifici per quel backend.
  4. Salva Clicca Salva Provider. Il provider apparirà nell'elenco e sarà disponibile per i nodi Agent in tutto il tuo account.

Configurazione per Tipo

Redis

CampoDescrizione
HostHostname del server Redis (es. 127.0.0.1 o redis.example.com).
PortaPorta Redis, predefinita 6379.
PasswordPassword Redis, se l'autenticazione è abilitata. Lascia vuoto se non richiesta.
Prefisso ChiaveUna stringa anteposta a tutte le chiavi memorizzate da questo provider (es. flusso:). Utile per evitare collisioni se Redis è condiviso.
TTL (secondi)Per quanto tempo i turni di memoria vengono conservati. Dopo questo tempo, i turni vengono eliminati automaticamente. Imposta 0 per nessuna scadenza.

SQLite

CampoDescrizione
Percorso FilePercorso assoluto al file database SQLite sul server (es. /var/data/flusso-memory.db). Il file viene creato automaticamente se non esiste.

PostgreSQL

Nessuna configurazione aggiuntiva necessaria. Flusso memorizza i turni di memoria nel database principale dell'applicazione usando la tabella agent_memory_turns. Basta dare un nome al provider e salvare.

Vector Store

CampoDescrizione
Knowledge BaseSeleziona una delle Knowledge Base configurate dal menu a tendina. I turni di conversazione verranno memorizzati come vettori in questo store, abilitando il recupero semantico.
NamespaceUn prefisso usato per isolare i documenti di questo provider all'interno del vector store (es. agent-memory).

Mem0

CampoDescrizione
API KeyLa tua API Key Mem0 dalla dashboard Mem0.
Base URLL'endpoint API di Mem0. Usa quello predefinito a meno che tu non stia ospitando Mem0 autonomamente.
Prefisso Agent IDUn prefisso applicato agli identificativi degli agenti, utile per separare le memorie di diverse istanze Flusso.

Usare la Memoria nei Nodi Agent

Modalità Lineare

Nell'editor di workflow lineare, apri il pannello di configurazione di un nodo Agent. Scorri fino alla sezione Memoria. Seleziona un Provider di Memoria configurato dal menu a tendina, scegli un ambito e opzionalmente imposta un namespace.

Modalità Grafo

Nell'editor a grafo, aggiungi un nodo di configurazione Memory dalla barra laterale (categoria AI & Agents). Configuralo con il provider e l'ambito desiderati, poi traccia un arco dal nodo Memory alla porta memory_in (punto viola) sul tuo nodo Agent.

Ambito della Memoria

L'ambito controlla quale chiave viene usata per il namespace dei turni di memoria, determinando cosa l'agente "ricorda" e in quale contesto:

AmbitoCondiviso traCaso d'uso
agentTutte le esecuzioni di questo workflow (per step agente)Assistenti a lungo termine che ricordano tra le sessioni.
workflowTutte le esecuzioni di questo workflowContesto condiviso per tutti gli agenti in un workflow.
runUna singola esecuzione del workflowCronologia conversazione durante l'esecuzione; cancellata dopo ogni esecuzione.
stepUn singolo step in una singola esecuzioneContesto isolato, per singolo step.
Punto di partenza consigliato: Usa PostgreSQL come backend di memoria per la maggior parte dei casi d'uso in produzione — non richiede infrastruttura aggiuntiva e i turni persistono a tempo indeterminato. Passa a Redis se hai bisogno di scadenza automatica, oppure a Vector Store se desideri la ricerca semantica sulle conversazioni passate.