Cours
Vous êtes peut-être un ingénieur prompt hors pair, mais au fur et à mesure que la conversation avance, votre chatbot oublie souvent les éléments les plus importants de vos instructions, votre assistant de code perd le fil du projet et votre outil RAG n'arrive pas à relier les informations issues de documents et de domaines complexes.
À mesure que les cas d'utilisation de l'IA se complexifient, la rédaction d'une invite intelligente ne représente qu'une petite partie d'un défi beaucoup plus vaste : l' l'ingénierie contextuelle.
Dans ce tutoriel, je vais vous expliquer ce qu'est l'ingénierie contextuelle, comment elle fonctionne, quand l'utiliser à la place de l'ingénierie contextuelle classique, et les techniques pratiques qui rendent les systèmes d'IA plus intelligents et plus sensibles au contexte.
Nous tenons nos lecteurs informés des dernières actualités en matière d'IA en leur envoyant The Median, notre newsletter gratuite du vendredi qui résume les articles clés de la semaine. Abonnez-vous et restez informé en quelques minutes par semaine :
Qu'est-ce que l'ingénierie contextuelle ?
L'ingénierie contextuelle consiste à concevoir des systèmes qui déterminent les informations qu'un modèle d'IA doit prendre en compte avant de générer une réponse.
Même si le terme est nouveau, les principes qui sous-tendent l'ingénierie contextuelle existent depuis un certain temps déjà. Cette nouvelle abstraction nous permet de réfléchir à la question la plus importante et la plus récurrente de la conception du flux d'informations qui entrent et sortent des systèmes d'IA.
Au lieu de rédiger des invites parfaites pour chaque demande individuelle, vous créez des systèmes qui rassemblent des informations pertinentes provenant de plusieurs sources et les organisent dans la fenêtre contextuelle du modèle. Cela signifie que votre système rassemble l'historique des conversations, les données utilisateur, les documents externes et les outils disponibles, puis les formate afin que le modèle puisse les exploiter.
Source : 12 agents de facteur
Cette approche nécessite la gestion de plusieurs types d'informations qui constituent le contexte complet :
- Instructions système qui définissent le comportement et les règles
- Historique des conversations et préférences de l'utilisateur
- Informations extraites de documents ou de bases de données
- Outils disponibles et leurs définitions
- Formats de sortie structurés et schémas
- Données en temps réel et réponses API externes
Le principal défi consiste à travailler dans les limites de la fenêtre contextuelle tout en maintenant la cohérence des conversations au fil du temps. Votre système doit déterminer ce qui est le plus pertinent pour chaque demande, ce qui implique généralement de mettre en place des systèmes de recherche capables de trouver les informations adéquates lorsque vous en avez besoin.
Cela implique la création de systèmes de mémoire qui suivent à la fois le flux des conversations à court terme et les préférences à long terme des utilisateurs, ainsi que la suppression des informations obsolètes afin de libérer de l'espace pour les besoins actuels.
Le véritable avantage apparaît lorsque différents types de contextes fonctionnent ensemble pour créer des systèmes d'IA qui semblent plus intelligents et plus conscients. Lorsque votre assistant IA est capable de se référer à des conversations précédentes, d'accéder à votre calendrier et de comprendre votre style de communication, les interactions ne semblent plus répétitives et vous avez l'impression de travailler avec un outil qui se souvient de vous.
Ingénierie contextuelle vs. Ingénierie rapide
Si vous demandez à ChatGPT de « rédiger un e-mail professionnel », il s'agit d'ingénierie de prompt : vous écrivez des instructions pour une seule tâche. Cependant, si vous développez un bot de service client qui doit se souvenir des tickets précédents, accéder aux détails du compte utilisateur et conserver l'historique des conversations sur plusieurs interactions, il s'agit alors d'ingénierie contextuelle.
Andrej Karpathy explique cela clairement:
Les gens associent les invites à de courtes descriptions de tâches que vous donneriez à un assistant juridique dans le cadre de votre utilisation quotidienne. Dans toutes les applications LLM de niveau industriel, l'ingénierie contextuelle est l'art et la science délicats qui consistent à remplir la fenêtre contextuelle avec les informations pertinentes pour l'étape suivante.
Andrej Karpathy
La plupart des applications d'IA utilisent à la fois l'ingénierie des invites et l'ingénierie contextuelle. Vous avez toujours besoin de messages bien rédigés dans votre système d'ingénierie contextuelle. La différence réside dans le fait que ces invites fonctionnent désormais à partir d'informations contextuelles soigneusement gérées, au lieu de repartir de zéro à chaque fois.
Approche |
Idéal pour |
Ingénierie rapide |
Tâches ponctuelles, création de contenu, productions spécifiques à un format |
Ingénierie contextuelle |
IA conversationnelle, outils d'analyse de documents, assistants de codage |
Tous les deux ensemble |
Applications d'IA pour la production qui nécessitent des performances constantes et fiables |
L'ingénierie contextuelle en pratique
L'ingénierie contextuelle passe de la théorie à la pratique lorsque vous commencez à développer des applications d'IA. développer des applications d'IA qui doivent fonctionner avec des informations complexes et interconnectées. Prenons l'exemple d'un bot de service client qui doit accéder à des tickets d'assistance précédents, vérifier l'état d'un compte et consulter la documentation produit, tout en conservant un ton conversationnel et serviable. C'est là que les invites traditionnelles ne suffisent plus et que l'ingénierie contextuelle devient nécessaire.
Systèmes RAG
L'ingénierie contextuelle a sans doute débuté avec la systèmes de génération augmentée par la recherche (RAG). Le RAG a été l'une des premières techniques permettant d'introduire des LLM à des informations qui ne faisaient pas partie de leurs données d'entraînement initiales.
Les systèmes RAG utilisent des techniques avancées d'ingénierie contextuelle pour organiser et présenter les informations de manière plus efficace. Ils divisent les documents en éléments significatifs, classent les informations par pertinence et intègrent les détails les plus utiles dans les limites des jetons.
Avant RAG, si vous souhaitiez qu'une IA réponde à des questions sur les documents internes de votre entreprise, vous deviez la former ou la ajuster l'ensemble du modèle. RAG a changé cela en créant des systèmes capables de rechercher dans vos documents, de trouver les passages pertinents et de les inclure dans la fenêtre contextuelle à côté de votre question.
Cela signifie que les LLMs peuvent désormais analyser simultanément plusieurs documents et sources afin de répondre à des questions complexes qui nécessiteraient normalement la lecture de centaines de pages par un être humain.
agents IA
Les systèmes RAG ont ouvert la voie aux informations externes, mais les agents IA ont poussé cette évolution plus loin en rendant le contexte dynamique et réactif. Au lieu de se contenter de récupérer des documents statiques, les agents utilisent des outils externes pendant les conversations.
L'IA détermine quel outil permettra de résoudre au mieux le problème actuel. Un agent peut entamer une conversation, se rendre compte qu'il a besoin des données actuelles sur les stocks, appeler une API financière, puis utiliser ces nouvelles informations pour poursuivre la conversation.
Introduction aux agents d'intelligence artificielle
La baisse du coût des jetons LLM a également rendu possible la mise en place de systèmes multi-agents. Au lieu de tout regrouper dans la fenêtre contextuelle d'un seul modèle, vous pouvez disposer d'agents spécialisés qui traitent différents aspects d'un problème et partagent des informations entre eux via des protocoles tels que A2A ou MCP.
Pour en savoir plus sur les agents IA, veuillez consulter cette fiche récapitulative sur les agents IA.
Assistants de codage IA
Les assistants de codage IA, tels que Cursor ou Windsurf, représentent l'une des applications les plus avancées de l'ingénierie contextuelle, car ils combinent les principes du RAG et ceux des agents tout en travaillant avec des informations hautement structurées et interconnectées.
Ces systèmes doivent comprendre non seulement les fichiers individuels, mais également l'architecture globale des projets, les dépendances entre les modules et les modèles de codage utilisés dans l'ensemble de votre base de code.
Lorsque vous demandez à un assistant de codage de refactoriser une fonction, il a besoin de contexte pour savoir où cette fonction est utilisée, quels types de données elle attend et comment les modifications pourraient affecter d'autres parties de votre projet.
L'ingénierie contextuelle devient essentielle ici, car le code comporte des relations qui s'étendent sur plusieurs fichiers, voire plusieurs référentiels. Un bon assistant de codage conserve le contexte de la structure de votre projet, les modifications récentes que vous avez apportées, votre style de codage et les frameworks que vous utilisez.
C'est pourquoi les outils tels que Cursor sont d'autant plus efficaces que vous les utilisez longtemps dans le cadre d'un projet. Ils établissent un contexte autour de votre base de code spécifique et peuvent vous faire des suggestions plus pertinentes en fonction de vos habitudes et de vos préférences.
Échecs contextuels et techniques pour les atténuer
En lisant cet article, vous pourriez penser que l'ingénierie contextuelle est inutile ou qu'elle deviendra superflue dans un avenir proche, à mesure que les fenêtres contextuelles des modèles de pointe continueront de s'étendre. Ce serait une hypothèse naturelle, car si le contexte est suffisamment large, vous pourriez tout intégrer dans une invite (outils, documents, instructions, etc.) et laisser le modèle s'occuper du reste.
Cependant, cet excellent article rédigé par Drew Breunig montre quatre façons surprenantes dont le contexte peut devenir incontrôlable, même lorsque le modèle en question prend en charge des fenêtres contextuelles d'un million de tokens. Dans cette section, je vais décrire brièvement les problèmes soulevés par Drew Breunig et les modèles d'ingénierie contextuelle qui permettent de les résoudre. Je vous recommande vivement de lire l'article de Breunig pour plus de détails.
Empoisonnement du contexte
L'empoisonnement du contexte se produit lorsqu'une hallucination ou une erreur se retrouve dans le contexte de votre système d'IA et est ensuite référencée à plusieurs reprises dans les réponses ultérieures. L'équipe DeepMind a identifié ce problème dans son rapport technique sur Gemini 2.5. rapport technique Gemini 2.5 lors de la création d'un agent capable de jouer à Pokémon. Lorsque l'agent avait parfois des hallucinations sur l'état du jeu, ces informations erronées polluaient la section « objectifs » de son contexte, ce qui l'amenait à développer des stratégies absurdes et à poursuivre pendant longtemps des objectifs irréalisables.
Ce problème devient particulièrement grave dans les flux de travail des agents, où les informations s'accumulent. Une fois qu'un contexte erroné est établi, il peut être extrêmement difficile à corriger, car le modèle continue de faire référence aux informations incorrectes comme si elles étaient correctes.
La meilleure solution consiste à valider le contexte et à mettre en quarantaine. Vous pouvez isoler différents types de contexte dans des threads distincts et valider les informations avant qu'elles ne soient ajoutées à la mémoire à long terme. La mise en quarantaine du contexte consiste à créer de nouveaux threads lorsque vous détectez un risque de contamination, ce qui empêche les informations erronées de se propager aux interactions futures.
Distraction contextuelle
La distraction contextuelle se produit lorsque votre contexte devient si vaste que le modèle commence à se concentrer excessivement sur l'historique accumulé au lieu d'utiliser ce qu'il a appris pendant l'entraînement. L'agent Gemini jouant à Pokémon a démontré ce phénomène : une fois le contexte dépassé les 100 000 jetons, l'agent a commencé à répéter des actions issues de son vaste historique plutôt que de développer de nouvelles stratégies.
Une étude Databricks (étude très intéressante, à lire absolument) a révélé que l'exactitude des modèles commençait à diminuer à partir de 32 000 jetons pour Llama 3.1 405b, les modèles plus petits atteignant leur limite beaucoup plus tôt. Cela signifie que les modèles commencent à commettre des erreurs bien avant que leurs fenêtres contextuelles ne soient réellement pleines, ce qui remet en question la valeur réelle des fenêtres contextuelles très grandes pour les tâches de raisonnement complexes.
Source : Databricks
La meilleure approche consiste à résumer le contexte. Au lieu de laisser le contexte s'étoffer indéfiniment, vous pouvez compresser les informations accumulées en résumés plus courts qui conservent les détails importants tout en supprimant l'historique redondant. Cela est utile lorsque vous atteignez le seuil de distraction : vous pouvez résumer la conversation jusqu'à présent et repartir sur de bases solides tout en restant cohérent.
Confusion contextuelle
La confusion contextuelle survient lorsque vous incluez dans votre contexte des informations supplémentaires que le modèle utilise pour générer des réponses incorrectes, même si ces informations ne sont pas pertinentes pour la tâche en cours. Le classement Berkeley Function-Calling le démontre : tous les modèles obtiennent de moins bons résultats lorsqu'on leur fournit plusieurs outils, et ils font parfois appel à des outils qui n'ont aucun rapport avec la tâche à accomplir.
Le problème s'aggrave avec des modèles plus petits et davantage d'outils. Une étude récente a révélé qu'un Llama 3.1 8b quantifié échouait au benchmark GeoEngine lorsqu'on lui fournissait les 46 outils disponibles, même si le contexte restait largement dans la limite de 16 ko. Cependant, lorsque les chercheurs ont fourni seulement 19 outils au même modèle, celui-ci a fonctionné correctement.
La solution réside dans la gestion des outils à l'aide des techniques RAG. Les recherches menées par Tiantian Gan et Qiyao Sun ont démontré que l'application du RAG aux descriptions d'outils peut réellement améliorer les performances. En stockant les descriptions des outils dans une base de données vectorielle, vous pouvez sélectionner uniquement les outils les plus pertinents pour chaque tâche. Leur étude a démontré que le fait de limiter le nombre d'outils à moins de 30 permettait d'obtenir une précision trois fois supérieure dans la sélection des outils et des invites beaucoup plus courtes.
Conflit de contexte
Un conflit de contexte survient lorsque vous rassemblez dans votre contexte des informations et des outils qui sont en contradiction directe avec d'autres informations déjà présentes. Une étude menée par Microsoft et Salesforce a démontré ce fait en utilisant des invites de référence et en « fragmentant » leurs informations sur plusieurs tours de conversation au lieu de tout fournir en une seule fois. Les résultats ont été impressionnants : une baisse moyenne des performances de 39 %, avec modèle o3 d'OpenAI passant de 98,1 à 64,1.
Source : Laban et al., 2025
Le problème survient lorsque les informations arrivent par étapes, car le contexte assemblé contient les premières tentatives du modèle pour répondre aux questions avant qu'il ne dispose de toutes les informations nécessaires. Ces réponses incorrectes initiales restent dans le contexte et affectent le modèle lorsqu'il génère les réponses finales.
Les meilleures solutions consistent à élaguer le contexte età décharger l'. Le « context pruning » consiste à supprimer les informations obsolètes ou contradictoires à mesure que de nouveaux détails apparaissent. Le déchargement contextuel, tel que proposé par l'outil « think » d'Anthropic, offre aux modèles un espace de travail distinct pour traiter les informations sans encombrer le contexte principal. Cette approche de bloc-notes peut améliorer jusqu'à 54 % les performances des agents spécialisés en empêchant les contradictions internes de perturber le raisonnement.
Conclusion
L'ingénierie contextuelle représente la prochaine étape du développement de l'IA, où l'accent est mis non plus sur la création de messages parfaits, mais sur la mise en place de systèmes capables de gérer le flux d'informations au fil du temps. La capacité à maintenir un contexte pertinent au cours de multiples interactions détermine si votre IA semble intelligente ou si elle se contente de fournir de bonnes réponses ponctuelles.
Les techniques abordées dans ce tutoriel, des systèmes RAG à la validation contextuelle et à la gestion des outils, sont déjà utilisées dans des systèmes de production qui traitent des millions d'utilisateurs.
Si vous développez un système plus complexe qu'un simple générateur de contenu, vous aurez probablement besoin de techniques d'ingénierie contextuelle. La bonne nouvelle, c'est que vous pouvez commencer modestement avec des implémentations RAG de base, puis ajouter progressivement des fonctionnalités plus sophistiquées de gestion de la mémoire et des outils à mesure que vos besoins évoluent.
Pour en savoir plus, je vous recommande les ressources suivantes :
- Tutoriel sur l'éditeur de code Cursor AI — Découvrez comment l'ingénierie contextuelle fonctionne en pratique avec les assistants de codage IA.
- Curseur vs. Comparaison entre le windsurf etl'— Découvrez les différences entre le Cursor et le Windsurf.
- Meilleurs assistants de codage IA — Comparez différents outils et leurs approches en matière de gestion contextuelle.
- Cours sur la génération augmentée par la récupération (RAG) avec LangChain — Cours pratique pour la création de systèmes RAG
- Qu'est-ce que la génération augmentée par la récupération (RAG) ? — Concepts fondamentaux de l'ingénierie contextuelle
- Tutoriel sur le RAG agentique — Techniques avancées pour la gestion dynamique du contexte
- Qu'est-ce que l'ingénierie des invites ? — Comprendre la différence entre l'ingénierie des prompts et l'ingénierie contextuelle
- Cours « Systèmes multi-agents avec LangGraph »—Apprenez à créer des systèmes multi-agents avec LangGraph
- Cours d'introduction aux agents IA — Création de systèmes qui utilisent des outils et conservent le contexte au fil du temps
Foire aux questions
Quand devrais-je commencer à utiliser l'ingénierie contextuelle plutôt que de simples invites ?
Commencez à utiliser l'ingénierie contextuelle lorsque votre IA doit mémoriser des informations entre plusieurs conversations, travailler avec plusieurs sources d'informations ou effectuer des tâches de longue durée. Si vous développez un projet plus complexe qu'un simple générateur de contenu, vous aurez probablement besoin de ces techniques.
Quelle est la principale différence entre l'ingénierie contextuelle et l'ingénierie des invites ?
L'ingénierie rapide se concentre sur la rédaction d'instructions pour des tâches uniques, tandis que l'ingénierie contextuelle conçoit des systèmes qui gèrent le flux d'informations à travers de multiples interactions. L'ingénierie contextuelle permet de créer des systèmes de mémorisation et de récupération, tandis que l'ingénierie rapide permet de créer des requêtes individuelles.
Puis-je utiliser des fenêtres de contexte plus grandes à la place de l'ingénierie contextuelle ?
Les fenêtres contextuelles plus grandes ne résolvent pas les problèmes fondamentaux. Les recherches indiquent que les performances du modèle diminuent autour de 32 000 jetons, même avec des fenêtres d'un million de jetons, en raison de la distraction et de la confusion contextuelles. Vous avez toujours besoin de techniques telles que la synthèse, l'élagage et la sélection intelligente des informations, quelle que soit la taille du contexte.
Pourquoi les modèles d'IA fonctionnent-ils moins bien lorsque je leur fournis davantage d'outils ou d'informations ?
C'est ce qu'on appelle la confusion contextuelle : les modèles sont distraits par des informations non pertinentes et peuvent utiliser des outils qui ne correspondent pas à la tâche à accomplir. La solution réside dans la gestion de l'ensemble des outils : utilisez les techniques RAG pour sélectionner uniquement les outils les plus pertinents pour chaque tâche spécifique, en limitant le nombre d'outils sélectionnés à 30.

Je suis un créateur de contenu en science des données avec plus de 2 ans d'expérience et l'un des plus grands followings sur Medium. J'aime écrire des articles détaillés sur l'IA et la ML dans un style un peu sarcastıc, car il faut bien faire quelque chose pour les rendre un peu moins ennuyeux. J'ai produit plus de 130 articles et un cours DataCamp, et un autre est en cours d'élaboration. Mon contenu a été vu par plus de 5 millions de personnes, dont 20 000 sont devenues des adeptes sur Medium et LinkedIn.