Introduction à l'ingénierie de prompts
Sur cette page
L’ingénierie de prompts consiste à prendre un prompt déjà écrit et à l’améliorer pour obtenir des sorties plus fiables et de meilleure qualité. Ce n’est pas de l’inspiration, c’est une méthode : partir d’une mesure, modifier une chose, remesurer. Cette leçon ouvre la troisième section : elle pose le cycle d’amélioration, l’exemple qui servira de fil rouge (un plan de repas pour athlète) et l’évaluateur qui mesurera chaque technique.
Le cycle d’amélioration
- Fixer un objectif : ce que le prompt doit accomplir.
- Écrire un premier prompt, volontairement simple.
- L’évaluer avec un pipeline comme celui de la section 2.
- Appliquer une technique d’ingénierie de prompts.
- Réévaluer, pour vérifier que le changement améliore vraiment les résultats.
On répète les deux dernières étapes jusqu’à obtenir les performances voulues. La règle d’or : un seul changement à la fois. Si vous modifiez trois choses et que la note monte, vous ne saurez pas laquelle a compté.
Le fil rouge : un plan de repas pour athlète
Le cours officiel travaille sur un prompt qui produit le plan de repas d’une journée pour un athlète, à partir de sa taille, de son poids, de son objectif et de ses restrictions alimentaires. Son évaluateur, une classe PromptEvaluator fournie avec le cours, génère le jeu de test, exécute le prompt et note les réponses avec un modèle ; vous pouvez réutiliser le pipeline de la section 2, qui fait la même chose.
Les entrées du prompt se décrivent une fois, et le jeu de test se génère à partir de cette description :
prompt_inputs_spec = {
"taille": "taille de l'athlète en cm",
"poids": "poids de l'athlète en kg",
"objectif": "objectif de l'athlète",
"restrictions": "restrictions alimentaires de l'athlète",
}
Le cours officiel conseille deux réglages pendant la mise au point : peu de cas (deux ou trois) pour itérer vite, quitte à en ajouter pour la validation finale ; et une concurrence basse (trois appels simultanés) pour éviter les erreurs de limite de débit, à augmenter si votre quota le permet.
Le prompt naïf
def run_prompt(prompt_inputs):
prompt = f"""
Que devrait manger cette personne ?
- Taille : {prompt_inputs["taille"]}
- Poids : {prompt_inputs["poids"]}
- Objectif : {prompt_inputs["objectif"]}
- Restrictions alimentaires : {prompt_inputs["restrictions"]}
"""
messages = []
add_user_message(messages, prompt)
return chat(messages)
On l’évalue avec des critères supplémentaires que le notateur doit prendre en compte :
extra_criteria = """La sortie doit comprendre :
- le total calorique de la journée ;
- la répartition des macronutriments ;
- les repas, avec aliments exacts, portions et horaires."""
Dans le cours officiel, ce premier essai obtient 2,32 sur 10. C’est normal : la valeur absolue n’importe pas, elle sert de point de comparaison. L’évaluateur produit aussi un rapport qui montre, pour chaque cas, la note et le raisonnement du notateur : c’est lui qui dit où le prompt échoue.
Ce que donnent les techniques
| Étape | Technique | Note dans la démonstration du cours officiel |
|---|---|---|
| Départ | Prompt naïf | 2,32 |
| 1 | Être clair et direct | 3,92 |
| 2 | Être spécifique | 7,86 |
| 3 | Structurer avec des balises XML | gain faible sur ce prompt court, croissant avec la quantité de contenu |
| 4 | Fournir des exemples | prendre les meilleures sorties de l’évaluation comme exemples |
Ces chiffres valent pour cette démonstration, avec le modèle et le jeu de test de l’époque : sur votre tâche, l’ordre d’efficacité peut changer, et c’est précisément ce que l’évaluation vous dira. Les deux premières techniques apportent souvent le plus gros gain ; les suivantes affinent.
À vous de jouer
Votre point de départ. Choisissez un prompt de votre travail, écrivez sa description d’entrées comme ci-dessus, générez trois cas avec la méthode de la leçon 18, et mesurez sa note de départ avec votre pipeline.
Un changement à la fois. Notez dans un tableau chaque modification que vous ferez au cours de cette section et la note obtenue après chacune : à la fin, vous saurez ce qui a vraiment compté pour votre tâche.
Sources officielles : Prompt engineering (Claude Academy) · Prompting best practices (documentation Claude)
Points clés à retenir
- L’ingénierie de prompts est un cycle mesuré : objectif, premier jet, évaluation, technique, réévaluation.
- Un seul changement à la fois, pour savoir ce qui a compté.
- Une note de départ basse est normale : elle sert de référence.
- Dans la démonstration du cours officiel, clarté puis spécificité font passer le plan de repas de 2,32 à 7,86.