Quatre techniques de prompting qui tiennent
Les recommandations réellement documentées par Anthropic : instructions explicites, exemples balisés, balises XML, longs documents.
Il circule beaucoup de recettes de prompting, et la plupart sont des superstitions : promettre un pourboire, menacer, répéter la consigne en majuscules. Elles se transmettent parce qu'elles ont marché une fois, pas parce qu'elles sont documentées.
Ce guide se limite à quatre techniques qui figurent noir sur blanc dans la documentation de prompt engineering d'Anthropic. Elles ne sont pas spectaculaires. Elles sont juste celles qui tiennent quand on les répète.
Un préalable, également documenté : avant d'optimiser un prompt, il faut savoir à quoi ressemble une bonne réponse et pouvoir le tester. Sans critère de succès, tu ne fais pas de prompt engineering, tu changes de goût.
Avant de commencer
- Un prompt qui te déçoit déjà
- Un critère de succès, même approximatif
- De quoi comparer deux versions sur les mêmes entrées
1Être explicite, et dire pourquoi
La première recommandation est aussi la moins glamour : le modèle répond bien aux instructions claires et explicites. Si tu veux un comportement « au-delà du minimum », demande-le, ne compte pas sur lui pour le déduire d'une consigne vague.
L'exemple donné dans la documentation :
Cree un tableau de bord analytique
devient :
Cree un tableau de bord analytique. Inclus autant de fonctionnalites et
d'interactions pertinentes que possible. Va au-dela du minimum pour produire
une implementation complete.
La variante la plus rentable : donner la raison de la contrainte. La documentation insiste sur ce point, le modèle généralise à partir de l'explication.
Ta reponse sera lue par un moteur de synthese vocale, donc n'utilise pas de
points de suspension : il ne saurait pas les prononcer.
Deux consignes de forme complètent le tableau : quand l'ordre ou l'exhaustivité des étapes comptent, donne-les en liste numérotée. Et pour piloter le format, dis ce qu'il faut faire plutôt que ce qu'il faut éviter : « écris en paragraphes de prose continue » marche mieux que « n'utilise pas de markdown ».
2Donner trois à cinq exemples, balisés
Les exemples sont décrits comme l'un des moyens les plus fiables de piloter le format, le ton et la structure de la sortie. Le chiffre est donné : trois à cinq exemples pour de bons résultats.
Trois critères de qualité sont posés :
- Pertinents : ils reflètent de près ton cas réel.
- Divers : ils couvrent les cas limites et varient assez pour que le modèle n'attrape pas un motif involontaire.
- Structurés : chaque exemple dans une balise
<example>, l'ensemble dans<examples>, pour qu'ils se distinguent des instructions.
<examples>
<example>
Entree : « le paiement a echoue »
Sortie : {"categorie": "paiement", "urgence": "haute", "action": "escalade"}
</example>
<example>
Entree : « comment change-t-on de mot de passe ? »
Sortie : {"categorie": "compte", "urgence": "basse", "action": "self-service"}
</example>
</examples>
Tu peux faire évaluer tes exemples
La documentation suggère explicitement de demander au modèle d'évaluer la pertinence et la diversité de tes exemples, ou d'en générer d'autres à partir de ton jeu initial. C'est plus rapide que de les écrire tous à la main.
3Structurer avec des balises XML
Dès qu'un prompt mélange instructions, contexte, exemples et données variables, les balises XML lèvent l'ambiguïté sur ce qui est quoi. C'est la raison invoquée dans la documentation : réduire les mauvaises interprétations.
Deux bonnes pratiques y sont listées :
- Utiliser des noms de balises cohérents et descriptifs d'un prompt à
l'autre, par exemple
<instructions>,<context>,<input>. - Imbriquer quand le contenu a une hiérarchie naturelle : des documents dans
<documents>, chacun dans<document index="n">.
Les balises servent aussi côté sortie : demander « écris les passages en prose
dans des balises <prose> » est un moyen de contrôle du format cité tel quel.
4Placer les longs documents en haut, et faire citer avant de répondre
Pour les entrées volumineuses, à partir de 20 000 tokens environ, la documentation donne trois consignes précises.
Les documents longs vont en haut du prompt, au-dessus de la question, des instructions et des exemples. La note est chiffrée : en tests, placer la requête à la fin peut améliorer la qualité de réponse jusqu'à 30 %, surtout sur des entrées complexes ou multi-documents.
Chaque document est balisé avec ses métadonnées :
<documents>
<document index="1">
<source>rapport_annuel_2023.pdf</source>
<document_content>
...
</document_content>
</document>
</documents>
Analyse le rapport annuel et identifie les trois risques principaux.
Demande les citations d'abord. La technique est explicite : sur une tâche portant sur de longs documents, demander au modèle de citer les passages pertinents avant de traiter la tâche l'aide à se concentrer sur le contenu utile et à ignorer le reste.
Trouve d'abord les extraits pertinents et place-les dans des balises <quotes>.
Ensuite, en te basant uniquement sur ces extraits, redige ta reponse dans des
balises <reponse>.
Effet secondaire appréciable : tu peux vérifier les extraits. Une affirmation sans extrait devient visible.
Le cas de la réflexion
Sur les modèles récents, la réflexion est adaptative : le modèle décide lui-même quand et combien réfléchir, en fonction du niveau d'effort configuré et de la complexité de la question. Tu ne l'actives pas à la main dans le prompt.
En revanche, ce déclenchement est pilotable par le prompt. La documentation donne deux formulations directement utilisables. Pour encourager la réflexion après un appel d'outil :
Apres avoir recu les resultats d'outil, reflechis a leur qualite et determine
les prochaines etapes optimales avant de continuer.
Et à l'inverse, quand le modèle réfléchit plus que nécessaire :
Reflechir ajoute de la latence et ne doit servir que quand ca ameliore
vraiment la qualite de la reponse, typiquement pour un raisonnement en
plusieurs etapes. Dans le doute, reponds directement.
Une technique n'est pas universelle
Ces recommandations sont écrites pour les modèles Claude récents et évoluent avec eux. Ce qui était conseillé sur une génération précédente ne l'est plus forcément : le chaînage explicite de prompts, par exemple, est présenté comme encore utile mais plus rarement nécessaire, la réflexion adaptative absorbant une bonne partie des raisonnements multi-étapes.
Quelques prompts pour aller plus loin
| Objectif | Prompt à adapter |
|---|---|
| Rendre une consigne explicite | Reecris cette instruction pour qu'elle soit explicite et qu'elle donne la raison de la contrainte. |
| Fabriquer un jeu d'exemples | A partir de ces deux exemples, genere trois exemples supplementaires couvrant des cas limites differents, dans des balises <example>. |
| Auditer la diversité | Mes exemples risquent-ils de faire apprendre un motif involontaire ? Lequel, et comment le casser ? |
| Structurer un gros prompt | Reorganise ce prompt avec des balises XML : instructions, contexte, exemples, entree. Ne change pas le contenu. |
| Forcer l'ancrage | Cite d'abord les extraits pertinents dans <quotes>, puis reponds uniquement a partir d'eux dans <reponse>. |
| Calmer une réflexion excessive | Choisis une approche et tiens-la. Ne reviens sur une decision que si une information nouvelle la contredit directement. |
Tu as d’autres ressources comme ça ?
Ce que tu viens de lire est entièrement gratuit. Une nouvelle ressource part chaque semaine dans la newsletter : guides, modèles à copier et liens triés, sans compte à créer.
Me contacter
Une question, un projet, une envie de collaborer ? Écris-moi.
Cette page est en accès libre, n’hésite pas à la partager.