Skip to main content

Dépassement de la fenêtre de contexte et compression

POUR AGENT IAChatGPTClaude

Modèles d'ingénierie pour prévenir les défaillances critiques lors de l'épuisement de la limite de contexte : résumés glissants (Rolling Summaries), agrégation d'états et éviction sélective des historiques obsolètes.

1. Vue d'ensemble du concept et problème systémique

Dans les projets d'ingénierie de longue haleine, un agent peut travailler pendant des heures : lire des fichiers, exécuter des tests, récupérer des logs, corriger des erreurs. Tôt ou tard, même une fenêtre de 200 000 tokens finit par se remplir :

  • Approche naïve : tronquer simplement (Truncate) les premiers messages. Mais avec eux disparaît l'instruction initiale de l'utilisateur, et l'agent « oublie » soudainement la tâche précise qu'il est en train de résoudre.
  • Autre approche naïve : arrêter le travail et signaler une erreur, obligeant l'utilisateur à tout réexpliquer manuellement depuis le début.

Context Window Compaction (Compression du contexte) est une technique de compression continue de l'historique des dialogues à la volée, permettant à l'agent de mener des sessions de travail infinies sans planter sur une erreur de saturation ni perdre les objectifs initiaux.

2. Taxonomie architecturale et modèle mental

┌─────────────────────────────────────────────────────────────┐
│                 CYCLE DE COMPRESSION DU CONTEXTE            │
├─────────────────────────────────────────────────────────────┤
│ 1. SURVEILLANCE DU BUFFER (Total Tokens : 165k / Limite 200k)│
│    • Seuil de déclenchement : 80 % d’occupation de la fenêtre│
├─────────────────────────────────────────────────────────────┤
│                          │                                  │
│                          ▼ Déclencher le Worker de Compression│
├─────────────────────────────────────────────────────────────┤
│ 2. PARTITIONNEMENT & RÉSUMÉ PROGRESSIF                      │
│    ┌─────────────────────────────────────────────────────┐  │
│    │ [ÉPINGLÉ] Prompt Système & Règles Fondamentales (Immuable)│  │
│    ├─────────────────────────────────────────────────────┤  │
│    │ [TRONQUÉ] Anciens Tours 1–30 ➔ Distillés en État Exécutif│  │
│    │          « Auth configurée, DB migrée »             │  │
│    ├─────────────────────────────────────────────────────┤  │
│    │ [CONSERVÉ BRUT] Nouveaux Tours 31–40 (Détails exacts pour dev)│  │
│    └─────────────────────────────────────────────────────┘  │
├─────────────────────────────────────────────────────────────┤
│ 3. REASSEMBLAGE DU CONTEXTE : Nouvelle Taille = 45k tokens (Espace libéré !)│
└─────────────────────────────────────────────────────────────┘

3. Scénarios d'ingénierie pratiques en production

01. Session infinie de vibe coding dans un IDE agentique

Le développeur travaille dans Cursor ou Claude Code depuis six heures consécutives. Toutes les 40 messages, le système compresse discrètement les anciens logs du terminal en un bloc Markdown propre <previous_session_summary>, maintenant la session rapide, économique et réactive.

02. Préservation des artefacts de décision (Architectural Decision Records)

Lors de la compression, l'agent conserve séparément les hypothèses rejetées : « Nous avons essayé d'utiliser la bibliothèque X, mais elle est incompatible avec Windows ». Cela garantit que, après 100 messages, l'agent ne tentera pas de réinstaller la bibliothèque X.

4. Pièges courants, erreurs typiques et sécurité

  • Perte de détails subtils (Information Loss) : Le modèle de résumé peut juger qu'un numéro de port spécifique ou le nom d'un champ rare n'est pas important et le supprimer du synopsis. Les paramètres critiques doivent être stockés dans des champs JSON State dédiés, et non dans du texte libre.
  • Dérive de l'objectif lors de compressions multiples : Si la session dure des semaines et que le résumé est lui-même résumé dix fois, on obtient un effet de « téléphone arabe ». La requête initiale de l'utilisateur (User Intent) doit toujours rester inchangée à la racine du prompt.

5. Conclusion stratégique pour l'ingénieur 2026

La compression du contexte est la clé pour créer des systèmes autonomes de longue durée (Long-Running Agents). Savoir concevoir des algorithmes de rotation et de consolidation de la mémoire permet de créer des agents capables de travailler sur un projet pendant des semaines sans perte de focus.

/ Questions fréquentesSchema.org FAQPage

FAQ: Dépassement de la fenêtre de contexte et compression

L'API du fournisseur renvoie une erreur 400 (`context_length_exceeded`) et interrompt complètement le traitement. Si l'application ne dispose pas d'une logique de compression, la session utilisateur est définitivement interrompue, l'obligeant à recommencer la conversation depuis le début.
/ Liens internes
Tous les termes