Few-shot prompting : enseigner par l'exemple
Vous pouvez écrire trois phrases pour tenter d'expliquer ce que signifie « urgent », ou vous pouvez montrer trois messages au modèle et le laisser repérer lui-même le motif. La seconde approche gagne presque toujours.
C'est le few-shot promptingpromptingLe prompt engineering consiste à concevoir et affiner des instructions textuelles pour guider les grands modèles de langage vers des réponses justes, pertinentes et fiables.Voir la définition complète → : donner au modèle une poignée d'exemples traités avant de lui demander d'accomplir la vraie tâche. « Shot » veut simplement dire « exemple ». Zero-shot, aucun exemple. One-shot, un seul. Few-shot, deux ou plus.
Le problème de la description
Imaginez que vous vouliez trier les messages clients entrants entre « urgent » et « normal ». Votre premier réflexe est de décrire les règles :
Classe ce message comme urgent ou normal. Urgent signifie que le client est en colère, mentionne une perte d'argent, a une échéance, ou menace de résilier. Normal signifie des questions générales, des retours, ou tout ce qui peut attendre.
Ça fonctionne à peu près. Mais vous allez passer un temps fou à ajouter des cas limites. Et un message calme qui dit « mon paiement a échoué » ? Et un message enthousiaste qui ne pose en fait aucun problème ?
Les mots sur les règles glissent entre les doigts. Les exemples sont nets.
Enseigner par l'exemple à la place
Voici la même tâche sous forme de prompt few-shot. Remarquez qu'il n'y a aucune règle, juste trois exemples puis le nouveau message :
Classify each message as "urgent" or "normal".
Message: "My account got charged twice and the payment is for $4,000. I need this fixed today."
Label: urgent
Message: "Hi! Just wondering what your office hours are over the holidays."
Label: normal
Message: "This is the third time I've emailed. If I don't hear back I'm cancelling my subscription tomorrow."
Label: urgent
Message: "Loving the new dashboard, the charts are really clear."
Label:Le modèle lit le motif et complète la dernière ligne : normal.
Il a appris de vos exemples que les doubles débits et les menaces de résiliation sont urgents, tandis que les questions aimables et les compliments sont normaux. Vous n'avez jamais écrit ces règles. Les exemples les portaient.
Pourquoi ça marche
Un grand modèle de langage (l'IA derrière ChatGPT, Claude et Gemini) est une machine à compléter des motifs. Quand il voit une structure claire et répétée, il la poursuit. Trois exemples dans le même format crcrLe pourcentage de visiteurs ou de prospects qui réalisent une action attendue (achat, inscription, formulaire de contact), calculé en divisant les conversions par le nombre total d'opportunités.Voir la définition complète →éent un motif fort. Le modèle recopie le format et la logique intégrée dans vos choix.
C'est pourquoi le format compte autant que le contenu. Gardez chaque exemple identique dans sa forme : mêmes labels, même espacement, même formulation pour « Message » et « Label ».
Bien choisir ses exemples
Vos exemples sont vos instructions. Choisissez-les avec soin.
Couvrez l'éventail. Incluez les cas évidents et un cas délicat. Si un message calme peut malgré tout être urgent (comme un discret « mon paiement a échoué »), faites-en précisément l'un de vos exemples. Le modèle apprend vos cas limites à partir des exemples que vous retenez.
Équilibrez vos labels. Si les trois exemples sont « urgent », le modèle aura tendance à tout qualifier d'urgent. Mélangez : deux d'un côté, un de l'autre, ou une répartition égale.
Soyez cohérent. Utilisez exactement les mêmes mots de label à chaque fois. « urgent », « Urgent » et « URGENT » ressemblent à trois catégories différentes pour une machine littérale. Choisissez-en un.
Faites court. Les exemples consomment l'espace que le modèle peut lire d'un coup (sa « context windowcontext windowLa context window est la quantité maximale de texte (mesurée en tokens) qu'un modèle de langage peut traiter en une seule fois, prompt d'entrée et sortie générée compris.Voir la définition complète → »). Trois exemples serrés valent mieux que dix exemples bavards.
L'exécuter avec du code
Si vous voulez classer des centaines de messages, vous passerez par une APIAPIApplication Programming Interface : une interface standardisée qui permet aux applications de communiquer et d'échanger des données sans connaître leur fonctionnement interne respectif.Voir la définition complète → (un moyen pour votre code de parler au modèle). Voici un exemple court et exécutable avec la librairie Python d'OpenAI. La même idée fonctionne avec Claude ou Gemini, avec d'autres noms de librairies.
from openai import OpenAI
client = OpenAI()
few_shot = """Classify each message as "urgent" or "normal".
Message: "My account got charged twice for $4,000. Fix this today."
Label: urgent
Message: "What are your holiday office hours?"
Label: normal
Message: "Third email. Reply or I'm cancelling tomorrow."
Label: urgent
Message: "{new_message}"
Label:"""
def classify(message):
prompt = few_shot.format(new_message=message)
response = client.chat.completions.create(
model="gpt-4.1-mini",
messages=[{"role": "user", "content": prompt}],
temperature=0,
)
return response.choices[0].message.content.strip()
print(classify("The app keeps crashing every time I try to pay."))Un détail à connaître : temperature=0. La température contrôle l'aléatoire. Pour la classification, vous voulez la même réponse à chaque fois, donc mettez-la à 0 pour la sortie la plus cohérente et la plus prévisible.
Si vous ne codez pas, vous n'avez pas besoin de ça. Vous pouvez faire du few-shot prompting à la main directement dans ChatGPT, Claude ou Gemini. Collez simplement vos exemples et votre nouveau message dans le chat.
Le few-shot au-delà de la classification
Cette technique ne sert pas qu'à trier. Utilisez-la chaque fois que vous voulez un format ou un style précis.
Mettre en forme des données. Montrez deux exemples de transformation d'une adresse en désordre en champs propres, et le modèle fera le reste.
Reproduire un ton. Collez deux de vos anciens e-mails comme exemples, puis demandez au modèle d'en écrire un troisième dans la même voix. Il copie votre style bien mieux que si vous le décriviez.
Extraire de l'information. Donnez deux exemples d'extraction du nom, de la date et du montant d'une facture, et le modèle comprend exactement quels champs vous voulez et comment les présenter.
Le principe est toujours le même : arrarrL'Annual Recurring Revenue (ARR) est le revenu normalisé et prévisible qu'une entreprise par abonnement attend de ses contrats actifs sur une année.Voir la définition complète →êtez de décrire, commencez à démontrer.
Pour une référence plus poussée et bien écrite sur cette technique et les techniques voisines, le Prompt Engineering Guide ouvert est gratuit et reste à jour.
🎬 [VIDEO: "Few-Shot Prompting Explained" - youtube.com - un tour d'horizon court et en langage simple du zero-shot vs few-shot, avec des exemples en direct que vous pouvez copier]
Vérification des acquis
1. Quelle est la meilleure définition du few-shot prompting ?
2. D'après la leçon, pourquoi les exemples fonctionnent-ils souvent mieux que des règles écrites pour une tâche comme la classification de messages ?
3. Pourquoi le few-shot prompting fonctionne-t-il si bien avec un grand modèle de langage ?
4. Sélectionnez TOUTES les affirmations correctes sur la distinction entre zero-shot, one-shot et few-shot prompting.
Sélectionnez toutes les réponses correctes.
5. Sélectionnez TOUTES les pratiques recommandées par la leçon pour rédiger des exemples few-shot.
Sélectionnez toutes les réponses correctes.
Quand le few-shot est superflu
Le few-shot est puissant, mais il n'est pas toujours nécessaire. Les modèles actuels en 2026 sont assez solides pour que les tâches simples fonctionnent souvent en zero-shot, sans aucun exemple. « Résume ceci en une phrase » n'a besoin d'aucune démonstration.
Sortez le few-shot quand :
- Le format est précis et vous le voulez exact à chaque fois.
- La tâche comporte des cas limites que les règles peinent à capturer.
- Vous avez besoin de cohérence sur de nombreuses exécutions (comme classer une boîte de réception entière).
- Le style ou la voix compte et est difficile à décrire.
Passez-vous-en quand la tâche est courante et évidente. Ajouter des exemples ne fait alors que gaspiller de l'espace et votre temps.
Un test rapide
Vous ne savez pas si vous avez besoin d'exemples ? Essayez d'abord en zero-shot. Si le modèle fait juste, c'est réglé. S'il dérive du format ou se trompe sur votre intention, ajoutez deux ou trois exemples pour le cadrer. Le few-shot est votre correctif quand le zero-shot est proche mais pas fiable.
Erreurs fréquentes
Des exemples incohérents. Si un exemple utilise « urgent » et un autre « priorité haute », le modèle ne sait plus quelles sont vos catégories. Faites-les correspondre exactement.
Trop peu d'exemples pour une tâche difficile. Un seul exemple peut ne pas montrer clairement le motif. Si les résultats sont instables, ajoutez-en un deuxième et un troisième avant de tenter quelque chose de plus sophistiqué.
Divulguer la réponse. Lors des tests, n'incluez pas par accident le bon label sur votre nouveau message. Laissez le Label: final vide pour que le modèle le remplisse.
Des exemples déséquilibrés qui orientent le modèle. Trois exemples « urgent » d'affilée apprennent au modèle qu'urgent est la valeur par défaut. Mélangez vos labels pour rester neutre.
À vous d'essayer
Ouvrez ChatGPT, Claude ou Gemini tout de suite. Collez ceci :
Turn each phrase into a polite, professional sentence.
Phrase: "send me the file"
Sentence: "Could you please send me the file when you have a moment?"
Phrase: "you're late"
Sentence: "I wanted to gently flag that the deadline has passed."
Phrase: "fix the bug"
Sentence:Regardez-le reproduire le ton de vos deux exemples. Changez ensuite les exemples pour les rendre décontractés et drôles, puis relancez. La sortie change en conséquence. Voilà, vous venez d'enseigner par l'exemple en moins d'une minute.
Points clés
- Montrez, ne décrivez pas. Deux ou trois exemples dans un format cohérent valent généralement mieux qu'un paragraphe de règles.
- Vos exemples sont vos instructions. Couvrez l'éventail, incluez un cas délicat et équilibrez vos labels pour que le modèle reste neutre.
- Gardez un format identique sur chaque exemple : mêmes labels, même espacement, même formulation. L'incohérence perturbe le modèle.
- Essayez d'abord le zero-shot. N'ajoutez des exemples que si le modèle dérive du format ou se trompe sur votre intention.
- Mettez la température à 0 pour la classification et toute tâche où vous voulez la même réponse à chaque fois.
À faire, tiré de cette leçon
Ces actions sont compilées dans le plan d'action du rôle.
- Fournissez deux ou trois exemples traités de manière cohérente pour les formats délicats
Articles liés
Les articles récents du blog qui s'appuient sur cette leçon.
- IAComment McKinsey a structuré ses prompts pour industrialiser l'usage des LLMsMcKinsey a déployé des patterns de prompts standardisés pour que ses équipes obtiennent des résultats fiables des LLMs à grande échelle. Voici la mécanique concrète, ce qu'elle produit, et ce que vous pouvez en extraire pour votre propre contexte.
- IAPrompt engineering : ce que les professionnels font mal (et comment corriger ça)La majorité des utilisateurs d'IA en entreprise obtiennent des résultats médiocres non pas à cause de l'outil, mais à cause de la façon dont ils formulent leurs demandes. Voici ce qui distingue un prompt qui travaille pour vous d'un prompt qui vous fait perdre du temps.
- IAPrompts mal rédigés : ce que ça coûte vraiment en temps et en qualitéUn prompt flou génère une réponse floue, et corriger cette réponse prend souvent plus de temps qu'écrire un bon brief dès le départ. Voici comment structurer ses instructions pour que ChatGPT, Claude ou Gemini produisent des résultats utilisables du premier coup.