Few-Shot Prompting
Apprendre par l’exemple
Le few-shot prompting est une technique qui consiste à fournir des exemples de paires entrée/sortie dans votre prompt pour guider le modèle. Au lieu de décrire abstraitement ce que vous attendez, vous montrez concrètement le résultat souhaité à travers un ou plusieurs exemples.
Cette approche s’appuie sur la capacité de Grok à détecter des patterns et à les reproduire. C’est souvent la technique la plus efficace pour obtenir un format de sortie précis ou un comportement spécifique.
Les variantes du few-shot
Zero-shot : aucun exemple
Vous donnez uniquement l’instruction, sans exemple. C’est le comportement par défaut.
[
{"role": "system", "content": "Classe les avis clients en '\''positif'\'', '\''négatif'\'' ou '\''neutre'\''."},
{"role": "user", "content": "Le produit est arrivé cassé, très déçu."}
]
One-shot : un seul exemple
Un exemple suffit souvent pour cadrer le format de sortie.
[
{"role": "system", "content": "Classe les avis clients selon le format montré dans l'exemple."},
{"role": "user", "content": "Super qualité, je recommande !"},
{"role": "assistant", "content": "{\"sentiment\": \"positif\", \"confiance\": 0.95, \"mots_clés\": [\"qualité\", \"recommande\"]}"},
{"role": "user", "content": "Le produit est arrivé cassé, très déçu."}
]
Few-shot : plusieurs exemples
Avec 2 à 5 exemples, vous couvrez davantage de cas et le modèle saisit mieux les nuances.
[
{"role": "system", "content": "Classe les avis clients au format JSON."},
{"role": "user", "content": "Super qualité, je recommande !"},
{"role": "assistant", "content": "{\"sentiment\": \"positif\", \"confiance\": 0.95}"},
{"role": "user", "content": "Bof, rien de spécial."},
{"role": "assistant", "content": "{\"sentiment\": \"neutre\", \"confiance\": 0.70}"},
{"role": "user", "content": "Horrible, ne fonctionne pas du tout."},
{"role": "assistant", "content": "{\"sentiment\": \"négatif\", \"confiance\": 0.98}"},
{"role": "user", "content": "Livraison rapide mais emballage abîmé."}
]
Quand utiliser le few-shot
Le few-shot est particulièrement adapté dans ces situations :
- Format de sortie strict : JSON, CSV, Markdown structuré, format personnalisé
- Classification : sentiment, catégorie, priorité, langue
- Transformation de texte : reformulation, traduction avec style, extraction d’entités
- Cohérence de ton : quand vous avez un style rédactionnel précis à reproduire
Règles pour des exemples efficaces
Diversité des exemples
Vos exemples doivent couvrir les cas principaux. Pour une classification à trois classes, incluez au moins un exemple de chaque classe.
Cohérence du format
Tous vos exemples doivent suivre exactement le même format de sortie. Si un exemple retourne du JSON avec des clés en minuscules, tous les autres doivent faire pareil.
Pertinence
Choisissez des exemples proches des cas réels que le modèle traitera. Des exemples trop simples ou trop exotiques peuvent dégrader la qualité des résultats.
Quantité raisonnable
Plus d’exemples consomme plus de tokens d’entrée. Trouvez le bon équilibre : 2 à 5 exemples suffisent généralement. Au-delà, l’ajout d’exemples a un rendement décroissant.
Combiner few-shot et message système
La combinaison la plus efficace associe un message système qui décrit la tâche et des exemples few-shot qui montrent le format :
[
{
"role": "system",
"content": "Tu es un assistant qui extrait les entités nommées (personnes, lieux, organisations) d'un texte et les retourne au format JSON. Chaque entité a un type et une valeur."
},
{
"role": "user",
"content": "Marie Curie a travaillé à l'Université de Paris."
},
{
"role": "assistant",
"content": "{\"entités\": [{\"type\": \"personne\", \"valeur\": \"Marie Curie\"}, {\"type\": \"organisation\", \"valeur\": \"Université de Paris\"}]}"
},
{
"role": "user",
"content": "Le PDG de TotalEnergies a rencontré le ministre à Lyon."
}
]
Le message système explique la tâche, l’exemple montre le format exact. Le modèle reproduira ce format pour la nouvelle entrée.
Mise en pratique
Créez un prompt few-shot pour convertir des descriptions de produits en fiches structurées. Définissez votre format de sortie avec 2-3 exemples, puis testez avec un nouveau produit.
Commencez par un one-shot pour vérifier le format, puis ajoutez des exemples si le résultat nécessite des ajustements.
Points clés à retenir
- Le few-shot consiste à fournir des exemples pour guider le modèle par l’imitation
- Un seul exemple (one-shot) suffit souvent pour fixer le format de sortie
- 2 à 5 exemples couvrent la plupart des cas sans gaspiller de tokens
- Vos exemples doivent être diversifiés, cohérents en format, et représentatifs
- Combinez le message système (description) avec les exemples (démonstration) pour un résultat optimal