Évolution des fenêtres de contexte

Fin 2024 a marqué le pic de l’optimisme autour du « RAG is dead ». Les constructeurs de modèles ont visé des capacités de contexte très longues, passant d’environ 128 000 tokens à des modèles à un million de tokens, comme le Gemini 1.5. Google a même annoncé un prototype à 10 millions de tokens. Llama 4 Scout a publié une version réelle à 10 M tokens, mais l’inférence a montré des limites de latence et de consommation mémoire, ce qui a freiné son adoption. Ces sauts de taille de fenêtre reposent sur l’augmentation du nombre de paramètres d’attention, dont la complexité théorique est O(N²) en fonction du nombre de tokens N, rendant l’exécution sur du matériel standard coûteuse.

Modes d’échec identifiés

L’auteur décrit quatre modes d’échec : poisoning, distraction, confusion et clash. Le context poisoning survient lorsqu’une information erronée s’insère dans le contexte et devient indélébile pour le modèle. L’exemple du jeu Pokémon illustre ce phénomène : Gemini 2.5, entraîné sur les deux versions de Pokémon Red, a intégré la consigne « donner du thé au garde‑feu » provenant de la version FireRed. Cette tâche, stockée dans les poids, a contaminé le contexte du jeu original, obligeant le modèle à persister sur la recherche du thé pendant des heures.

Le context distraction apparaît quand la fenêtre devient si volumineuse que le modèle privilégie les tokens du contexte au détriment de ses connaissances de base. L’étude « Do as I Say, Not as I Do » de Camassa et Shiller montre que, même avec une instruction claire (« traduire en russe »), l’insertion d’exemples contradictoires en français dans le même historique conduit le modèle à répondre en français. Le phénomène s’accentue à partir de 200 k‑300 k tokens, où les chercheurs observent une dégradation de la conformité aux consignes.

Le context confusion résulte d’associations inattendues entre faits hors sujet et la tâche en cours, tandis que le context clash se produit lorsque des appels d’outils ou des compétences intégrées entrent en conflit, générant des réponses incohérentes.

Implications pour la conception d’agents

Ces échecs soulignent que l’augmentation brute de la fenêtre de contexte ne résout pas les problèmes d’interprétation. Les architectures doivent intégrer des mécanismes de filtrage dynamique, comme des retrieval‑augmented generation (RAG) adaptatifs qui sélectionnent les fragments pertinents plutôt que d’alimenter le modèle avec tout le texte disponible. De plus, la gestion de la mémoire à long terme nécessite des stratégies de « forgetting » ou de résumés périodiques afin d’éviter la saturation de l’attention.

Sur le plan matériel, les modèles à plusieurs millions de tokens exigent des accélérateurs à bande passante élevée (GPU H100, TPU v5) et des algorithmes d’attention linéaire (ex. FlashAttention) pour contenir les coûts d’inférence. Sans ces optimisations, le coût énergétique et le temps de réponse deviennent prohibitifs pour les applications en temps réel.

Perspectives et limites

L’auteur prévoit que la « context engineering » restera un domaine de recherche actif, notamment pour définir des métriques de pertinence contextuelle et des protocoles de validation. Cependant, le texte ne fournit pas de données quantitatives sur les taux d’erreur spécifiques aux différents modes d’échec, ce qui limite la capacité à comparer l’efficacité des solutions proposées. Une meilleure transparence des études de cas, incluant des tableaux de performance, serait nécessaire pour établir des standards industriels.