Skip to main content

Dégradation du contexte (Context Rot & Attention Decay)

POUR AGENT IAChatGPTClaude

Baisse systémique de la précision, du respect des instructions et de la cohérence logique des LLM à mesure que le bruit dialogique, les brouillons de code obsolètes et les sorties du compilateur s'accumulent dans la fenêtre contextuelle.

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

L’émergence de modèles dotés de fenêtres contextuelles géantes (Claude 3.7 avec 200K, Gemini 2.5 avec plus d’un million de tokens) a engendré une illusion dangereuse chez les développeurs : l’idée qu’il est désormais possible de maintenir un seul chat indéfiniment, en y déversant des mégaoctets de logs, des fichiers complets et des brouillons de code.

En pratique, après 15 à 20 étapes de travail autonome, la dégradation rapide du comportement de l’agent s’amorce :

  1. Amnésie des règles : L’agent oublie soudainement l’interdiction d’utiliser any ou commence à renvoyer des noms de fonctions inventés, malgré des restrictions claires dans le prompt système.
  2. Répétition cyclique des erreurs (Negative Reasoning Transfer) : En observant dans son propre historique cinq tentatives échouées pour exécuter une commande, le modèle considère le paradigme erroné comme la norme et propose à nouveau les mêmes variantes de code obsolètes.
  3. Catastrophe économique : L’utilisateur paie pour la longueur totale du contexte (par exemple, 120 000 tokens d’entrée) à chaque réplique, simplement pour corriger une virgule dans un fichier.

Context Rot (Dégradation du contexte) est le tueur silencieux du vibe coding et des workflows agentic, transformant un assistant intelligent en générateur désorienté de spaghetti code.

2. Taxonomie architecturale et modèle mental

La dégradation de l’attention au sein du réseau neuronal évolue selon trois axes principaux :

  • 1. Entropie des poids d’attention (Attention Dilution) : Dans la formule mathématique du transformer $\text{Softmax}(QK^T / \sqrt{d})$, le dénominateur somme les exponentielles de tous les tokens du contexte. Lorsque le nombre de tokens secondaires passe de 2 000 à 100 000, le poids d’attention attribué aux instructions système critiques se dilue de manière exponentielle.
  • 2. Effet « Lost-in-the-Middle » : L’attention se répartit selon une courbe en U. Les informations situées entre 20 % et 80 % de la profondeur du contexte subissent le taux le plus élevé de distorsions et d’hallucinations.
  • 3. Empoisonnement du contexte par les erreurs (Feedback Pollution) : Chaque sortie échouée du linter, erreur 404 ou bloc de code commenté devient partie intégrante de la distribution d’apprentissage pour la génération du token suivant. Le modèle commence inconsciemment à générer du code dans le style de ses propres tentatives infructueuses.

3. Pipeline technique et mécanique interne

Le cycle de vie de la dégradation du contexte et les contre-mesures :

  1. Inception & High Fidelity (Phase de démarrage propre, étapes 1–5) : Le contexte ne contient que les règles système pures et la tâche. La précision d’exécution est maximale, le modèle respecte strictement la structure.
  2. Accumulation & Intermediate Noise (Phase d’accumulation, étapes 6–15) : Des stacktraces, des sorties git status et de longues réponses JSON apparaissent dans le contexte. Une dispersion initiale de l’attention se produit.
  3. Attention Saturation & Drift (Phase de dégradation, étapes 16+) : Le modèle commence à perdre le fil du raisonnement, change de style de nommage, propose des bibliothèques obsolètes et répète les hallucinations précédentes.
  4. Compaction & Thread Reset (Protection ingénierie) :
    • Rolling Compaction : Réduction automatique des anciens messages en un digest de 3 paragraphes.
    • Clean Forking : Création d’une nouvelle session avec transfert uniquement de l’état final (Final Diff).

4. Scénarios d’ingénierie pratiques en production

01. Discipline des sessions dans Claude Code et Cursor

Les développeurs expérimentés ne maintiennent jamais un seul chat au-delà d’une étape logique. Une fois le module d’authentification écrit et testé, la session est fermée. Un nouveau chat pour le module de facturation est ouvert sur une base vierge, avec ajout de références aux fichiers fraîchement créés.

02. Assainissement strict de la sortie terminal (Stdout Truncation)

Lorsque l’agent lance une commande de build ou des tests, le runtime intercepte la sortie. Si npm run build génère 2000 lignes de logs, l’agent ne reçoit que les 20 dernières lignes contenant le texte de l’erreur réelle, évitant ainsi l’encombrement immédiat du contexte par le bruit.

03. Pipelines à deux étages dans RAG

Avant d’ajouter les pages web trouvées dans le prompt du générateur, elles passent obligatoirement par un stripper HTML-to-Markdown et un filtre de pertinence. Seuls les faits utiles sont injectés dans le contexte, sans barres de navigation ni footers de site.

5. Pièges, erreurs courantes et sécurité

  • Piège des coûts irrécupérables (Sunk Cost Fallacy) : L’utilisateur continue de convaincre l’agent dans le même long chat : « Non, tu as encore oublié l’import ! Je te l’ai dit il y a 10 messages ! ». Il est plus simple d’appuyer sur /clear ou d’ouvrir un nouveau thread.
  • Entités zombies (Ghost Variables) : L’agent fait référence à des variables ou fonctions qu’il a créées à l’étape 3, mais que vous avez supprimées du code à l’étape 8, car elles persistent toujours dans l’historique de la conversation.
  • Gaspillage financier incontrôlé : Travailler dans un contexte « périmé » de 150K tokens brûle le budget mensuel du développeur en une heure, sans aucun bénéfice pour le produit.
/ Questions fréquentesSchema.org FAQPage

FAQ: Dégradation du contexte (Context Rot & Attention Decay)

Bien que la limite physique de la fenêtre ait augmenté, la mathématique de l'attention (Self-Attention) reste inchangée : la fonction Softmax répartit les probabilités entre tous les tokens. Dans un contexte surchargé, l'attention se dilue (Attention Entropy), et le « signal » de la tâche actuelle est noyé dans le « bruit » des 50 messages précédents, réduisant la capacité du modèle à suivre des règles strictes.
/ Liens internes
Tous les termes