Fournir des exemples
Sur cette page
Dernière technique de la section, et l’une des plus efficaces : donner des exemples dans le prompt. On parle de « one-shot » avec un exemple, de « multishot » avec plusieurs. Là où une consigne décrit le comportement attendu, un exemple le montre. La documentation d’Anthropic en fait l’un des moyens les plus fiables d’orienter le format, le ton et la structure des réponses.
Le problème du sarcasme
Vous voulez classer des tweets en positifs ou négatifs. La difficulté : le sarcasme. « Ah oui, le meilleur film depuis Plan 9 from Outer Space » n’emploie que des mots positifs, mais c’est une critique : ce film est célèbre pour être mauvais. Écrire « attention au sarcasme » aide peu ; encore faut-il que le modèle sache à quoi il ressemble dans vos données.
Un exemple bien construit
Un exemple efficace a trois éléments :
- une annonce claire : « Voici un exemple d’entrée avec la réponse idéale » ;
- des balises qui le séparent des consignes, par exemple
<sample_input>et<ideal_output>comme dans le cours officiel ; - un cas concret qui montre le comportement voulu.
Les balises ont un rôle de sécurité autant que de clarté : sans elles, Claude pourrait prendre l’exemple pour le texte à analyser et lui répondre.
def run_prompt(tweet):
prompt = f"""
Classe le sentiment de ce tweet : réponds uniquement « Positif » ou « Négatif ».
Sois particulièrement attentif aux tweets sarcastiques. Voici un exemple d'entrée avec la réponse idéale :
<sample_input>
Oh super, j'avais vraiment besoin d'un retard de vol ce soir ! Excellent !
</sample_input>
<ideal_output>
Négatif
</ideal_output>
<tweet>
{tweet}
</tweet>
"""
messages = []
add_user_message(messages, prompt)
return chat(messages)
La paire montre le mécanisme exact à détecter, un enthousiasme de surface sur une situation négative, et le verdict attendu. Le modèle n’applique plus une règle abstraite : il reconnaît la ressemblance avec un cas résolu.
Combien d’exemples, et lesquels
La documentation d’Anthropic recommande trois à cinq exemples, qui soient :
- pertinents : proches de votre cas d’usage réel ;
- variés : couvrant les cas limites, et assez différents pour que Claude ne retienne pas un motif involontaire ;
- structurés : chacun dans une balise
<example>, l’ensemble dans<examples>.
Vous pouvez aussi demander à Claude d’évaluer la pertinence et la variété de vos exemples, ou d’en générer d’autres à partir des vôtres. Et les exemples fonctionnent avec la réflexion : un exemple travaillé façonne la manière dont Claude aborde les problèmes semblables dans sa propre réflexion. Présentez alors chaque exemple comme un problème, la méthode à appliquer et la réponse attendue.
Trouver de bons exemples
Votre pipeline d’évaluation a déjà la réponse : parmi les résultats de run_evaluation, cherchez les réponses les mieux notées, idéalement un 10. Copiez l’entrée et la réponse, et faites-en un exemple. La boucle est vertueuse : le pipeline produit des dizaines de réponses, l’évaluateur désigne les meilleures, et celles-ci tirent les réponses futures vers leur niveau.
best = max(results, key=lambda result: result["score"])
print(best["score"])
print(best["test_case"]["prompt_inputs"])
print(best["output"])
Dire pourquoi l’exemple est bon
Ajoutez une phrase qui explique ce qui fait la qualité de l’exemple :
<ideal_output>
[la réponse la mieux notée]
</ideal_output>
Ce plan de repas est bien structuré, détaille les aliments et les quantités,
et respecte les objectifs et les restrictions de l'athlète.
Sans cette explication, Claude doit deviner ce qui compte : le style, la longueur, la précision ? La phrase désigne les propriétés à reproduire.
Le coût des exemples
Chaque exemple est renvoyé à chaque requête, donc facturé à chaque fois. Trois à cinq exemples bien choisis valent mieux qu’une longue série. La mise en cache des prompts, à la section 6, réduit ce coût quand le début du prompt ne change pas.
À vous de jouer
Votre meilleur exemple. Reprenez les résultats de votre dernière évaluation, extrayez la réponse la mieux notée et ajoutez-la comme exemple à votre prompt, avec une phrase qui dit pourquoi elle est bonne. Réévaluez : de combien la note bouge-t-elle ?
Le piège du motif. Donnez trois exemples qui commencent tous par la même phrase, puis observez si les réponses la reprennent. Variez les exemples et comparez.
Sources officielles : Providing examples (Claude Academy) · Prompting best practices (documentation Claude)
Points clés à retenir
- Un exemple montre ce qu’une consigne décrit : décisif pour le sarcasme, les nuances, les formats complexes.
- Annoncez chaque exemple et séparez-le des consignes par des balises.
- Trois à cinq exemples pertinents, variés et structurés, selon la documentation d’Anthropic.
- Les meilleures réponses de votre évaluation font les meilleurs exemples ; dites pourquoi elles sont bonnes.
- Chaque exemple coûte des tokens à chaque requête : la mise en cache des prompts atténue ce coût.