Aller au contenu principal
Intermédiaire15 min

Module 4 — Les 5 patterns de dégradation


Objectif

À la fin de ce module, tu sauras diagnostiquer les 5 patterns de dégradation et appliquer la mitigation adaptée.


Les 5 patterns

Pattern Symptôme Cause Mitigation
Lost-in-middle Info présente mais ignorée Position au milieu du contexte Déplacer aux bords, ajouter résumés
Poisoning Hallucination persistante malgré correction Fausse info entrée dans le contexte Tronquer avant le point de poison
Distraction Performance baisse avec contenu additionnel Info non pertinente compétitionne Filtrer avant chargement
Confusion Réponses mélangeant plusieurs tâches Multi-tâches dans un seul contexte Isoler par session
Clash Réponses contradictoires Sources contradictoires en contexte Établir priorité, marquer conflits

Pattern 1 : Lost-in-Middle

Détection :

  • L’info existe dans le contexte mais le modèle l’ignore
  • Réponses contredisant les données fournies
  • Le modèle “oublie” des instructions données plus tôt

Exemple :

User: "N'oublie pas d'utiliser Zustand, pas Redux"
[... 50 messages plus tard ...]
Agent: "J'ai installé Redux et configuré le store..."

Mitigation :

  • Placer les contraintes au début ET à la fin
  • Ajouter des résumés aux bords des longs documents
  • Utiliser des headers explicites comme ancres d’attention

Pattern 2 : Context Poisoning

Détection :

  • Hallucination qui persiste malgré correction explicite
  • Mauvais outil appelé ou mauvais paramètres
  • Qualité dégradée sur des tâches précédemment réussies

Exemple :

Tour 5 : L'agent lit un document obsolète disant que l'API est v1
Tour 10 : L'agent continue de citer v1 malgré correction
Tour 15 : Toutes les décisions sont basées sur v1

Mitigation :

  1. Identifier le premier tour où la fausse info est entrée
  2. Tronquer ou redémarrer avant ce point
  3. Recharger uniquement les sources vérifiées
  4. Noter la source rejetée pour éviter répétition

Ne JAMAIS : ajouter des corrections par-dessus le contexte empoisonné. L’erreur originale garde du poids attentionnel.


Pattern 3 : Context Distraction

Détection :

  • Performance baisse quand des documents non pertinents sont ajoutés
  • Même un seul document non pertinent a un impact disproportionné

Recherche : L’impact suit une fonction en escalier, pas linéaire. Le premier distractor est le plus coûteux.

Mitigation :

  • Filtrer par pertinence avant chargement
  • Utiliser des appels d’outils à la place du pré-chargement
  • Score de pertinence : exclure tout ce qui est sous le seuil

Pattern 4 : Context Confusion

Détection :

  • Réponses s’adressant au mauvais aspect d’une requête
  • Appels d’outils appropriés pour une tâche différente
  • Outputs mélangeant des exigences de plusieurs sources

Exemple :

Contexte contient :
- Tâche A : refactor auth
- Tâche B : ajouter logging

Agent : "J'ai ajouté le logging dans le middleware d'auth"
→ Mélange des contraintes des deux tâches

Mitigation :

  • Segmenter les tâches dans des contextes séparés
  • Utiliser des marqueurs de “reset de contexte” entre tâches
  • Une session = une tâche

Pattern 5 : Context Clash

Détection :

  • Sources correctes mais contradictoires
  • Le modèle choisit aléatoirement entre elles
  • Pas de signal de conflit

Exemple :

Doc A : "L'endpoint est /charges" (v1)
Doc B : "L'endpoint est /payments" (v2)

Mitigation :

  • Filtrer les versions obsolètes avant chargement
  • Marquer explicitement les conflits :
conflit:
  sujet: endpoint de facturation
  source_a: docs/v1.md → /charges
  source_b: docs/v2.md → /payments
  priorité: docs/v2.md
  raison: version en production

Le framework des 4 buckets

Quand tu détectes un pattern, applique l’une de ces 4 stratégies :

Stratégie Quand Comment
Write Utilisation > 70% Sauver contexte hors fenêtre (fichiers, scratchpads)
Select Distraction / confusion Ne charger que le contexte pertinent
Compress Tout est pertinent mais trop volumineux Résumer tout en préservant les décisions
Isolate Multi-tâches Splitter en subagents avec contextes séparés

Checklist de validation

  • Je reconnais les 5 patterns de dégradation
  • Je sais quel pattern correspond à mes symptômes
  • Je peux appliquer la mitigation adaptée
  • Je connais le framework des 4 buckets

Piège courant

Diagnostiquer “dégradation” quand c’est un problème de prompt. → Avant de diagnostiquer un pattern de dégradation, vérifie que le même prompt fonctionne correctement à faible contexte (2K tokens). Si ça échoue déjà à 2K, le problème est le prompt, pas le contexte.


Prochaine étape

→ Module 5 (Compaction intentionnelle fréquente) pour apprendre à compacter proprement