Problèmes et solutions de contournement liés à la compaction des sessions Claude AI

Fonctionnement de la Compaction
Les sessions Claude sont stockées sous forme de fichiers JSONL à l'emplacement ~/.claude/projects/{encoded-cwd}/sessions/{id}.jsonl. Chaque tour de conversation est un bloc JSON. Lorsque la compaction se déclenche, les blocs originaux restent dans le fichier, mais un nouveau bloc contenant un résumé compressé est ajouté. Après la compaction, le modèle travaille à partir du résumé plutôt que de l'historique complet de la conversation.
Résultats des Tests
Avec un projet de codage à 90 % de remplissage du contexte (avant l'augmentation à 1 million de tokens), l'utilisateur a testé 10 questions couvrant le rappel simple, les chaînes de dépendance à 6 sauts, la désambiguïsation d'entités, l'enchaînement de négations, la détection d'absence et la détection de conflits.
- Avant compaction : ~9,75/10 de précision avec Opus 4.6 trouvant des faits dispersés sur 418 000 tokens
- Après compaction (par défaut) : ~5/10 de précision avec 3 461 tokens (compression 121x). La même session, les mêmes questions ont donné des réponses incorrectes hallucinées.
- Après compaction (Manuelle Opus) : ~9,75/10 de précision avec 6 080 tokens (compression 69x). L'utilisation d'une invite de compaction personnalisée avec Opus a préservé les informations importantes.
Pourquoi cette Différence
Selon la documentation d'Anthropic, l'API utilise par défaut le même modèle pour la compaction. L'utilisateur utilisait Opus 4.6 sur un calcul moyen, donc la compaction par défaut aurait dû utiliser Opus également. La différence de qualité suggère des problèmes avec l'invite de synthèse, le budget de réflexion/calcul, ou les deux.
Solutions de Contournement
Approche 1 : Compaction Opus - Désactivez la compaction automatique et mettez en place un processus en arrière-plan qui mesure les comptes de tokens pour les instances Claude Code. Déclenchez la compaction en utilisant Opus avec une invite personnalisée (éventuellement avec l'autorisation de l'utilisateur).
Approche 2 : Pré-ensemencement spaCy NER - Au lieu de démarrer les sous-agents avec un contexte nul, utilisez spaCy NER pour extraire les noms propres, les nombres, les noms de services, les ports et les identifiants clés des fichiers du projet. Injectez cela comme un briefing d'entités léger (quelques centaines de tokens) au démarrage pour informer les agents des ressources existantes sans encombrement narratif.
📖 Read the full source: r/ClaudeAI
👀 See Also

Meta Ads MCP OAuth fonctionne, mais la plupart des comptes publicitaires ne sont pas encore activés
Le flux OAuth de Meta Ads MCP fonctionne et charge 29 outils, mais ads_get_ad_accounts renvoie is_ads_mcp_enabled: false avec un message indiquant que la fonctionnalité est déployée progressivement.
Tendril : Un agent auto-extensible qui construit et enregistre des outils à la volée
Tendril est un bac à sable agentique qui découvre, construit et enregistre des outils de manière autonome. Il commence avec seulement trois outils de bootstrap et étend dynamiquement son registre de capacités sans demander à l'utilisateur.

Beacon : Télémétrie de point de terminaison open source pour agents IA locaux
Beacon capture l'activité des agents IA locaux (Claude Code, Codex CLI, Cursor, etc.) et la normalise en événements de endpoint pour inspection ou transfert vers SIEM via Wazuh, Elastic, Splunk HEC.

SprintiQ : Planification de Sprint Open-Source pour Claude Code
SprintiQ est une plateforme agile open-source qui sert de couche d'orchestration pour Claude Code, offrant la génération d'user stories assistée par IA, la planification de sprints, le suivi de vélocité, et une CLI qui synchronise l'activité git avec les sprints en temps réel.