2026-07-31T12:17:32.354Z

OpenClaw Active Memory Timeout: diagnostica la fase fallita

Classifica i timeout della memoria attiva di OpenClaw come avvio a freddo, errore costante, backend non disponibile o circuito aperto utilizzando ricevute compatibili con la versione.

Un timeout della memoria attiva OpenClaw è un tentativo di richiamo fallito, non una causa principale . In un turno interattivo idoneo, la risposta principale potrebbe comunque arrivare senza il contesto richiamato. Diagnostica il timeout unendo sei fatti privi di contenuto: se la sessione era idonea, se questa era la prima risposta idonea dopo il riavvio, lo stato della memoria attiva, il tempo trascorso, il budget di timeout configurato e lo stato del backend della memoria o dell'interruttore automatico. Non iniziare aumentando timeoutMs . Una scadenza più ampia può nascondere un backend freddo, un modello di richiamo lento o errori ripetuti aggiungendo latenza a ogni risposta idonea. Innanzitutto classificare la fase fallita; quindi apportare una modifica limitata e ripetere lo stesso canarino di richiamo. Questa guida è collegata al comportamento documentato per OpenClaw 2026.5.2 e versioni successive ed è stata verificata rispetto al pacchetto 2026.7.1. I rapporti sui problemi più vecchi sono prove utili, ma il loro comportamento orologio da parete non deve essere trattato come l'attuale contratto di timeout. Dimostra che Active Memory è effettivamente funzionante Active Memory non è un memory hook generale su ogni esecuzione di OpenClaw. ILdocumentazione ufficiale di Active Memorylo limita alle conversazioni persistenti interattive idonee. Le attività one shot senza testa, le esecuzioni heartbeat, il lavoro in background, i comandi interni generici e gli agenti secondari di supporto non utilizzano questa corsia di richiamo. Ciò rende l'ammissibilità il primo ramo dell'incidente: Prova Interpretazione Prossima mossa La sessione non era idonea oppure l'agente non era stato preso di mira Non era prevista alcuna esecuzione della memoria attiva Correggere il presupposto del targeting; non ottimizzare i timeout Turno idoneo, no start o prova dello status Il plug in, l'attivazione/disattivazione della sessione, l'ambito del tipo chat o la registrazione sono probabilmente il primo livello fallito Controllo /active memory status , targeting dell'agente e tipo di chat Turno idoneo con status=timeout La richiamata è iniziata o è stata saltata dall'interruttore automatico Continuare con il riavvio, il tempo trascorso, il backend e le prove del circuito La risposta principale non è arrivata Questo è più ampio della qualità del richiamo Trattare il recapito della risposta come un incidente di disponibilità separato Accendi /verbose on durante il test. La riga di stato è volutamente piccola: stato, tempo trascorso, modalità di query e lunghezza del riepilogo. /trace on può esporre un riepilogo del debug, ma una ricevuta sanitaria operativa non necessita del testo di riepilogo. Mantieni istruzioni, ricordi, trascrizioni e credenziali fuori dal registro dell'incidente. OpenClaw documenta il comportamento di apertura non riuscita: timeout, ricerca non disponibile o richiamo vuoto consentono alla risposta principale di continuare senza contesto richiamato. Ciò protegge la disponibilità della conversazione, ma crea due risultati indipendenti: 1. Consegna della risposta: ha risposto l'assistente? 2. Correttezza supportata dalla memoria: il contesto di richiamo previsto ha raggiunto quella risposta? Una risposta consegnata dimostra solo la prima. Se la domanda dipendeva da una decisione passata, utilizzare un canarino decisionale innocuo o una revisione umana prima di dichiarare sana la svolta. Utilizza l'equazione di timeout corrente Per OpenClaw 2026.5.2 e versioni successive, il budget di blocco documentato nel caso peggiore è: I 3000 ms extra sono suddivisi in quote fisse pre volo e post richiamo. Non fornisce al modello o agli strumenti di memoria più tempo di esecuzione. Il budget del lavoro di richiamo è timeoutMs + setupGraceTimeoutMs . Con il raccomandato timeoutMs: 15000 e l'impostazione predefinita corrente setupGraceTimeoutMs: 0 , il tetto documentato è di 18 secondi. Se un operatore ripristina esplicitamente 30 secondi di tolleranza di configurazione dopo l'aggiornamento dal vecchio comportamento di tolleranza implicita, il limite diventa 48 secondi. Questa non è una raccomandazione per aggiungere 30 secondi ovunque. ILguida per l'avviamento a freddoafferma che esiste la tolleranza per il riscaldamento del modello, il caricamento dell'indice di incorporamento e il primo richiamo dopo il riavvio del gateway. Il compromesso è diretto: una maggiore grazia aumenta la latenza nel caso peggiore sulle risposte idonee. Una relazione pubblica,Numero di OpenClaw 66804, registrato timeoutMs=15000 , circa elapsedMs=57071 , E summaryChars=0 con MiniMax M2.7. Questo report è prezioso perché preserva il modello, la versione, la modalità di ricerca e l'assenza di un fallback configurato. Tuttavia, è stato presentato contro OpenClaw 2026.4.14. Non può convalidare o confutare l’attuale limite 2026.5.2 plus perché il timeout e l’implementazione dell’avvio a freddo sono cambiati. Il confronto sicuro è sempre: Separare l'avvio a freddo dal guasto costante Un timeout di primo richiamo e un timeout di stato stazionario condividono uno stato ma non una riparazione. Classificare il timeout di avvio a freddo solo quando tutte queste condizioni sono vere: il turno era ammissibile e mirato; La memoria attiva è stata effettivamente avviata; è stato il primo richiamo idoneo dopo il riavvio del gateway; il backend della memoria era disponibile; il tempo trascorso corrisponde al budget di blocco attualmente configurato; un successivo canarino identico riesce dopo il riscaldamento. La condizione finale è importante. Il “primo dopo il riavvio” è una prova, non un’esenzione. Se anche il secondo e il terzo richiamo idoneo scadono, l'incidente è passato allo stato stazionario. Per un timeout in stato stazionario , ispeziona il percorso di richiamo in questo ordine: 1. Backend di memoria: esegui openclaw status deep e verificare il provider, l'identità dell'indice e la disponibilità. ILriferimento alla configurazione della memoriaavvisa che le modifiche al provider, al modello, all'origine, all'ambito, alla suddivisione in blocchi o al tokenizzatore possono rendere incompatibile l'indice vettoriale esistente. OpenClaw mette in pausa la ricerca vettoriale anziché ricostruirla silenziosamente. 2. Dimensione query: sposta da full A recent o da recent A message , solo se il contesto più piccolo serve ancora al compito di richiamo. 3. Modello di richiamo: aggiungi un modello a bassa latenza adatto quando la latenza del modello di sessione ereditata costituisce il collo di bottiglia. 4. Budget per il timeout: aumenta la scadenza solo dopo che il backend e il modello sono ritenuti integri e il richiamo p95 misurato necessita di più spazio. Non fare affidamento su modelFallback come failover di runtime. L'attuale documentazione di OpenClaw lo definisce come l'ultimo passaggio nella risoluzione del modello quando non viene risolto alcun modello esplicito, di sessione o agente primario. Non viene scambiato con un backup dopo il timeout del modello scelto. Timeout ripetuti introducono un altro stato: circuito aperto . OpenClaw tiene traccia dei timeout consecutivi per agente/fornitore/modello e può saltare il richiamo durante un periodo di raffreddamento. Uno stato di circuito aperto può segnalare un timeout con tempo trascorso pari a zero. Questo non è un fallimento del provider straordinariamente veloce; è un lavoro che OpenClaw non è stato avviato intenzionalmente. Riproduci un controllo delle ricevute senza contenuti La seguente regola decisionale è il nucleo di un dispositivo di nove casi utilizzato per questo articolo. Non richiede istruzioni o testo in memoria: La tolleranza di 250 ms rappresenta la tolleranza di misurazione, non un budget di runtime aggiuntivo. Mantienilo piccolo ed esplicito. L'apparecchio copre nove stati reciprocamente distinguibili: Stato Prove decisive Decisione dell'operatore healthy recall ok , lunghezza del riepilogo non vuota, risposta consegnata Mantieni il percorso attuale no relevant memory Backend disponibile, risultato esplicito vuoto/non rilevante Assenza salutare per questa query cold start timeout Primo richiamo ammissibile post riavvio, entro il massimale attuale Caldo una volta; considerare la tolleranza di installazione limitata solo se riproducibile steady state timeout Timeout dopo il riscaldamento o al di fuori del limite attuale Diagnostica il backend, la dimensione della query e il modello circuit open Indicatore di circuito, di solito zero lavoro di richiamo trascorso Attendere il raffreddamento o riparare la causa ripetuta backend unavailable Risultato non disponibile o controllo backend non riuscito Fornitore di riparazione, autenticazione o identità dell'indice partial timeout Il riepilogo parziale esiste al timeout Trattare il contesto come degradato; verificare prima dell'uso not targeted Superficie non idonea o mancata corrispondenza del targeting Fissare le aspettative o l'ambito reply failed Manca la risposta principale Aumentare la disponibilità della conversazione, non solo il ricordo della memoria Il replay ha superato tutte e nove le classificazioni previste. La sua limitazione è altrettanto importante: dimostra la classificazione delle fasi, non la qualità del richiamo semantico. Un riepilogo non vuoto può comunque essere irrilevante o obsoleto. Per verificare la qualità senza conservare il contenuto, utilizzare una decisione canary con una disposizione prevista nota e archiviare solo l'ID canary, la classe del risultato di recupero, l'aggiornamento e il verdetto superato/fallito. Modificare un limite, quindi verificare il ripristino Utilizza lo stato per scegliere la riparazione più piccola: Non mirato: abilitazione plug in, elenco agenti, attivazione/disattivazione sessione o tipo di chat consentito corretti. Backend non disponibile: ripara il provider, la credenziale, il modello o l'indice esplicito incompatibile. Ricostruisci solo quando l'identità dell'indice documentata è cambiata. Timeout avvio a freddo: ripetere dopo il riscaldamento. Se solo il primo richiamo fallisce e la latenza è accettabile, aggiungere una tolleranza di configurazione limitata e misurare il nuovo limite. Timeout allo stato stazionario: riduci la modalità di query o seleziona un modello di richiamo più veloce prima di aumentare la scadenza. Circuito aperto: conserva le prove dell'incidente, ripara la causa ripetuta del timeout e verifica nuovamente dopo il raffreddamento. Timeout parziale: non tratta il testo richiamato parziale come contesto verificato. Risposta fallita: esamina il percorso di risposta più ampio; Il richiamo fail open non dovrebbe essere utilizzato per spiegare una risposta mancante senza prove. Il ripristino richiede più di una semplice scrittura della configurazione. Esegui nuovamente lo stesso canary idoneo, conferma status=ok oppure un risultato legittimo e non rilevante, confermare la risposta principale arrivata e verificare la decisione attesa. Quindi osservare almeno un ulteriore richiamo allo stato stazionario. Questa sequenza distingue una riparazione reale da una cache a caldo una tantum. Sidewisp è attualmente in anteprima privata.Il suo ruolo previsto è trasformare questo tipo di prove di raggiungibilità, memoria, timeout, fornitore e risultato in un chiaro problema di salute con freschezza e sicurezza. Sidewisp attualmente non fornisce un adattatore di monitoraggio OpenClaw o un motore di ripristino automatizzato; utilizza le prove native di OpenClaw e i passaggi di verifica limitata sopra riportati oggi.