Depuis l’avènement des grands modèles de langage (LLM) tels que ChatGPT, Claude ou Mistral, l’art du prompting (formuler soigneusement une requête textuelle pour obtenir une réponse pertinente) est devenu l’une des compétences les plus recherchées dans le monde de l’IA générative. Des centaines de guides, tutoriels et formations promettaient de vous transformer en « prompt engineer ». Pourtant, à mesure que ces modèles deviennent plus puissants, une nouvelle compétence se distingue comme bien plus cruciale : l’ingénierie du contexte, ou context engineering.C’est en tout cas la thèse défendue par Philipp Schmid, Senior AI Relation Engineer au sein de Google DeepMind. Selon lui, ce n’est plus tant comment vous posez la question à l’IA, mais ce que vous lui donnez à voir avant qu’elle ne réponde qui détermine la qualité du résultat.
L'intelligence artificielle, et plus particulièrement les modèles de langage de grande envergure (LLM), a révolutionné notre manière d'interagir avec la technologie. Pendant longtemps, l'accent a été mis sur le prompt engineering, l'art de formuler des instructions précises pour guider ces modèles vers les réponses souhaitées. C'était la compétence clé pour débloquer le potentiel des IA. Cependant, une évolution significative est en cours, soulignée par des experts comme Philipp Schmid : la véritable maîtrise de l'IA ne réside plus seulement dans le prompting, mais dans l'ingénierie de contexte.
Cette nouvelle approche, plus profonde et plus stratégique, reconnaît que la performance d'un modèle d'IA ne dépend pas uniquement de la clarté de la question posée, mais aussi de la richesse, de la pertinence et de la structure des informations qui lui sont fournies en amont. C'est l'idée que pour obtenir des résultats précis et fiables, il faut « éduquer » le modèle avec un environnement informatif bien pensé, plutôt que de simplement lui donner des ordres.
De quoi s'agit-il ? Le rôle fondamental du contexte
Un prompt n’est qu’une petite partie d’une interaction avec un modèle. Ce que l’on appelle contexte, c’est tout ce que l’IA peut consulter ou savoir au moment où elle produit une réponse :
- L’historique des conversations
- Les documents de référence (manuels, bases de données, CRM…)
- L’agenda ou les préférences d’un utilisateur
- Les outils qu’elle peut invoquer (ex. fonction send_email(), get_weather())
- Les métadonnées et résumés pertinents
Concrètement, un assistant personnel IA ne doit pas seulement savoir que « vous avez une réunion demain ». Il doit aussi :
- accéder à votre calendrier,
- comprendre la relation que vous avez avec votre interlocuteur,
- connaître les contraintes d’agenda de chacun,
- disposer d’une fonction lui permettant d’envoyer une invitation ou un message automatique.
C’est cette capacité à assembler, structurer et formater dynamiquement toutes ces données qui fonde l’ingénierie du contexte.
Philipp Schmid prend la peine de le préciser :
Pour comprendre l'ingénierie contextuelle, nous devons d'abord élargir notre définition du « contexte ». Il ne s'agit pas seulement de l'invite unique que vous envoyez à un LLM. Il s'agit de tout ce que le modèle voit avant de générer une réponse.
- Instructions / Invite du système : Un ensemble initial d'instructions qui définissent le comportement du modèle pendant une conversation, peut/doit inclure des exemples, des règles ....
- Invitation de l'utilisateur : Tâche ou question immédiate de l'utilisateur.
- État / Historique (mémoire à court terme) : La conversation en cours, y compris les réponses de l'utilisateur et du modèle qui ont conduit à ce moment.
- Mémoire à long terme : Base de connaissances persistante, recueillie au cours de nombreuses conversations antérieures, contenant les préférences de l'utilisateur, des résumés de projets antérieurs ou des faits qu'on lui a demandé de se rappeler pour une utilisation future.
- Information récupérée (RAG) : Connaissances externes et actualisées, informations pertinentes provenant de documents, de bases de données ou d'API pour répondre à des questions spécifiques.
- Outils disponibles : Définitions de toutes les fonctions ou outils intégrés qu'il peut appeler (par exemple, check_inventory, send_email).
- Sortie structurée : Définitions du format de la réponse du modèle, par exemple un objet JSON.
Qu'est-ce que l'ingénierie contextuelle ?
[QUOTE=Philipp Schmid]Alors que « l'ingénierie de l'invite » se concentre sur l'élaboration d'un ensemble parfait d'instructions dans une seule chaîne de texte, l'ingénierie contextuelle est beaucoup plus large. Disons-le simplement :
« L'ingénierie contextuelle est la discipline qui consiste à concevoir et à construire des systèmes dynamiques qui fournissent les bonnes informations et les bons outils, dans le bon format, au bon moment, afin de donner à un LLM tout ce dont il a besoin pour accomplir une tâche ».
L'ingénierie contextuelle est :
[LIST][*]Un système, pas une chaîne de caractères : le contexte n'est pas un simple modèle statique d'invite. C'est le résultat d'un système qui s'exécute avant l'appel principal du LLM.[*]Dynamique : créé à la volée, adapté à la tâche immédiate. Pour une demande, il peut s'agir des données du calendrier, pour une autre, des courriels ou d'une recherche sur le web.[*]Les bonnes informations, les bons outils au bon moment : la tâche principale consiste à s'assurer que le modèle ne manque pas de détails cruciaux ("Garbage In, Garbage Out"). Cela signifie qu'il faut fournir des connaissances (informations) et des...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.
