As-tu déjà remarqué que parfois, les réponses obtenues avec un modèle d’IA (ChatGpt, Claude…) peuvent être imprécises ou peu satisfaisantes ?
Ces grands modèles de langage (LLM) comme GPT-4 ou LLaMA ont révolutionné le traitement du langage naturel. Cependant, obtenir les meilleures performances de ces modèles reste parfois complexe. La qualité des réponses dépend énormément de la manière dont tu formules tes instructions.
Tu sais choisir la meilleure intelligence artificielle, mais comment améliorer les réponses que tu obtiens et maximiser l’efficacité de ces outils ?
Cet article présente 26 principes clés pour t’aider à concevoir des prompts efficaces et à exploiter pleinement le potentiel des LLM.
Cet article est issu des travaux de Sondos Mahmoud Bsharat, Aidar Myrzakhan, Zhiqiang Shen – Principled Instructions Are All You Need for Questioning LLaMA-1/2, GPT-3.5/4 que tu peux retrouver ici
Pourquoi optimiser tes Prompts est crucial
Les prompts, qui sont en quelque sorte le langage de programmation des LLM, jouent un rôle clé dans ce processus. Ils te permettent de guider le modèle pour obtenir les résultats que tu souhaites. Un prompt bien conçu peut faire toute la différence entre une réponse médiocre et un résultat exceptionnel.
Maîtriser l’art du prompt engineering te permet de :
- Améliorer la qualité et la pertinence des réponses,
- Obtenir des résultats plus précis et mieux adaptés à tes besoins,
- Exploiter pleinement les capacités des modèles,
- Résoudre des tâches complexes en les décomposant.
Voyons maintenant les principes essentiels pour concevoir des prompts optimaux et tirer le meilleur parti des LLM.
Principes Fondamentaux de Conception de Prompts
Il est important de comprendre les principes fondamentaux qui guident la conception efficace des prompts. Ces principes servent de base pour formuler des instructions qui génèrent des réponses de haute qualité à partir des modèles de langage pré-entraînés :
- Concision et Clarté : Les prompts doivent être concis tout en fournissant suffisamment d’informations spécifiques pour guider le modèle. Évite les informations superflues qui pourraient confondre le modèle ou entraîner des réponses hors sujet.
- Pertinence Contextuelle : Fournis un contexte pertinent qui aide le modèle à comprendre l’arrière-plan et le domaine de la tâche. L’utilisation de mots-clés, de terminologie spécifique au domaine ou de descriptions de situations peut ancrer les réponses du modèle dans le bon contexte.
- Alignement avec la Tâche : Assure-toi que le prompt est étroitement aligné avec la tâche à accomplir. Utilise un langage et une structure qui indiquent clairement la nature de la tâche au modèle.
- Démonstrations d’Exemples : Pour les tâches complexes, inclure des exemples dans le prompt peut montrer le format ou le type de réponse souhaité. C’est particulièrement utile dans les scénarios d’apprentissage “few-shot” ou “zero-shot”.
- Éviter les Biais : Conçois les prompts de manière à minimiser l’activation des biais inhérents au modèle. Utilise un langage neutre et sois attentif aux implications éthiques potentielles, surtout pour les sujets sensibles.
- Prompting Progressif : Pour les tâches nécessitant une séquence d’étapes, structure les prompts pour guider le modèle progressivement. Décompose la tâche en une série de prompts qui s’appuient les uns sur les autres.
- Adaptabilité : Prépare-toi à ajuster les prompts en fonction des performances du modèle et des retours itératifs. Sois prêt à affiner le prompt en fonction des sorties initiales et du comportement du modèle.
En gardant ces principes à l’esprit, tu seras mieux équipé pour concevoir des prompts efficaces qui maximisent les performances des LLM.
26 principes clés du prompt engineering
Les principes se regroupent en cinq catégories, chacune jouant un rôle essentiel pour bien interagir avec les modèles de langage (LLM) et obtenir des réponses optimales :
- Style de contenu et de langage
- Structure et clarté des prompts
- Spécificité et information
- Interaction et engagement de l’utilisateur
- Tâches complexes et codage
Examinons de plus près chacune de ces catégories et découvrons comment elles peuvent transformer tes interactions avec les LLM.
Style de contenu et de langage
- Si tu préfères des réponses concises, inutile d’être poli avec les LLM. Pas besoin d’ajouter des phrases comme « s’il te plaît », « si ça ne te dérange pas », « merci », « j’aimerais », etc. Va droit au but.
- Incorpore les phrases : “Ta tâche est” et “Tu DOIS.”
- Utilise “Tu seras pénalisé” dans les instructions.
- Utilise la phrase « Réponds à une question de manière naturelle et humaine » dans tes prompts.
- Assigne un rôle au modèle de langage.
- Répète un mot ou une phrase spécifique plusieurs fois dans un prompt.
- Pour corriger ou modifier un texte sans changer le style :
- “Révise chaque paragraphe envoyé. Tu dois uniquement améliorer la grammaire et le vocabulaire tout en conservant le style d’écriture initial.”
Structure et clarté des prompts
- Intègre le public cible dans le prompt, par exemple : « Le public est un expert dans le domaine ».
- Utilise des directives affirmatives comme “fais” et évite le langage négatif comme “ne fais pas”.
- Utilise des mots introducteurs comme « réfléchis étape par étape ».
- Utilise des amorces de sortie, en concluant ton prompt avec le début de la sortie souhaitée.
- Utilise des délimiteurs pour bien séparer les différentes sections de ton prompt (Par exemple ### ou ““”” ou {}).
- Lors de la mise en forme de ton prompt, commence par
- ###Instruction###,
- suivi de ###Exemple### ou ###Question###, si pertinent.
Spécificité et Information
- Utilise le prompting basé sur des exemples : le few-shot prompting. Cette méthode permet sur la base d’exemples donnés, une génération par le modèle d’analogies. Tu lui fournis au départ quelques exemples dans ton prompt :
Exemple 1 :
Question : Le soleil est à la lune comme le jour est à…
Réponse : la nuit
Exemple 2 :
Question : Un peintre est à une toile comme un écrivain est à…
Réponse : un livre
Nouvelle question :
Question : Un professeur est à une classe comme un chef est à…
Réponse :
- Lorsque tu as besoin de clarté ou d’une meilleure compréhension d’un sujet, utilise des prompts explicatifs comme :
- “Explique [sujet spécifique] en termes simples.”
- “Explique-moi comme si j’avais 11 ans.”
- “Explique-moi comme si j’étais débutant en [domaine].”
- “Écris [essai/texte/paragraphe] en termes simples, comme si tu expliquais à un enfant de 5 ans.”
- Ajoute à ton prompt la phrase suivante : « Assure-toi que ta réponse est impartiale et ne repose pas sur des stéréotypes ».
- Pour écrire un texte qui doit être similaire à un échantillon fourni, inclut les instructions suivantes :
- « Utilise le même langage que celui du [paragraphe/titre/texte/essai/réponse] fourni ».
- Lorsque tu veux commencer ou continuer un texte avec des mots spécifiques, utilise des amorces :
- « Je te donne le début [paroles de chanson/histoire/paragraphe/essai…] : [insère les paroles/mots/phrases]. Termine-le en te basant sur les mots fournis. Garde le flux cohérent. »
- Énonce clairement les exigences que le modèle doit suivre pour produire du contenu, sous forme de mots-clés, de règles ou d’instructions.
- Si tu veux tester ta compréhension d’un sujet ou d’une idée, utilise la phrase suivante :
- « Enseigne-moi le [théorème/sujet/règle] et inclue un test à la fin, mais ne me donne pas les réponses tout de suite. Dis-moi ensuite si j’ai bien répondu. »
Interaction et engagement de l’utilisateur
- Permets au modèle d’obtenir des détails précis en te posant des questions jusqu’à avoir assez d’informations pour fournir la sortie nécessaire
- par exemple, « À partir de maintenant, je voudrais que tu me poses des questions pour… ».
- Pour un texte détaillé, demande :
- “Écris un [texte] détaillé sur [sujet], en ajoutant toutes les informations nécessaires.”
Tâches complexes et codage
- Décompose les tâches complexes en prompts plus simples dans une conversation interactive.
- Combine la méthode “Chain-of-Thought” (CoT) avec les prompts few-shot (vu précédemment). Chain-of-Thought (CoT), ou “chaîne de pensée” est une approche qui consiste à guider le modèle de langage à travers une série d’étapes de réflexion logiques pour résoudre un problème ou répondre à une question complexe. Au lieu de demander une réponse directe, on encourage le modèle à “penser à voix haute” et à expliquer son raisonnement étape par étape. Cette technique est particulièrement utile pour :
- Pour un prompt de codage complexe impliquant plusieurs fichiers :
- « À partir de maintenant, chaque fois que tu génères du code qui s’étend sur plus d’un fichier, génère un script [langage de programmation] qui peut être exécuté pour créer les fichiers spécifiés ou modifier les fichiers existants pour insérer le code généré. [ta question] ».
Conclusion : L’art subtil du prompt engineering
Maîtriser la conception de prompts efficaces est un art subtil qui nécessite de la pratique. Ces 26 principes clés te fournissent une base solide pour améliorer tes interactions avec les grands modèles de langage.
Rappelle-toi que chaque modèle et chaque tâche peuvent nécessiter une approche légèrement différente. N’hésite pas à expérimenter et à ajuster tes prompts en fonction des résultats obtenus.
En appliquant ces principes, tu seras en mesure d’obtenir des réponses plus précises, plus pertinentes et mieux adaptées à tes besoins spécifiques. Tu exploitera ainsi pleinement le potentiel des LLM pour résoudre des tâches complexes et générer du contenu de haute qualité.
Le prompt engineering est un domaine en constante évolution. De nouvelles techniques émergent régulièrement à mesure que notre compréhension des LLM s’approfondit. Reste curieux, continue d’apprendre et d’affiner tes compétences.
Avec de la pratique et de la créativité, tu deviendras un véritable expert dans l’art de communiquer efficacement avec les intelligences artificielles les plus avancées. C’est une compétence précieuse qui t’ouvrira de nombreuses possibilités dans le monde en pleine mutation de l’IA et du traitement du langage naturel.
Merci , j’ai fait un résumé : prompt qui résume les 26 clés :
Ton rôle est d’aider à améliorer [sujet spécifique]. Ta tâche est de fournir des réponses concises, pertinentes, et adaptées à un public [débutant/avancé/expert]. Tu dois répondre de manière claire et structurée.
### Instructions ###
1. Utilise un style de langage simple et engageant.
2. Ta réponse doit être spécifique, incluant des exemples si possible.
3. Reste positif dans tes affirmations ; évite les négations.
4. Clarifie les consignes en réfléchissant étape par étape.
5. Réponds en utilisant des amorces claires : “La réponse est…”.
### Structure et clarté ###
1. Utilise des délimiteurs comme ### pour organiser ta réponse.
2. Inclut des exemples concrets pour illustrer ton point.
3. Intègre des amorces de sortie comme “La conclusion est…”.
### Spécificité et information ###
1. Adopte une approche “few-shot prompting” : montre un ou deux exemples avant de demander une nouvelle question.
2. Reste impartial et inclusif dans tes réponses.
3. Si tu dois expliquer un concept, adapte le langage au niveau de l’utilisateur, comme “Explique-moi comme si j’avais 11 ans.”
### Interaction et engagement de l’utilisateur ###
1. Invite l’utilisateur à te fournir des détails supplémentaires si besoin.
2. Pose des questions pour préciser le contexte.
3. Offre des amorces pour encourager une conversation continue.
### Tâches complexes et codage ###
1. Si la tâche est complexe, décompose-la en étapes plus simples.
2. Si une séquence de pensée est nécessaire, adopte la méthode “Chain-of-Thought” (CoT).
3. Pour des tâches de codage complexes, guide sur la création de plusieurs fichiers ou étapes nécessaires.
La clarté et la concision des prompts font vraiment toute la différence. Merci pour ce précieux article 🙂 !
En effet il est souvent préférable de faire plus court avec des mots / séquences bien choisis. Connaître ses principes et les appliquer. Mais il est surtout important de les tester
J’adore parler aux IA, c’est tellement un monde différent du nôtre !
Merci pour toutes ses idées, même si j’avoue déjà utiliser la plupart.
J’ai même créé un prompt pour qu’il me fasse de bons prompts. En gros je dis grossièrement ce que je veux et l’IA, grâce à ce prompt me restructure l’ensemble pour un prompt mieux construit. Et honnêtement, ça fonctionne super bien, je gagne énormément de temps grâce à ça car j’ai bcp moins besoin d’itérer derrière.
Oui je partage. Des prompts permettant de créer les prompts sont très utiles. J’essaie d’optimiser mes prompts pour les tâches les plus répétitives.
Merci pour cet article très complet ! Ca donne envie de creuser le sujet pour tester ces conseils et avoir de meilleurs réponses ! 🙂 Il y a pas mal de choses que je ne fais pas pour l’instant, merci pour tous ces conseils ! 🙂
Merci Florian pour le commentaire. N’hésite pas à partager tes nouveaux tests.
J’aime beaucoup les exemples que tu as fournis sur les prompts étape par étape. Ca me donne de nouvelles idées pour améliorer mes propres requêtes. Je te remercie pour ce contenu accessible.
Cet article compète https://le-labo-de-la-productivite.fr/astuces-maximiser-efficacite-chatgpt/, n’hésite pas à jeter un oeil si tu as besoin de plus d’exemples.
Merci pour cet article très concret ! J’avoue avoir souvent le réflexe d’être polie dans mes prompts, comme pour une conversation classique. Aller droit au but semble effectivement plus efficace, mais je me demande si cela ne nous fait pas perdre un peu de notre humanité et des bonnes manières.
J’ai également constaté que l’IA produit de bien meilleurs résultats lorsque l’on inclut des exemples précis pour illustrer le type de réponse souhaitée. Comme tu l’expliques si bien, cela permet de mieux guider le modèle vers des réponses plus adaptées.
C’est difficile de ne pas être polie avec une IA. C’est sans doute idiot mais je me dis que cela fait aussi qui je suis et qu’en étant polie même avec une machine je me fais du bien à moi aussi.
Oui, je sais que cela a un coût écologique.
Au-delà de ça on m’a dit dernièrement qu’il était pertinent de “féliciter / remercie” l’IA quand il pour obtenir un effet de renforcement positif. Tu confirmes ?
Très bien tous ces conseils sur comment faire un bon prompt ! J’utilise l’IA tous les jours mais ça ne veut pas dire que je l’utilise bien. Merci à toi 😉
Voilà qui m’apporte des éléments clairs pour faire en sorte que ChatGPT me fournisse ce qu’il me faut. J’aime beaucoup l’approche few-shot prompting que tu décris. Je n’avais pas encore imaginer utiliser la force de l’exemple pour guider une IA, je vais tester ça dès ma prochaine « conversation
Merci pour ce super article Ces principes sont vraiment utiles pour mieux interagir avec les modèles de langage et tirer le meilleur parti de leurs capacités. J’aime particulièrement l’approche “Chain-of-Thought” pour les tâches complexes, ça change vraiment la donne. C’est vrai que maîtriser l’art du prompt, c’est presque comme apprendre une nouvelle langue, mais les résultats sont bluffants quand on prend le temps de bien concevoir les instructions. Hâte d’essayer ces techniques dans nos prochains projets !
Article dont j’avais HYPER besoin !
Concis et clair donc très pratique à mettre en oeuvre 🙂
Merci beaucoup !
Merci pour cet article sur l’art de la promptologie 😉 J’appliquais déjà plusieurs principes.
Je vais tester avec des exemples.
Salut,
Merci pour tes précieux conseils.
J’ai encore beaucoup à apprendre pour affiner mes prompts et les rendre plus percutants 🙏🥊
Merci pour les 26 règles. Il est vrai qu’il faut expérimenter et la façon dont on lui demande de choses est hyper important. Je vais testé ceux que je ne connaissais pas !