Corrigir lentidão do OpenClaw em sessões longas: injeção de contexto com continuação-pulo para cache do llama.cpp

✍️ OpenClawRadar📅 Publicado: June 30, 2026🔗 Source
Corrigir lentidão do OpenClaw em sessões longas: injeção de contexto com continuação-pulo para cache do llama.cpp
Ad

Se sua instância auto-hospedada do OpenClaw com llama.cpp fica progressivamente mais lenta à medida que as sessões ultrapassam 90k tokens, o culpado pode ser uma única configuração do OpenClaw que invalida silenciosamente o cache de prompt a cada rodada. Um usuário no r/openclaw rastreou o problema e encontrou uma solução simples.

A Configuração

  • Qwen3.6-27B-Q8_0 em duas RTX 3090s (tensor parallel)
  • llama-server com --cache-prompt, --ctx-size 400000, --parallel 2
  • OpenClaw conectado via LAN

Os Sintomas

Os logs do llama-server mostravam a cada rodada:

forcing full prompt re-processing due to lack of cache data
erased invalidated context checkpoint (pos_min = 57172)
erased invalidated context checkpoint (pos_min = 60139)
erased invalidated context checkpoint (pos_min = 91076)
prompt eval time = 130511 ms / 91403 tokens

91k tokens reprocessados do zero a cada rodada — 130 segundos. O cache estava ativado, checkpoints existiam, mas o llama.cpp não encontrava correspondências e recorria ao reprocessamento completo.

A Causa Raiz

A configuração do OpenClaw contextInjection, com valor padrão always, reinjeta todos os arquivos bootstrap do workspace (AGENTS.md, SOUL.md, USER.md, TOOLS.md, MEMORY.md, HEARTBEAT.md, ~15kb) no prompt do sistema a cada rodada — incluindo rodadas de continuação. Isso altera a sequência de tokens, impedindo que o cache de prompt do llama.cpp (que depende da correspondência exata de prefixo) seja reutilizado.

Ad

A Correção

openclaw config set agents.defaults.contextInjection continuation-skip --merge

Em seguida, reinicie o gateway. continuation-skip só injeta os arquivos bootstrap em novas mensagens do usuário, não em rodadas de continuação, mantendo o prompt estável e o cache válido.

Os Resultados

Antes: 91.403 tokens reprocessados por rodada, 130s de avaliação de prompt, 0% de reutilização de cache, mais de 2 min por resposta.

Depois: 513 novos tokens por rodada, 1,3s de avaliação de prompt, 99,7% de reutilização de cache, ~5 segundos por resposta. 100x mais rápido.

Como Diagnosticar

ssh your-server "journalctl -u llama.service --no-pager -n 50 | grep -iE 'cache|re-process|checkpoint'"

Sinais de cache quebrado: forcing full prompt re-processing due to lack of cache data, erased invalidated context checkpoint repetido, processamento de prompt acima de 30 segundos. Sinais de cache saudável: restored context checkpoint, f_keep = 0.99+, graphs reused = número alto, processamento de prompt abaixo de 5 segundos.

Ajuste também --ctx-size para 400k (200k por sessão), contextTokens do OpenClaw para 200k e memoryFlush.softThresholdTokens de 30k para 10k para melhorias adicionais.

📖 Leia a fonte completa: r/openclaw

Ad

👀 See Also