22/04/2025

IA

IA générative et LLM : Comment bien écrire un prompt ?

I. Présentation

L'émergence fulgurante des intelligences artificielles génératives ces dernières années a fait apparaitre de nombreux termes, outils et méthodologies. Pour ne pas être dépassé par ces nouveaux outils, conçus pour améliorer notre productivité et notre quotidien, il est nécessaire d'en comprendre le fonctionnement et l’utilisation. Commençons par le début : qu'est-ce qu'un Prompt et comment bien les rédiger ? C'est ce que nous allons voir dans cet article.

Prompt, Prompt engineering, Prompt Crafting et même Prompt injection, sont des termes que vous rencontrerez forcément si vous vous intéressez aux IA génératives et LLM. Le Prompt, que l’on peut traduire par “Invite” ou “Consigne”, est à la base de nos échanges avec ces derniers. Surtout, il existe des bonnes pratiques pour les construire afin d'optimiser notre usage quotidien de l'IA et de gagner en temps ainsi qu'en efficacité. Voyons tout cela plus en détails

II. IA générative et LLM, un rapide rappel

Commençons par faire un rappel des notions d’IA génératives et LLM. Une intelligence artificielle générative est un programme informatique conçu pour produire du contenu de manière autonome. Elle peut interagir avec ses utilisateurs via du texte, des images, des vidéos ou même de la musique. Son fonctionnement repose sur des principes mathématiques et statistiques, s’inspirant du cerveau biologique humain grâce à des réseaux de neurones artificiels (bien que leurs architectures restent très différentes).

Ces réseaux sont le fruit d'une phase d'entraînement sur une quantité massive de données, permettant à l'IA d'apprendre et d'affiner ses statistiques. Cet entraînement aboutit à la création d'un modèle contenant des neurones artificiels, chacun doté de poids spécifiques. Ces neurones s'activent ou non en fonction des données d'entrée, comme les prompts.

Un LLM ou "Large Language Model" est une application des IA génératives spécialisée autour de la compréhension et la production du langage humain dans toutes ses variétés. Basés, eux aussi, sur les statistiques, les mathématiques et l'entrainement sur de grande quantité de données, leur objectif premier est de déterminer quel mot serait le plus approprié à la suite d'un autre. Cela permet de produire du texte cohérent pour un humain, mais aussi de comprendre ce que demandent les utilisateurs.

Cette définition permet de rappeler que l'objectif premier des LLM est de produire du texte, pas de dire la vérité (ce qui mène parfois à des hallucinations) :

Par exemple, si je pose la question "Quelle est la taille de la tour Eiffel ?", les poids des neurones associés aux connaissances sur les monuments célèbres et les dimensions vont s'activer. De plus, elle va produire une phrase sensée et compréhensible pour me fournir la réponse. Voici un exemple :  

Utilisation d’un prompt simple sur Le Chat, de Mistral AI.

Ici, l'IA peut me fournit cette information sans avoir besoin de consulter une base de données interne, comme le ferait une application traditionnelle. Au lieu de cela, elle utilise les connaissances encodées dans son modèle lors de la phase d'entraînement pour générer une réponse pertinente (quelque part dans ce modèle, “Eiffel” et “324 mètres” doivent être relativement proches et statistiquement liés).

III. IA et LLM : Qu’est-ce qu’un prompt  ?

A. Comprendre ce qu'est un prompt

Dans ce contexte des IA génératives et LLM, un prompt est constitué des indications et informations que nous envoyons au modèle. Autrement dit, c'est ce que nous insérons dans ce champ sur les interfaces désormais connues de ChatGPT (d’OpenAI), le chinois DeepSeek ou encore Le Chat (de Mistral.ia, entreprise française !) : 

Prompt du chatbot Le Chat de Mistral AI.

Lorsque l’on pose simplement une question comme on le ferait sur un moteur de recherche, il est difficile de comprendre que ce prompt a un intérêt quelconque, il s’agit pour l’instant plus d’un simple champ de recherche. Voyons un autre exemple :

Exemple de prompt plus complet.
Exemple de prompt plus complet.

Dans cet exemple, je donne des instructions et contraintes claires au modèle afin qu’il agisse et réponde d’une certaine manière tout au long de la conversation. Je lui fournis également un exemple sur lequel il peut se baser. En résultat : cela change totalement sa manière de répondre. Je suis donc parvenu à orienter son comportement grâce à mes instructions. On peut ici véritablement parler de prompt, puisque ces instructions vont influer et formater les réponses du modèle tout au long de la conversation.

Lorsque les LLM sont utilisés comme des chatbot avec une finalité précise (par exemple : support sur un site e-commerce), on peut parler de “prompt système”, il s’agit d’un prompt définit par l’administrateur et sur lequel l’utilisateur final (un client venant faire une requête de SAV) n’a normalement aucun droit de modification. L’objectif est de limiter les réponses du chatbot aux requêtes SAV afin qu’il ne soit pas utilisé pour créer des poésies ou indiquer le temps qu’il fait (ou autre).

Cette notion de “prompt” gagne encore plus en intérêt dans d’autres solutions LLM comme ChatGPT. Il y est possible d’importer ou créer un prompt créé par vous-même ou d’autres utilisateurs, puis d’ouvrir plusieurs discussions distinctes, toutes basées sur les mêmes instructions initiales. Voici quelques exemples de prompt partagés qui sont appelés "GPTs sur ChatGPT :

Exemple des prompts partagés (GTPs) de ChatGPT.

Vous trouverez également de nombreux sites et bases de connaissances de partage de prompts orientés autour de besoins spécifiques comme le marketing, la génération de code informatique, la génération de mail ou même de posts sur les réseaux sociaux. 

En fonction de la façon dont nous transmettons nos instructions, le comportement du modèle peut être très différent, voir plus du tout conforme à la façon dont nous souhaitons qu’il agisse. Pour des besoins plus complexes, connaitre les bonnes pratiques de rédaction d’un prompt peut faire toute la différence et éviter de conclure par un “Bon, ça aurait été plus vite si je l’avais fait moi-même”.

Avant de voir ces bonnes pratiques de rédaction, attardons-nous un peu sur les différents types de prompts qui sont communément utilisés. Ceux-ci sont d’ailleurs directement issus de la façon dont nos langages sont construits et de la manière dont nous interagissons avec d’autres humains.

B. Les différents types de prompt

L’utilisation intensive des prompts et l’évolution rapide des LLM a donné naissance au domaine du prompt engineering (ou prompt design). Cette notion se rapporte à toutes les techniques de définition et conception d’un prompt en vue d’exploiter aussi efficacement et précisément qu’attendu les possibilités des LLM. 

Cette toute nouvelle discipline possède bien sûr son propre “jargon”, dont la maitrise aide à mieux identifier, définir et partager les bonnes pratiques de prompting. Voyons quelques exemples de catégorisation et identification des prompts : 

Les prompts en fonction du degré d’ouverture de la réponse

La liberté (de ton, de taille, de contenu, etc.) que l’on laisse au modèle dans sa réponse est un critère important du choix et l’usage des prompts. On peut notamment distinguer : 

  • Le prompt ouvert : a l’image des questions ouvertes, il laisse place à des réponses créatives et larges, sans contrainte spécifique.
    • "Imagine un monde où l’intelligence artificielle domine toutes les industries. Décris les avantages et les inconvénients."
    • "Raconte une histoire courte sur un Hacker à Paris."
  • Le prompt fermé : il vise au contraire à obtenir des réponses précises, souvent factuelles ou binaires.
    • "Quel est le résultat de 123 x 47 ?"
    • "Qui a écrit ‘Hamlet’ ?"

Les prompts en fonction du contexte fourni

Nous pouvons aussi catégoriser les prompts en fonction du niveau des éléments contextuels que l’on donne (ou ne donne pas) au modèle : 

  • Prompt simple : il s’agit d’une instruction directe, sans contexte ni exemple.
    • "Traduis ce texte en espagnol."
    • "Explique ce qu’est un LLM."
  • Prompt avec exemple : il contient un exemple qui permet d’orienter la réponse.
    • "Convertis ce texte en un langage plus soutenu. Exemple : ‘Salut, ça va ?’ → ‘Bonjour, comment allez-vous ?’"
  • Prompt avec plusieurs exemples : il contient des nombreux exemples qui permettent au modèle de s’adapter à différentes situations, tout en respectant nos directives.

Les prompts en fonction de la complexité et du guidage

Le niveau de détails que l’on donne au modèle dans ce qu’il doit faire ou même les étapes de sa réflexion est aussi une notion importante. On peut notamment utiliser : 

  • Prompt directif : donne des instructions claires sur le format de réponse.
    • "Donne-moi une liste des 5 frameworks web les plus utilisés en Python, sous forme de tableau."
  • Prompt contextuel : fournit un contexte détaillé pour guider la réponse.
    • "Tu es un expert en cybersécurité. Explique à un développeur pourquoi le chiffrement AES est recommandé pour stocker des données sensibles."
  • Prompt contraint : Limite la réponse en imposant des restrictions.
    • "Décris l’IA en une seule phrase de moins de 20 mots."
  • Prompt interactif : utilisé pour des interactions en plusieurs étapes, où les réponses précédentes influencent les suivantes.

Il ne s’agit là que d’exemples et il en existe de nombreux autres ! Un tas d’autres notions très intéressantes reste à explorer si vous vous intéressez au prompt engineering. Je pense notamment au concept de température qui détermine le niveau de créativité d’une IA, le prompt chaining (enchainement de prompt), Chain of Though prompting (chaine de pensée), etc.

IV. Les bonnes pratiques et le "prompt engineering"

Lorsque l'on commence à utiliser les LLM, on ne pense pas forcément au fait que ce prompt soit notre seul espace de communication avec le modèle. Il n’a aucune autre moyen de savoir ce que l’on attend de lui que ce qui est inscrit dans le prompt. Il ne connait pas vos attentes, votre contexte, vos habitudes, votre manière de vous exprimer, le caractère urgent ou fantaisiste de votre demande, etc.

Aussi, la manière dont nous écrivons nos instructions à un impact très important sur le traitement réalisé par le modèle par la suite. 

Les nombreuses recherches faites à ce sujet ont abouti à la conclusion qu’il existe des techniques plus efficaces que d’autres pour transmettre des instructions au LLM. Ces techniques sont très nombreuses et dépendent de ce que vous attendez précisément des LLM : avoir une information fiable, apprendre quelque chose de nouveau, être contredit où avoir des nouvelles idées inventives, etc.

Ces bonnes pratiques ou astuces permettent de mieux exploiter les LLM. Elles sont issues d'une compréhension plus avancée de leur fonctionnement, de la manière dont ils lisent et interprètent nos entrées.

Les bonnes pratiques proposées ici sont issues de différentes sources, dont des cours (ceux de Google ou Amazon), mais aussi de mon expérience personnelle dans l'utilisation des IA génératives et LLM.

A. Soyez clair et précis

Il est très important d’être clair dans vos instructions et plus globalement d’expliciter tout ce que vous attendez du modèle dans votre prompt. Comme indiqué précédemment, le prompt est le seul moyen que possède le modèle pour comprendre vos attentes. Il ne peut pas faire de supposition (et arrivera surement à de mauvaises conclusions s’il en fait). 

Il faut donc être clair sur des éléments comme le ton à adopter dans le contenu généré, les objectifs derrière vos instructions et demandes, mais aussi le public visé ou même la taille de la réponse !

Également, le choix des mots a une grande importance. Il faut veiller à éviter toute ambiguïté ou terme trop flou si l’on cherche une réponse précise ou au contraire indiquer que nous sommes en quête de nouvelles idées.

B. Apportez des éléments de contexte

Je vous recommande également d’apporter un maximum d’informations de contexte sur votre demande ou vos instructions. Elles permettent au modèle de mieux comprendre ce qu’il doit vous répondre, mais aussi quels sont vos enjeux.

Pour illustrer ces deux premiers éléments de clarté et de contexte, voici un exemple : 

Comparaison entre un prompt direct et un prompt contenant clair avec un contexte.
Comparaison entre un prompt direct et un prompt contenant clair avec un contexte.

Nous voyons ici que là sur la conversation de gauche, je ne donne aucune information spécifique sur ma demande et j’utilise très peu de mot pour l’exprimer. Résultat : le modèle répond à côté. Il pense que je parle d’une étoile et non d’une personnalité (il a vraisemblablement commencé à penser que mon instruction était en anglais). En réponse, il me donne le nom "Hawaii", qui est effectivement un état des États-Unis et donc une des 50 étoiles du drapeau américain. Mais, ce n’est pas ce que je cherchais.

Dans mon prompt de droite, je fournis plusieurs informations sur le contexte (j’écris une chanson) et exprime clairement mon besoin (avoir une rime en “i”). Le résultat est bien meilleur puisqu’il me propose deux exemples qui ont du sens et qui finissent par "i".

Dans ce second exemple, je précise que je suis en train d’écrire une chanson, c’est un bon début. Mais, est-ce une chanson lyrique ou un morceau de rap, quel est le thème ou l’ambiance générale du morceau, le texte est-il en français ?, etc. Toutes ces informations pourront apporter des éléments supplémentaires au modèle pour qu’il me propose la meilleure réponse possible une fonction de mon contexte.

C. Donnez des exemples

Dans les cas où vous attendez un format de réponse précis de la part de votre modèle, il peut être intéressant de lui fournir des exemples concrets. Le modèle pourra les utiliser comme source d’inspiration et pour améliorer sa compréhension de votre demande 

Voici deux exemples : 

Comparaison entre un prompt sans exemple et avec un prompt avec exemple.
Comparaison entre un prompt sans exemple et avec un prompt avec exemple.

Dans l’exemple de gauche, aucun exemple n’est donné au modèle. Celui-ci répond correctement et avec des rimes. Cependant, il a pris la liberté de mettre entre crochet le “de hauteur” qui n’était pas nécessaire, mais aussi d’écrire sa réponse sur 4 lignes.

Dans l’exemple de droite, je fournis un exemple avec une question et une réponse courte. Également, le terme entre crochet cible précisément et uniquement l’élément important de la réponse. En résultat, la réponse du modèle est plus courte et les crochets sont mieux positionnés.

L’exemple fourni a donc permis d’optimiser la réponse du modèle en fonction de mes attentes. Dans les cas plus complexes, on peut aussi très bien lui fournir plusieurs exemples afin qu’il puisse s’adapter à différentes situations.

D. Exprimez clairement les contraintes

La grande force des IA génératives et LLM sont bien sûr leur créativité et leur capacité à générer du contenu rapidement. En cela, il est difficile de contraindre leur comportement (à l’inverse des programmes habituels). Il est donc important d’exprimer clairement, voir parfois avec un peu d’autorité, les limitations et contraintes à respecter.

Ces contraintes peuvent porter sur n’importe quoi et dépendent grandement de votre contexte d’utilisation. L’idée est d’indiquer ce que le modèle ne doit pas faire pendant sa réflexion ou lors de la génération de son contenu. Voici quelques exemples de contraintes : 

  • Contrainte de longueur : "Limite ta réponse à 150 mots maximum."
  • Contrainte de style : "Écris dans un style formel, adapté à un rapport professionnel."
  • Contrainte de contenu : "N'inclus pas d'informations personnelles ou sensibles."
  • Contrainte de temps : "Réponds comme si nous étions en 1995, sans faire référence à des événements postérieurs."

D’expérience, les modèles sont de temps en temps capricieux et difficile à contraindre. L’utilisation de superlatifs peut aider à leur faire comprendre l'importance de nos contraintes (comme "il est très important que"). Il est aussi toujours utile de tester différentes formulations pour voir ce qui fonctionne le mieux avec le modèle spécifique que vous utilisez.

E. Évitez les fautes d’orthographe

La présence de fautes d’orthographe ou de typos (erreurs de frappes) dans un prompt peut causer des ambiguïtés. Ces dernières peuvent mener la réflexion du modèle dans de mauvaises directions et avoir un impact important sur le contenu généré. Il pourrait très bien penser qu’il s’agit d’un style d’écriture, répliquer, amplifier ces fautes, voir confondre un terme avec un autre et partir totalement sur un autre sujet, ou même en inventer !

 Voici un exemple : 

Exemple de mauvaise réponse d’un modèle suite à une faute d’orthographe.
Exemple de mauvaise réponse d’un modèle suite à une faute d’orthographe.

Ici, je voulais avoir des informations sur l’impact du verre sur l’environnement, mais j’ai mal orthographié ce mot (“vert” à la place de “verre”). Résultat : la réponse du modèle ne porte tout simplement pas sur le bon sujet. Il s’agit d’un exemple simpliste et évident, mais il illustre ce problème d’interprétation que peuvent poser les fautes d’orthographe. Lorsque l’on utilise des prompts plus complexes avec de nombreuses instructions, une typo est vite arrivée et peut avoir des conséquences importantes.

C’est pourquoi il est important d’éviter au maximum ces fautes d’orthographe ou de frappes dans vos prompts. Comme pour les communications avec des êtres humains, il est important de se relire avant de soumettre vos prompts.

F. Utilisez une structure claire

Pour mieux utiliser tous les éléments que nous venons de voir, il est nécessaire d’utiliser une structure claire qui permet de faciliter l’interprétation de nos instructions par le modèle. J’ai personnellement pris l’habitude, en suivant les bonnes pratiques de Google, d’utiliser une structure par section et liste à puces :

Exemple de structure d’un prompt plus complet.
Exemple de structure d’un prompt plus complet.

Cette structure n’est pas standardisée et il en existe surement d’autres aussi efficaces, mais c’est celle que j’ai l’habitude d’utiliser. Pour les utilisations que je fais des LLM (apprentissage, correction, contradiction, liste d’idées), j’ai remarqué que ceux-ci avaient souvent tendance à utiliser des listes à puce bien structurées.

En fonction de votre utilisation des LLM, d’autres structures peuvent tout à fait convenir. L’important étant de savoir quelle structure utiliser en fonction des besoins.

Voici un petit récapitulatif des bonnes pratiques que nous venons de voir : 

V. Pour aller plus loin

Apprendre à utiliser efficacement et intelligemment les LLM et les IA génératives ne se fait pas en quelques minutes. Il est important de comprendre les bases de leur fonctionnement, d’expérimenter et de connaitre les risques liés à leur usage. 

Nous pouvons aussi citer les différents composants d’un prompt que propose Google, qui fourni une liste plus étoffée. En plus des exemples, du contexte et des contraintes, il est, par exemple, mentionné les étapes de raisonnement, la personnalité du modèle, le ton, etc.

Il est aussi très important de connaitre la notion d’hallucinations pour éviter des pièges dangereux lorsque l’on utilise des LLM et IA génératives : 

Également, si vous êtes étudiants ou utilisez les IA génératives pour l’apprentissage, je vous donne dans cet article quelques astuces pour apprendre plus efficacement grâce aux LLM : 

Je vous recommande aussi le site web “Prompt Engineering Guide”. Il s’agit d’une base de connaissance publique maintenue par une communauté de passionnés qui partagent leurs recherches et compréhensions des LLM. On y retrouve de nombreux types de prompts ainsi que des explications et exemples sur chacun d’entre eux : 

Enfin, pour en apprendre plus sur le fonctionnement et la conception des intelligences artificielle, je vous conseille notamment ce cours, très accessible, de l’Université d’Helsinki : 

VI. Conclusion

J’espère que le contenu de cet article vous a aidé à y voir plus clair sur ce qu’est un prompt dans le contexte des IA et LLM. Vous avez à présent une meilleure idée de comment créer des prompts efficaces à l’aide des bonnes pratiques que nous avons vues.

Je vous invite vraiment à poursuivre votre apprentissage de l’IA au travers des quelques ressources partagées ici, mais aussi grâce au nombreux cours gratuits publiés sur Internet, notamment par Google, Amazon, l’université d’Helsinki, etc. Le fait de connaitre le fonctionnement de l’IA (sans aller trop loin dans la technique) et surtout les risques liés à son usage permet en quelques heures d’acquérir une meilleure maitrise de ce sujet.

N’hésitez pas à venir discuter de ce sujet sur notre Discord ou à partager vos expériences dans les commentaires !

author avatar
Mickael Dorigny Co-founder
Co-fondateur d'IT-Connect.fr. Auditeur/Pentester chez Orange Cyberdéfense.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

1 commentaire sur “IA générative et LLM : Comment bien écrire un prompt ?

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.