Une introduction au Context Engineering
Commençons par une histoire vraie. L'un d'entre nous avait pris l'habitude, en rédigeant ses tickets, de sourcer les spécifications d'origine par de simples liens dans le texte. Le jour où il a confié ces mêmes tickets à un agent, celui-ci a suivi les liens, avalé l'intégralité des specs… puis s'est mis en tête de réaliser tout le projet, au lieu de la seule tâche demandée. “Je vous laisse imaginer la consommation de tokens.“
Cet incident tient en une phrase le paradoxe le plus déroutant de l'ère des LLM : plus de contexte ne donne pas forcément un meilleur résultat — parfois, c'est pire. L'agent qui, noyé, se met à halluciner, à oublier sa consigne de base ou à sur-interpréter sa mission : voilà le symptôme.
Ce phénomène a un nom, et la discipline qui permet de le maîtriser s'appelle le Context Engineering, un terme popularisé mi-2025 par Tobi Lütke (CEO de Shopify) puis Andrej Karpathy, avant d'être formalisé par Anthropic [1][2]. Avant de coder des agents complexes ou de déployer un système de RAG sophistiqué, il faut comprendre une chose : la fenêtre de contexte n'est pas un sac dans lequel on jette tout ce qu'on trouve. C'est une ressource finie, fragile, et étonnamment sensible. Nous vous proposons un décryptage.
C'est quoi le « contexte », concrètement ?
Quand on parle de contexte, on pense d'abord au texte qu’on tape dans l'interface. Mais le contexte est bien plus large.
Pour un LLM, le contexte, c'est tout ce qui se trouve dans sa fenêtre au moment où il génère sa réponse [2]. C'est son champ de vision instantané. Et ce champ contient bien plus que votre question, comme illustré sur la figure ci-dessous.
Le modèle n'a pas de mémoire conversationnelle persistante : en dehors de cette fenêtre, il ne se souvient de rien de ce qui s'est dit. Ses connaissances générales, elles, restent disponibles en permanence, encodées dans ses poids, pas dans le contexte. S'il vous répond intelligemment, c'est uniquement parce que les informations nécessaires ont été placées dans son champ de vision. Tout l'enjeu est là et ce champ a des limites.
La fenêtre de contexte : une ressource finie (et trompeuse)
Les fournisseurs se sont livrés une course effrénée à la plus grande fenêtre de contexte. À l'heure où nous écrivons ces lignes (mi-2026), cette course est en grande partie gagnée : le million de tokens est devenu le standard chez tous les grands acteurs [9].
-
Anthropic Claude : 1 million de tokens sur les modèles haut de gamme (Opus 5.5, Sonnet 5), 200 000 sur les modèles plus légers (Haiku 4.5).
-
OpenAI GPT : 1 million de tokens sur la génération GPT-5.x (et déjà sur GPT-4.1).
-
Google Gemini : 1 million en standard, jusqu'à 2 millions sur Gemini 3.1 Ultra, la plus grande fenêtre publique à ce jour.
-
Les modèles ouverts ne sont pas en reste (Llama 4, Qwen 3.6 atteignent aussi le million), même si beaucoup de modèles plus petits ou auto-hébergés restent bien en deçà, ce qui rend le tri du contexte d'autant plus critique.
Un million de tokens, c'est environ 750 000 mots : une grosse base de code, ou un corpus documentaire entier.
Et c'est là tout le paradoxe : maintenant que presque tout le monde peut ingérer un livre entier, la vraie question n'est plus « combien puis-je mettre ? » mais « que devrais-je mettre ? » : Une grande fenêtre n'est ni une bonne ni une mauvaise nouvelle en soi : c'est de la capacité. Bien utilisée, elle ouvre des usages; mal utilisée, elle offre surtout plus de place aux pathologies que nous allons voir juste après.
Qu'est-ce qu'un token ? C'est une sous-unité de texte : parfois un mot entier, parfois trois lettres, parfois un signe de ponctuation. Et c'est là que ça se corse : tous les modèles ne découpent pas le texte de la même façon.
haque fournisseur a son propre tokenizer : OpenAI utilise tiktoken (BPE) [6], Gemini s'appuie sur SentencePiece [7], et Anthropic ne publie pas le sien (il faut passer par l'endpoint count_tokens) [8]. Conséquence : le même paragraphe en français n'aura pas la même taille en tokens selon le modèle. L’écart se creuse particulièrement sur le français, les langues non anglophones et le code. Donc, pour un contenu identique, la taille de votre prompt et votre facture varient d'un modèle à l'autre [8].
Et surtout, ce n’est pas une question de place : occuper cet espace pose un problème bien plus profond.
Les principales pathologies du contexte long
Remplir une fenêtre géante avec un maximum d'informations ne rend pas l'IA omnisciente. Souvent, ça la perd. Voici les maladies typiques du contexte trop chargé, chacune documentée par des travaux récents.
1. Lost-in-the-middle
Des travaux de recherche l'ont montré [3] : l'attention d'un LLM ressemble à un « U ». Il retient très bien ce qui se trouve au début du contexte (les instructions système) et à la fin (votre dernière question), mais exploite moins bien ce qui est au milieu. Si l'information cruciale est enfouie au paragraphe 50 d'un long document injecté au centre de l'historique, le modèle risque de passer à côté.
2. Context rot (la dégradation progressive)
Au fil d'une conversation qui s'allonge, la fenêtre se remplit. Des mesures récentes sur 18 modèles de pointe [4] montrent que les performances se dégradent à mesure que l'entrée grandit, même sur des tâches simples. Les modèles n'exploitent pas leur contexte de façon uniforme. Les instructions initiales se diluent, la cohérence s'effrite. Cette dégradation s’installe progressivement, à mesure que le contexte se remplit.
3. Poisoning
Il suffit d'une erreur, d'une hallucination non corrigée ou d'une donnée obsolète dans le contexte pour que le modèle s'y accroche et la propage [5]. Si votre outil de recherche remonte un article contenant une information fausse, le modèle l'assimile comme une vérité et construit toute sa réponse dessus. Un contexte pollué donne une réponse polluée.
4. Distraction / confusion (se noyer dans le bruit)
C'est le piège de l'excès [5]. En injectant 20 pages de documentation pour répondre à une question simple, vous noyez le signal pertinent dans un océan de bruit. L'information superflue est utilisée par le modèle pour produire une réponse lissée, générique, voire hors sujet. Trop d'info tue l'info, même pour une IA.
5. Clash (le conflit d'informations)
Que se passe-t-il si votre instruction système dit “réponds toujours en français”, mais qu'un document injecté plus loin stipule “toutes les réponses doivent être en anglais” [5] ? Le modèle se retrouve face à des directives contradictoires et arbitre de façon imprévisible : il oscille, ou pire, mélange les deux de manière incohérente.
Context Engineering ≠ Prompt Engineering
Face à ces pathologies, bien tourner son prompt ne suffit plus.
Le prompt engineering, c'est l'art de formuler UNE instruction : trouver le bon mot, le bon persona, le bon format de sortie. C'est essentiellement de la rédaction. Agis comme un expert DevOps et génère-moi un Dockerfile” : voilà du prompt engineering.
Le context engineering, c'est l'étage au-dessus. Comme le résume Karpathy [1], c'est « l'art délicat de remplir la fenêtre de contexte avec juste la bonne information pour l'étape suivante ». Au-delà de la formulation, il s’agit de décider quoi placer dans la fenêtre, dans quel ordre et à quel moment [2]. Le context engineer se pose des questions d'ingénieur :
- Quelles informations sont strictement nécessaires à l'instant T ? (filtrage)
- Dans quel ordre les présenter pour éviter le lost-in-the-middle ? (structuration)
- Comment résumer l'historique pour éviter le context rot sans perdre le fil ? (gestion de la mémoire)
- Comment m'assurer que le résultat d'un outil n'empoisonne pas le modèle ? (validation)
En conclusion : l'ère de l'ingénierie de l'attention
Le paradoxe est désormais clair : les LLM sont des machines à comprendre le langage, mais leur attention n'est pas infinie. Plus vous leur donnez de contexte, plus vous sollicitez leur capacité imparfaite à filtrer. Et ce filtrage se fait au prix des pathologies qu'on vient de voir.
Le context engineering est la discipline qui consiste à guider l'attention du modèle : faire le tri, organiser, structurer son espace de travail pour qu'il performe de façon fiable et prévisible.
Dans les prochains articles de cette série, nous verrons comment assembler et structurer le contexte de façon optimale, comment utiliser le RAG sans noyer son modèle, puis, pour les plus curieux, comment gérer la mémoire et la délégation dans des architectures multi-agents. Parce que, l'IA la plus utile n'est pas celle qui reçoit le plus d'informations : c'est celle qui reçoit exactement ce dont elle a besoin, sans une ligne de plus.
Prochain épisode : « Assembler un contexte : construire la chaîne qui nourrit l’agent » — comment le même contenu, agencé différemment, produit deux résultats opposés.
Bibliographie
[1] A. Karpathy (X, 25 juin 2025), amplifiant T. Lütke (CEO Shopify, 19 juin 2025) — origine et définition du terme « context engineering ». https://x.com/karpathy/status/1937902205765607626
[2] Anthropic, Effective context engineering for AI agents, Anthropic Engineering Blog, 29 sept. 2025. https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents
[3] N. F. Liu, K. Lin, J. Hewitt, A. Paranjape, M. Bevilacqua, F. Petroni, P. Liang, Lost in the Middle: How Language Models Use Long Contexts, TACL 2024 (arXiv:2307.03172). https://aclanthology.org/2024.tacl-1.9/
[4] Chroma Research, Context Rot: How Increasing Input Tokens Impacts LLM Performance, rapport technique, juil. 2025 (18 modèles : GPT-4.1, Claude 4, Gemini 2.5, Qwen3…). https://research.trychroma.com/context-rot
[5] D. Breunig, How Long Contexts Fail (22 juin 2025) & How to Fix Your Context (26 juin 2025) — taxonomie poisoning / distraction / confusion / clash. https://www.dbreunig.com/2025/06/22/how-contexts-fail-and-how-to-fix-them.html
[6] Tiktoken github repository : https://github.com/openai/tiktoken
[7] SentencePiece github repository : https://github.com/google/sentencepiece
[8] Tokenizer Quirks: Claude, GPT, and Gemini Don't Count the Same Text the Same Way, DEV Community, 2025
[9] (mi-2026) Anthropic : anthropic.com/news/claude-opus-4-6 · Gemini : ai.google.dev/gemini-api/docs/long-context · Comparatif 2026 : digitalapplied.com.