Un prompt est un brief. Le modèle ne lit que ce que vous avez écrit : chaque fait dont il a besoin et chaque préférence que vous avez doivent donc figurer sur la page. Quand une réponse revient générique, la cause est presque toujours quelque chose que le prompt a oublié plutôt que quelque chose qu'il a mal dit.
La plupart des prompts utiles se construisent à partir des six mêmes éléments. Le bloc ci-dessous les contient tous. Désactivez des éléments pour voir le prompt sans eux, indiquez votre propre langage, puis ouvrez le résultat dans ChatGPT ou Claude et comparez.
age = 30
print("Age: " + age)L'erreur :TypeError: can only concatenate str (not "int") to strCe que ça signifie : + peut assembler deux chaînes ou additionner deux nombres, mais pas coller une chaîne à un nombre. Python ne devine pas ce que tu voulais, alors il s'arrête.
Pourquoi ton code l'a provoquée : "Age: " est une chaîne et age contient le nombre 30. La ligne demande à Python de les coller avec +.
Le code corrigé : transforme d'abord le nombre en texte avec str() :
age = 30
print("Age: " + str(age))
Cela affiche Age: 30.
Les six éléments
Le rôle indique au modèle quelle voix et quel jugement adopter. "Un tuteur patient pour débutants" et "un ingénieur senior qui relit du code de production" répondent très différemment à la même question. Un rôle est surtout utile quand il suppose un public et un niveau d'exigence ; voir prompting par rôle pour savoir quand il aide et quand il n'aide pas.
La tâche est la phrase qui dit quoi faire. Commencez par un verbe : expliquer, réécrire, comparer, lister, corriger, résumer. Si vous ne pouvez pas écrire la tâche en une phrase, le prompt contient sans doute deux tâches, et l'une d'elles reçoit en général une réponse plus maigre.
Le contexte regroupe tout ce que le modèle ne peut pas deviner : qui vous êtes, ce que vous savez déjà, à quoi servira le résultat et ce que vous avez déjà essayé. Dans l'exemple, "je n'ai pas encore vu les classes ni les exceptions" est la ligne qui empêche le modèle de répondre avec try et except.
L'entrée est le contenu à traiter : le code, l'e-mail, le tableau, l'erreur. Collez-le en entier. Un résumé de votre code décrit ce que vous pensez qu'il fait, et le bug se cache en général dans l'écart entre les deux.
Le format dit à quoi doit ressembler la réponse : une liste, un tableau, trois parties étiquetées, du JSON, une seule ligne. Sans lui, le modèle choisit une forme à votre place, et les modèles de chat ont tendance à en choisir de longues. Sortie structurée va plus loin quand un programme doit lire la réponse.
Les contraintes sont les limites : longueur, vocabulaire, choses à éviter, parties à ne pas modifier. Un nombre ("moins de 120 mots") marche mieux qu'un adjectif ("court"), car "court" ne veut pas dire la même chose pour tous les lecteurs, et le modèle en est un.
Vague ou précis
Voici la même demande écrite de deux façons. Passez d'un onglet à l'autre et comparez les réponses.
Voici une fonction de tri simple en Python :
def sort_list(items):
return sorted(items)
Vous pouvez l'appeler avec sort_list([3, 1, 2]), qui renvoie [1, 2, 3].
Le prompt vague a obtenu une réponse juste à une question que personne n'a posée. Il a dû deviner le langage, les données, l'ordre et s'il était acceptable de modifier l'entrée, et il a misé à chaque fois sur le cas le plus courant. Le prompt précis a répondu d'avance aux quatre questions, il ne restait donc rien à deviner.
Les habitudes qui améliorent un prompt
- Donnez la tâche tôt, et redonnez-la après un long contenu. Dans un prompt court, commencez par la tâche pour que le contexte qui suit se lise avec un but. Quand vous collez un long document, placez le document d'abord et la question à la fin, en y rappelant les contraintes clés, pour que la consigne se trouve juste à l'endroit où le modèle commence à écrire.
- Dites quoi faire, pas seulement quoi éviter. "Écris en langage simple pour un enfant de 12 ans" donne une cible au modèle. "Ne sois pas trop technique" n'exclut qu'une direction et laisse toutes les autres ouvertes.
- Séparez les consignes du contenu. Quand vous collez un e-mail ou un fichier, marquez où il commence et où il finit pour que le modèle ne prenne pas une de ses phrases pour une consigne. Délimiteurs et balises XML présente les options.
- Montrez un exemple de la sortie quand le format sort de l'ordinaire. Un exemple montre la forme plus vite qu'un paragraphe ne la décrit. C'est le prompting few-shot.
- Itérez sur le prompt, pas dans la conversation. Si la première réponse est fausse, trouvez le contexte ou la contrainte qui manque, corrigez le prompt et relancez-le. Une longue suite de corrections finit par marcher, mais elle vous laisse un résultat et aucun prompt réutilisable.
La liste de contrôle avant d'envoyer
- Puis-je formuler la tâche en une phrase qui commence par un verbe ?
- Un inconnu saurait-il à qui s'adresse la réponse et ce que je sais déjà ?
- Ai-je collé le vrai contenu, et pas une description de ce contenu ?
- Ai-je dit quelle longueur et quelle forme doit avoir la réponse ?
- Y a-t-il quelque chose que la réponse ne doit pas modifier ou ne doit pas utiliser ?
Cinq oui ne garantissent pas une réponse parfaite, mais un non est la cause la plus probable d'une mauvaise.
Questions fréquentes
Qu'est-ce qui fait un bon prompt ?
Un bon prompt formule la tâche en une phrase claire, donne le contexte que le modèle ne peut pas deviner (qui vous êtes, ce que vous savez déjà, à quoi servira le résultat), inclut le contenu à traiter et précise à quoi doit ressembler la réponse : longueur, structure et ton. La plupart des prompts faibles pèchent par le contexte et le format, pas par la formulation.
Quelle longueur doit faire un prompt ?
La longueur dont la tâche a besoin, pas plus. Une question d'une ligne suffit pour une réponse d'une ligne. Une tâche avec un public, une entrée et une forme de sortie précis demande en général quatre à huit phrases. Répéter trois fois la même consigne n'aide pas ; ajouter le contexte manquant, si.
Faut-il être poli avec ChatGPT ou Claude ?
Les formules de politesse n'aident ni ne nuisent beaucoup. Ce qui change la réponse, c'est l'information : l'objectif, le public, les contraintes et un exemple de la sortie voulue. Écrivez comme si vous briefiez un collègue compétent qui n'a jamais vu votre projet.
Existe-t-il un modèle pour écrire un prompt ?
Un ordre fiable est : rôle, tâche, contexte, entrée, format, contraintes. Tous les prompts n'ont pas besoin des six. Commencez par la tâche, ajoutez le contexte que le modèle ne peut pas deviner, puis le format et les contraintes quand la première réponse revient trop longue, trop vague ou mal structurée. Voir modèles de prompts pour des versions réutilisables à compléter.
Pourquoi le même prompt donne-t-il des réponses différentes à chaque fois ?
Les modèles de chat choisissent chaque mot suivant par échantillonnage dans une distribution de probabilités, donc deux exécutions peuvent différer. Un prompt plus précis réduit l'espace des bonnes réponses, ce qui rend les exécutions plus proches. Le réglage de température contrôle la part de hasard de cet échantillonnage.