Accéder au contenu principal

Ingénierie contextuelle : Un guide illustré d'exemples

Découvrez ce qu'est l'ingénierie contextuelle, comment elle fonctionne, quelles sont les défaillances contextuelles courantes et comment les atténuer.
Actualisé 8 juil. 2025  · 6 min de lecture

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.

Qu'est-ce qu'un diagramme d'ingénierie contextuelle ?

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

Apprenez les principes fondamentaux des agents d'intelligence artificielle, leurs composants et leur utilisation dans le monde réel - aucun codage n'est nécessaire.
Cours d'exploration

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 :

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.


Bex Tuychiev's photo
Author
Bex Tuychiev
LinkedIn

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. 

Sujets

Apprenez l'IA grâce à ces cours !

Cours

Modèles d'IA évolutifs avec PyTorch Lightning

3 h
366
Optimisez vos projets d'IA en créant des modèles modulaires et en maîtrisant l'optimisation avancée avec PyTorch Lightning.
Afficher les détailsRight Arrow
Commencer le cours
Voir plusRight Arrow
Apparenté

blog

Types d'agents d'intelligence artificielle : Comprendre leurs rôles, leurs structures et leurs applications

Découvrez les principaux types d'agents d'intelligence artificielle, comment ils interagissent avec les environnements et comment ils sont utilisés dans les différents secteurs d'activité. Comprendre les agents réflexes simples, les agents basés sur un modèle, les agents basés sur un but, les agents basés sur l'utilité, les agents d'apprentissage, etc.
Vinod Chugani's photo

Vinod Chugani

14 min

blog

Architecture de l'entrepôt de données : Tendances, outils et techniques

Apprenez l'essentiel de l'architecture d'un entrepôt de données, des composants clés aux meilleures pratiques, pour construire un système de données évolutif et efficace !
Kurtis Pykes 's photo

Kurtis Pykes

15 min

blog

Les 50 meilleures questions et réponses d'entretien sur AWS pour 2025

Un guide complet pour explorer les questions d'entretien AWS de base, intermédiaires et avancées, ainsi que des questions basées sur des situations réelles.
Zoumana Keita 's photo

Zoumana Keita

15 min

Didacticiel

Fonctions lambda Python : Guide pour débutants

Découvrez les fonctions lambda Python, leur utilité et quand les utiliser. Comprend des exemples pratiques et des bonnes pratiques pour une mise en œuvre efficace.
Mark Pedigo's photo

Mark Pedigo

Didacticiel

Normalisation vs. Standardisation: comment faire la différence

Découvrez les principales différences, les applications et la mise en œuvre de la normalisation et de la standardisation dans le prétraitement des données pour l’apprentissage automatique.
Samuel Shaibu's photo

Samuel Shaibu

Didacticiel

Classes abstraites Python : Un guide complet avec des exemples

Découvrez les classes abstraites Python, leur utilité et comment utiliser le module `abc` pour garantir la cohérence des interfaces. Comprend des exemples pratiques et des bonnes pratiques pour une mise en œuvre efficace.
Derrick Mwiti's photo

Derrick Mwiti

Voir plusVoir plus