2026-07-31T12:17:24.960Z

Délai d'expiration de la mémoire active OpenClaw : diagnostiquer la phase ayant échoué

Classifiez les délais d'expiration de la mémoire active OpenClaw comme démarrage à froid, panne constante, backend indisponible ou circuit ouvert à l'aide de reçus tenant compte de la version.

Un délai d'expiration de la mémoire active OpenClaw est un échec de tentative de rappel, et non une cause première . Lors d'un tour interactif éligible, la réponse principale peut toujours arriver sans contexte rappelé. Diagnostiquez le délai d'attente en joignant six faits sans contenu : si la session était éligible, s'il s'agissait de la première réponse éligible après le redémarrage, l'état de la mémoire active, le temps écoulé, le budget de délai d'attente configuré et l'état du backend de mémoire ou du disjoncteur. Ne commencez pas par augmenter timeoutMs . Un délai plus long peut masquer un backend froid, un modèle de rappel lent ou des échecs répétés tout en ajoutant de la latence à chaque réponse éligible. Classez d’abord la phase ayant échoué ; puis effectuez un changement limité et répétez le même canari de rappel. Ce guide est épinglé sur le comportement documenté pour OpenClaw 2026.5.2 et versions ultérieures et a été vérifié par rapport au package 2026.7.1. Les rapports de problèmes plus anciens constituent des preuves utiles, mais leur comportement d'horloge murale ne doit pas être traité comme le contrat de délai d'attente actuel. Prouver qu'Active Memory a réellement fonctionné Active Memory n'est pas un hook de mémoire général sur chaque exécution d'OpenClaw. Ledocumentation officielle de la mémoire activele limite aux conversations persistantes interactives éligibles. Les tâches ponctuelles sans tête, les exécutions de battement de cœur, le travail en arrière plan, les commandes internes génériques et les sous agents auxiliaires n'utilisent pas cette voie de rappel. Cela fait de l'éligibilité la première branche de l'incident : Preuve Interprétation Prochain coup La session n'était pas éligible ou l'agent n'était pas ciblé Aucune exécution de mémoire active n'était prévue Corriger l'hypothèse de ciblage ; ne pas régler les délais d'attente Tour éligible, non start ou une preuve de statut Le plugin, le basculement de session, la portée de type chat ou la journalisation sont probablement la première couche défaillante Vérifier /active memory status , le ciblage des agents et le type de chat Tour éligible avec status=timeout Le rappel a démarré ou a été ignoré par son disjoncteur Continuer avec les preuves de redémarrage, de temps écoulé, de backend et de circuit La réponse principale n'est pas arrivée C'est plus large que la qualité du rappel Traitez la livraison des réponses comme un incident de disponibilité distinct Allumer /verbose on pendant les tests. La ligne d'état est volontairement petite : état, temps écoulé, mode de requête et longueur du résumé. /trace on peut exposer un résumé de débogage, mais un reçu d’intégrité opérationnelle n’a pas besoin du texte récapitulatif. Conservez les invites, les souvenirs, les transcriptions et les informations d’identification hors du dossier d’incident. Comportement d'ouverture en cas d'échec des documents OpenClaw : délai d'attente, recherche indisponible ou rappel vide permet à la réponse principale de continuer sans contexte rappelé. Cela protège la disponibilité des conversations, mais cela crée deux résultats indépendants : 1. Envoi de la réponse : l'assistant a t il répondu ? 2. Exactité basée sur la mémoire : le contexte de rappel attendu a t il atteint cette réponse ? Une réponse délivrée ne prouve que la première. Si la question dépend d'une décision passée, utilisez un canari de décision inoffensif ou un examen humain avant de qualifier le tour de sain. Utiliser l'équation de délai d'attente actuelle Pour OpenClaw 2026.5.2 et versions ultérieures, le budget de blocage documenté dans le pire des cas est : Les 3 000 ms supplémentaires sont réparties en allocations fixes de vol en amont et de post rappel. Cela ne donne pas plus de temps d’exécution au modèle ou aux outils de mémoire. Le budget des travaux de rappel est timeoutMs + setupGraceTimeoutMs . Avec le recommandé timeoutMs: 15000 et la valeur par défaut actuelle setupGraceTimeoutMs: 0 , le plafond documenté est de 18 secondes. Si un opérateur restaure explicitement 30 secondes de grâce d’installation après la mise à niveau à partir de l’ancien comportement de grâce implicite, le plafond devient 48 secondes. Ce n'est pas une recommandation d'ajouter 30 secondes partout. Leconseils de démarrage à froidindique que la grâce existe pour l'échauffement du modèle, le chargement de l'index d'intégration et le premier rappel après le redémarrage d'une passerelle. Le compromis est direct : plus de grâce augmente la latence dans le pire des cas pour les réponses éligibles. Un rapport public,Problème OpenClaw 66804, enregistré timeoutMs=15000 , environ elapsedMs=57071 , et summaryChars=0 avec MiniMax M2.7. Ce rapport est précieux car il préserve le modèle, la version, le mode de recherche et l'absence de solution de secours configurée. Cependant, elle a été déposée contre OpenClaw 2026.4.14. Il ne peut pas valider ou réfuter le plafond actuel de 2026.5.2 et plus, car la mise en œuvre du délai d'attente et du délai de grâce pour démarrage à froid a changé. La comparaison sûre est toujours : Séparer le démarrage à froid d'une panne constante Un délai d’attente au premier rappel et un délai d’attente à l’état stable partagent un état mais pas une réparation. Classez délai d'expiration de démarrage à froid uniquement lorsque tous ces éléments sont vrais : le tour était éligible et ciblé ; Active Memory a réellement démarré ; c'était le premier rappel éligible après un redémarrage de la passerelle ; le backend mémoire était disponible ; le temps écoulé correspond au budget de blocage configuré actuellement ; un canari identique plus tard réussit après l'échauffement. La condition finale compte. « Premier après le redémarrage » est une preuve et non une exemption. Si les deuxième et troisième rappels éligibles expirent également, l'incident est passé à l'état stable. Pour un délai d'expiration en régime permanent , inspectez le chemin de rappel dans cet ordre : 1. Backend mémoire : exécuter openclaw status deep et vérifiez le fournisseur, l’identité de l’index et la disponibilité. Leréférence de configuration de la mémoireavertit que les modifications apportées au fournisseur, au modèle, à la source, à la portée, au regroupement ou au tokenizer peuvent rendre l'index vectoriel existant incompatible. OpenClaw suspend la recherche de vecteurs plutôt que de la reconstruire silencieusement. 2. Taille de la requête : passer de full à recent , ou de recent à message , seulement si le contexte plus petit sert toujours la tâche de rappel. 3. Modèle de rappel : épinglez un modèle à faible latence approprié lorsque la latence héritée du modèle de session constitue le goulot d'étranglement. 4. Budget de délai d'attente : n'augmentez le délai qu'une fois que le backend et le modèle sont connus comme étant sains et que le rappel p95 mesuré a besoin de plus d'espace. Ne comptez pas sur modelFallback comme basculement d'exécution. La documentation actuelle d'OpenClaw le définit comme la dernière étape de la résolution du modèle lorsqu'aucun modèle explicite, de session ou d'agent principal n'est résolu. Il n'effectue pas d'échange dans une sauvegarde après l'expiration du délai du modèle choisi. Les délais d'attente répétés introduisent un autre état : circuit ouvert . OpenClaw suit les délais d'attente consécutifs par agent/fournisseur/modèle et peut ignorer le rappel pendant un temps de recharge. Un état de circuit ouvert peut signaler un délai d'attente avec un temps écoulé nul. Il ne s’agit pas d’une défaillance extraordinairement rapide d’un fournisseur ; c'est un travail qu'OpenClaw n'a pas intentionnellement démarré. Rejouer un audit de reçu sans contenu La règle de décision suivante est au cœur d'un montage à neuf cas utilisé pour cet article. Il ne nécessite aucune invite ni texte en mémoire : La tolérance de 250 ms correspond à une tolérance de mesure et non à un budget d'exécution supplémentaire. Gardez le petit et explicite. Le luminaire couvre neuf états mutuellement distincts : État Des preuves décisives Décision de l'opérateur healthy recall ok , longueur du résumé non vide, réponse délivrée Conserver le chemin actuel no relevant memory Backend disponible, résultat explicite vide/non pertinent Absence saine pour cette requête cold start timeout Premier rappel éligible après redémarrage, dans les limites du plafond actuel Réchauffer une fois ; considérer la grâce de configuration limitée uniquement si elle est reproductible steady state timeout Timeout après l'échauffement ou en dehors du plafond actuel Diagnostiquer le backend, la taille de la requête et le modèle circuit open Marqueur de circuit, généralement zéro travail de rappel écoulé Attendez le refroidissement ou réparez la cause répétée backend unavailable Résultat indisponible ou échec de la vérification du backend Réparer l'identité du fournisseur, de l'authentification ou de l'index partial timeout Un résumé partiel existe à l'expiration du délai Traiter le contexte comme dégradé ; vérifier avant utilisation not targeted Surface inéligible ou inadéquation du ciblage Corriger les attentes ou la portée reply failed Réponse principale manquante Augmenter en fonction de la disponibilité de la conversation, pas seulement du rappel de mémoire La rediffusion a réussi les neuf classements attendus. Sa limite est tout aussi importante : elle prouve la classification des phases, et non la qualité du rappel sémantique. Un résumé non vide peut toujours être non pertinent ou obsolète. Pour vérifier la qualité sans conserver le contenu, utilisez une décision Canary avec une disposition attendue connue et stockez uniquement l'ID Canary, la classe de résultat de récupération, la fraîcheur et le verdict de réussite/échec. Modifiez une limite, puis vérifiez la récupération Utilisez l'état pour choisir la plus petite réparation : Non ciblé : activation correcte du plugin, liste d'agents, basculement de session ou type de chat autorisé. Backend indisponible : réparez le fournisseur explicite, les informations d'identification, le modèle ou l'index incompatible. Reconstruisez uniquement lorsque l'identité de l'index documentée a changé. Délai de démarrage à froid : répéter après l'échauffement. Si seul le premier rappel échoue et que la latence est acceptable, ajoutez une grâce de configuration limitée et mesurez le nouveau plafond. Délai d'expiration en régime permanent : réduisez le mode de requête ou sélectionnez un modèle de rappel plus rapide avant d'augmenter le délai. Circuit ouvert : préservez les preuves de l'incident, réparez la cause du délai d'attente répété et vérifiez à nouveau après le refroidissement. Délai d'expiration partiel : ne traite pas le texte rappelé partiellement comme un contexte vérifié. Échec de la réponse : étudiez le chemin de réponse plus large ; Le rappel après ouverture ne doit pas être utilisé pour expliquer une réponse manquante sans preuve. La récupération nécessite plus qu’une simple écriture de configuration. Réexécutez le même canari éligible, confirmez status=ok ou un résultat légitime non pertinent, confirmer la réponse principale arrivée et vérifier la décision attendue. Observez ensuite au moins un rappel supplémentaire en régime permanent. Cette séquence distingue une réparation réelle d'un cache chaud ponctuel. Sidewisp est actuellement en préversion privée.Son rôle est de transformer ce type de preuves d'accessibilité, de mémoire, de délai d'attente, de fournisseur et de résultats en un problème de santé clair avec fraîcheur et confiance. Sidewisp ne fournit actuellement pas d'adaptateur de surveillance OpenClaw ni de moteur de récupération automatisée ; utilisez aujourd'hui les preuves natives d'OpenClaw et les étapes de vérification limitées ci dessus.