llama.cpp Retraitement massif de prompts avec des agents de codage : Débogage du cache KV et de l'échange de contexte

✍️ OpenClawRadar📅 Publié: May 14, 2026🔗 Source
llama.cpp Retraitement massif de prompts avec des agents de codage : Débogage du cache KV et de l'échange de contexte
Ad

Un développeur sur r/LocalLLaMA rencontre un problème de performance sérieux avec llama.cpp lors de l'exécution d'agents de codage à long contexte (opencode + pi.dev) via llama-swap. Même avec des prompts très similaires (similarité LCP souvent >0,99), le système jette périodiquement le cache KV et retraite 40 000+ tokens, provoquant un TTFT de plusieurs minutes.

Comportement observé

  • Le contexte atteint 50 000+ tokens.
  • Après plusieurs réutilisations normales (par ex., prompt eval time = 473 ms / 19 tokens), n_past chute soudainement à ~4-5k.
  • llama.cpp retraite alors le prompt complet : n_tokens = 4750 prompt eval time = 222411 ms / 44016 tokens.
  • L'utilisation du cache atteint 4676 Mio, dépassant la limite configurée (2500 Mio).

Configuration actuelle

llama-server --ctx-size 150000 --parallel 1 --ctx-checkpoints 32 --cache-ram 2500 --cache-reuse 256 -no-kvu --no-context-shift
Ad

Causes suspectées

  • Invalidation du cache due au dépassement de la limite --cache-ram – le journal montre 4676 Mio utilisés contre 2500 Mio de limite.
  • Mécanisme de réutilisation KV défectueux lorsque les premiers tokens du prompt changent (peut-être des altérations fréquentes par opencode).
  • --ctx-checkpoints ou --cache-reuse insuffisants pour la taille de contexte de 150k.

Recommandations de la communauté

Le fil de discussion contient peu de réponses pour l'instant, mais les premières étapes évidentes incluent l'augmentation de --cache-ram pour correspondre à l'utilisation typique (par ex., 5000+ Mio), ou la réduction de --ctx-size pour rester sous la limite du cache. Vérifiez également si opencode modifie intentionnellement les préfixes de prompt ; si c'est le cas, verrouiller le prompt système ou utiliser un préfixe fixe pourrait améliorer la réutilisation.

Pour les développeurs utilisant des configurations similaires, partagez vos configurations fonctionnelles dans le fil source.

📖 Lire la source complète : r/LocalLLaMA

Ad

👀 See Also