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

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_pastchute 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-shiftCauses 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-checkpointsou--cache-reuseinsuffisants 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
👀 See Also

Entrées de CLAUDE.md désactivant le comportement de rythme humain d'Opus 4.7
Trois directives CLAUDE.md qui suppriment les suggestions de pause, les surestimations de temps et le fractionnement en phases de Claude 4.7 Opus lors de longues sessions de codage.

Taux élevé de CPU/RAM et redémarrages de la passerelle dans OpenClaw ? Désactivez IPv6 pour Telegram
Si votre instance OpenClaw rencontre une utilisation élevée du processeur/RAM, des réponses lentes et des redémarrages périodiques de la passerelle dans les versions récentes (notamment avec l'intégration Telegram), le coupable pourrait être <code>autoSelectFamily: true</code> (par défaut sur Node 22+). Un utilisateur de r/openclaw a retracé le problème à des connexions IPv6 échouées causant des fuites de ressources.

Comment je sollicite les modèles d'IA en 2026 vs il y a un an : 3 changements clés
Un développeur partage trois changements concrets : passer des templates de prompt aux compétences réutilisables, écrire des objectifs au lieu d'instructions étape par étape, et utiliser les commandes /loop pour les projets longue durée dans Claude Code et Codex.

L'audit des jetons de Claude Code révèle des coûts cachés dus au chargement par défaut des outils.
Un développeur a analysé 926 sessions de Claude Code et a constaté que 45 000 jetons étaient chargés au début de chaque session, dont 20 000 provenaient des définitions de schémas d'outils système. L'activation du paramètre ENABLE_TOOL_SEARCH a réduit le contexte de départ de 45 000 à 20 000 jetons, économisant ainsi 14 000 jetons par tour.