2026-08-01T13:20:08.114Z
N8n AI Memoria dell'agente: dimostra che la sessione è sopravvissuta
Compatibilità di implementazione dei test, isolamento della chiave di sessione, storia duratura e continuità di esecuzione senza esportare conversazioni.
n8n AI La memoria dell'agente è affidabile solo quando quattro cose concordano: il flusso di lavoro utilizza un backend di memoria compatibile con la sua modalità di distribuzione, lo stesso utente raggiunge lo stesso tasto di sessione, la cronologia attesa può essere rivista dal negozio e un'esecuzione successiva utilizza quella cronologia correttamente. Una risposta fluida non dimostra nessuna di queste condizioni da sola. Il default pratico è quello di testare la memoria come un contratto di routing e persistenza. In un esperimento di un solo processo, la memoria semplice può essere adeguata. In modalità coda, utilizzare un servizio di memoria condivisa come Postgres o Redis, dare a ogni conversazione una chiave di sessione opaca stabile e verificare l'isolamento con due sessioni. Allora attraversate un vero limite di esecuzione. Non definire la memoria sana perché due messaggi in una sola esecuzione sembrano coerenti. Inizia con il limite di distribuzione Il n8n visualizzazione della memoria ufficiale separa i nodi dell'agente AI, che possono utilizzare la memoria, dalle catene AI, che non possono. Elenca la memoria semplice e i servizi di memoria esterna, tra cui Redis e Postgres, come diverse opzioni di implementazione. Questa e' una mappa di capacità, non un verdetto sanitario. La prima questione operativa è dove vive la storia. n8n avverte esplicitamente nel suo Documentazione Memoria semplice di non utilizzare tale nodo per un flusso di lavoro di produzione attivo in modalità coda. Le chiamate possono atterrare su lavoratori diversi, quindi non si può presumere che la storia dei lavoratori locali segua la conversazione. Classificare il caso prima di esaminare le indicazioni o i modelli: queue mode unsafe : il flusso di lavoro si esegue in modalità coda e utilizza la memoria semplice; store unavailable : un backend condiviso è configurato ma il flusso di lavoro non può raggiungerlo; write unverified : il backend ha accettato una connessione, ma il turno di conversazione previsto non è stato osservato nella storia duratura. Il passaggio a Postgres o Redis risolve la località del lavoratore; non risolve l'identità. Un negozio condiviso può fidelizzare la conversazione sbagliata sotto la chiave sbagliata. Disponibilità, durata e routing sono proprietà separate. Per ciascuna versione del flusso di lavoro, conservare una piccola ricevuta di configurazione: La ricevuta dovrebbe descrivere la regola, non esporre l'ID utente, l'ID chat, le credenziali, la stringa di connessione o il testo del messaggio. Se una chiave stabile deve essere derivata da identificatori privati, calcolare un HMAC sull'host ed esportare solo il risultato opaco o un controllo di uguaglianza locale. Prove l' identità della sessione prima di testare il richiamo Sia la memoria semplice che la Memoria di chat post gress utilizzano una chiave di sessione. Il nodo Postgres consente anche di scegliere la tabella e la lunghezza della finestra di contesto. La sua documentazione rileva che più nodi di memoria di chat Postgres utilizzano la stessa istanza di memoria per impostazione predefinita; istanze di memoria separate richiedono ID di sessione diverse. Questo rende la sessione parte chiave del limite di correttezza. Deve essere: 1. stabili per la stessa conversazione esterna; 2. diversi per le conversazioni che non devono condividere la storia; 3. indipendente da un ID di esecuzione transitorio; 4. generato prima che il sottonodo di memoria risolva i suoi parametri; 5. sicuro da registrare come identificatore opaco. C'e' una trappola specifica per l'n8n qui. La documentazione del nodo di memoria dice che le espressioni nei sotto nodi si risolvono contro il primo elemento di input, piuttosto che una volta per ogni elemento. Se tre elementi in entrata rappresentano tre conversazioni e l'espressione chiave di sessione viene valutata all'interno del sub nodo di memoria, tutti e tre possono essere indirizzati utilizzando il valore del primo elemento. Non diagnosticarlo come una memoria modello scadente. Registrare il numero di identità di sessione attese al confine del nodo radice e il numero osservato dall'adattatore di memoria. Se tre sono state previste e una è stata osservata, restituire session key collapse . Dividere gli elementi o calcolare e convalidare una chiave di sessione per esecuzione prima del limite del subnodo. Eseguire una sonda di isolamento con due sessioni sintetiche, non testo reale del cliente: La sessione A memorizza un marcatore opaco la cui decisione prevista è ROUTE ALPHA . La sessione B memorizza un marcatore diverso la cui decisione prevista è ROUTE BETA . Una nuova esecuzione per A deve restituire solo ROUTE ALPHA . Una nuova esecuzione per B deve restituire solo ROUTE BETA . Cambiare entrambi i risultati è un fallimento della privacy e della correttezza, anche se entrambe le risposte sembrano plausibili. Questo test negativo conta. Un singolo richiamo riuscito può passare mentre ogni utente è mappato alla stessa storia condivisa. Leggi la storia, poi incroci una nuova esecuzione. Un numero di righe di database è una prova debole. Può aumentare mentre la sessione sbagliata riceve il messaggio, mentre una versione precedente rimane in cima alla finestra di contesto, o mentre un'operazione di memoria distruttiva sostituisce più storia del previsto. Il Documentazione di Chat Memory Manager ufficiale espone le operazioni di acquisto, inserimento, soppressione e cancellazione. La modalità di lettura semplificata restituisce l'inviatore e il testo. Utilizzare tale abilità all'interno di un flusso di lavoro di diagnosi protetto, o consultare lo store esterno localmente, per verificare tre fatti: esiste la chiave di sessione opaca prevista; l'ultimo giro di prova è presente nell'ordine corretto; la sessione vicina non la contiene. Mantenere le conversazioni grezze fuori dal monitoraggio della telemetria. Il flusso di lavoro diagnostico può confrontare il marcatore di prova recuperato localmente ed emettere: Ora inizia un'altra esecuzione del flusso di lavoro attraverso lo stesso percorso di attivazione della produzione. Il riutilizzo di un altro nodo nell'esecuzione corrente non è un test di persistenza; la risposta può essere ancora presente nel contesto del carico utile o del modello dell'elemento. L'esecuzione successiva dovrebbe ricevere solo l'identità opaca della sessione e una domanda limitata la cui risposta attesa è un codice di decisione. Passate solo quando il negozio e il comportamento successivo concordano. Se la storia è corretta ma la decisione è sbagliata, restituire continuity failed . Se non è stata osservata alcuna nuova esecuzione, restituire continuity unverified . Nessun stato dovrebbe crollare in un errore di memoria vuota. Riproduci dieci stati di fallimento in ordine fisso L'apparecchio di accompagnamento n8n memory health cases.json non contiene richieste o testo di messaggio. Esso fornisce dieci osservazioni sintetiche a un piccolo classificatore: La corsa riprodotta è ritornata: L'ordine è deliberato: 1. confermare che un nodo di memoria è collegato; 2. rifiutare la memoria semplice in modalità coda; 3. rilevare il collasso della chiave di sessione del primo elemento; 4. confrontare la chiave di sessione corrente con la chiave stabile prevista; 5. accessibilità del deposito di prova; 6. dimostrare la scritta; 7. confrontare la lettura con la cronologia attesa; 8. richiedere un'esecuzione successiva; 9. confrontare la sua decisione con il risultato atteso. Fermarsi al primo strato fallito dà all'operatore una riparazione utile. Riscrivere un prompt non può risolvere la posizione in modalità coda. La ricostruzione di un tavolo non può risolvere la deriva della chiave di sessione. Cambiare un modello non può risolvere due utenti mappati alla stessa chiave. Adattare il dispositivo con la revisione del flusso di lavoro, il tipo di backend, la bandiera della modalità di coda, i numeri di sessioni distinte attesi e osservati, i booleans di lettura locale e il risultato di esecuzione fresca. Preservare gli stati unknown quando le prove sono assenti. Una risposta di modello verde non sostituisce una sonda di magazzino mancante. Mantenere la memoria di conversazione separata dai risultati del flusso di lavoro Passare questa revisione dimostra un'affermazione limitata: la cronologia di conversazione testata è stata indirizzata, memorizzata, recuperata e utilizzata oltre il limite di esecuzione testato. Non dimostra che l'intero flusso di lavoro abbia completato il suo lavoro. Un agente può ricordare che una fattura deve essere inviata e non riuscire comunque a inviarla. Può richiamare il cliente corretto e scrivere alla destinazione sbagliata. Può conservare un'istruzione obsoleta la cui condizione di scadenza non è mai stata modellata. Tenere una ricevuta di risultato separata per il limite di consegna, effetto esterno o approvazione che il flusso di lavoro deve soddisfare. L'audit ha anche dei limiti pratici. Prende campioni di sessioni scelte e finestre di contesto. Un database può fallire dopo la sonda. Un ospite compromesso può falsificare sia la storia che le sue prove. Un codice di decisione corretto non dimostra che ogni sfumatura di una lunga conversazione sia sopravvissuta. La lettura dei messaggi memorizzati può esporre contenuti sensibili, quindi i controlli di produzione dovrebbero confrontare i marcatori opaci localmente e esportare boolean, contanti, freschezza e revisioni di flusso di lavoro. La regola di funzionamento è concisa: Mark n8n AI Memoria dell'agente verificata solo quando la compatibilità della distribuzione, l'isolamento delle sessioni, la lettura di ritorno duratura e il comportamento di esecuzione fresca passano tutte per la stessa revisione del flusso di lavoro. Sidewisp è attualmente in anteprima privata. È destinato ad aggiungere uno strato di salute intorno ai tempi di esecuzione degli agenti esistenti, ma la raccolta dell'agente di produzione salute, gli adattatori n8n e il recupero automatico non vengono spediti nel repository del sito web corrente. Si tratta di un modello di verifica gestito dall'operatore, non una affermazione secondo cui Sidewisp attualmente monitorizza n8n. Se questa distinzione tra una conversazione memorizzata e un risultato verificato corrisponde al modo in cui si desidera operare gli agenti, unisciti alla visualizzazione privata di Sidewisp. Fino ad allora, mantenere le identità delle sessioni opache, testare un caso di isolamento negativo, e lasciare che le prove mancanti rimangano non verdi.