Déboguer les Timeouts du Modèle Local OpenClaw + Ollama : Cinq Correctifs pour les Pannes Silencieuses

✍️ OpenClawRadar📅 Publié: April 15, 2026🔗 Source
Déboguer les Timeouts du Modèle Local OpenClaw + Ollama : Cinq Correctifs pour les Pannes Silencieuses
Ad

Problème : Les agents OpenClaw échouent silencieusement avec les modèles Ollama locaux

Un développeur débuguant OpenClaw 2026.4.2 avec Ollama 0.20.2 et le modèle Gemma 4 26B-A4B Q8_0 sur un Mac Studio M4 Max a constaté que les agents ne répondaient pas après une commande /new, bien que le modèle fonctionne instantanément via ollama run. Aucune erreur n'apparaissait dans les logs, et l'agent n'affichait aucun indicateur de saisie.

Causes profondes et correctifs

  • Cause profonde n°1 : Générateur de slug bloquant : Le hook session-memory d'OpenClaw exécute un générateur de slug qui envoie une requête à Ollama avec un délai d'attente codé en dur de 15 secondes. Si le modèle ne peut pas traiter le prompt système d'OpenClaw à temps, OpenClaw abandonne la requête, mais Ollama continue de la traiter, bloquant ainsi les requêtes d'agent suivantes.
    Correctif : openclaw hooks disable session-memory
  • Cause profonde n°2 : Prompt système volumineux : OpenClaw injecte environ 38 500 caractères de prompt système (identité, outils, fichiers d'amorçage) par requête. Les modèles locaux nécessitent 40 à 60 secondes pour la phase de préremplissage.
    Correctif : Ajouter à la configuration pour ignorer l'injection d'amorçage et limiter les caractères :
    { "agents": { "defaults": { "skipBootstrap": true, "bootstrapTotalMaxChars": 500 } } }
    Cela réduit le prompt à environ 19 000 caractères.
  • Cause profonde n°3 : Délai d'attente inactif caché : OpenClaw a un DEFAULT_LLM_IDLE_TIMEOUT_MS de 60 secondes. Si le modèle ne produit pas un premier jeton dans ce délai, il interrompt la connexion et bascule silencieusement vers un modèle de secours (par exemple, Claude Sonnet).
    Correctif : Définir une clé de configuration non documentée :
    { "agents": { "defaults": { "llm": { "idleTimeoutSeconds": 300 } } } }
  • Cause profonde n°4 : Traitement séquentiel d'Ollama : Ollama traite les requêtes de manière séquentielle, donc les requêtes abandonnées du générateur de slug peuvent occuper des emplacements de traitement.
    Correctif : Ajouter à la configuration plist/service d'Ollama : OLLAMA_NUM_PARALLEL=4
  • Cause profonde n°5 : Délai du mode réflexion : Gemma 4 utilise par défaut une phase de réflexion/raisonnement qui ajoute 20 à 30 secondes avant le premier jeton.
    Correctif : Désactiver dans la configuration :
    { "agents": { "defaults": { "thinkingDefault": "off" } } }
Ad

Configuration complète fonctionnelle

Le développeur a fourni cette configuration complète pour une installation fonctionnelle :

{ "agents": { "defaults": { "model": { "primary": "ollama/gemma4:26b-a4b-it-q8_0", "fallbacks": ["anthropic/claude-sonnet-4-6"] }, "thinkingDefault": "off", "timeoutSeconds": 600, "skipBootstrap": true, "bootstrapTotalMaxChars": 500, "llm": { "idleTimeoutSeconds": 300 } } } }

De plus, épingler le modèle en mémoire pour éviter son déchargement entre les requêtes :

curl http://localhost:11434/api/generate -d '{"model":"gemma4:26b-a4b-it-q8_0","keep_alive":-1,"options":{"num_ctx":16384}}'

Résultats et compromis

Après application des correctifs, le premier message après /new prend environ 60 secondes en raison du préremplissage du prompt système, ce qui est décrit comme inévitable pour les modèles locaux. Les messages suivants sont rapides car Ollama met en cache l'état KV. L'installation utilise 31 Go de VRAM, 100 % du GPU et une fenêtre de contexte de 16 K, fonctionnant entièrement en local sans aucun coût d'API.

Le délai initial est le compromis pour une opération entièrement locale, la confidentialité et l'absence de coût. Le développeur note que cela en vaut la peine si ces facteurs sont prioritaires.

📖 Lire la source complète : r/LocalLLaMA

Ad

👀 See Also

Utilisez des exécuteurs de tâches pour les tâches de codage courantes
Guides

Utilisez des exécuteurs de tâches pour les tâches de codage courantes

Ham Vocke explique comment utiliser de simples scripts bash ou Makefiles comme exécuteurs de tâches pour standardiser les commandes courantes comme build, test et format à travers les référentiels.

OpenClawRadar
Maîtriser la Sauvegarde : Protéger Votre Agent OpenClaw
Guides

Maîtriser la Sauvegarde : Protéger Votre Agent OpenClaw

À une époque dominée par l'automatisation et l'IA, assurer la sécurité de votre agent OpenClaw grâce à des stratégies de sauvegarde robustes est primordial. Découvrez les étapes essentielles pour sécuriser votre assistant numérique.

OpenClawRadar
Un système de mémoire à 4 fichiers pour les agents OpenClaw sans plugins
Guides

Un système de mémoire à 4 fichiers pour les agents OpenClaw sans plugins

Un utilisateur de Reddit partage un système de mémoire pratique utilisant quatre fichiers markdown : USER.md pour l'identité, CONTEXT.md pour le travail actif, MEMORY.md pour les sujets structurés, et ARCHIVE.md pour les éléments terminés. L'approche aborde le problème de 'l'agent ne sait pas ce qu'il sait' grâce à une meilleure architecture de fichiers plutôt qu'à davantage de mémoire.

OpenClawRadar
Créer 9 compétences Claude pour un studio solo : instructions d'empilage pour un travail réel
Guides

Créer 9 compétences Claude pour un studio solo : instructions d'empilage pour un travail réel

Un développeur solo a créé neuf compétences Claude pour la production vidéo, l'analyse, le SEO, la modélisation financière, et plus encore. Point clé : rédigez les compétences comme des instructions à un collègue expérimenté, pas comme de la documentation. Les compétences se déclenchent automatiquement et s'empilent lorsque les tâches se chevauchent.

OpenClawRadar