Les termes « zero-shot » et « few-shot » viennent de la tradition de recherche en apprentissage automatique, où « shot » désigne un exemple d'entraînement. En apprentissage automatique classique, il fallait des milliers ou millions d'exemples étiquetés pour enseigner une nouvelle tâche à un modèle. La révélation avec les grands modèles de langage a été qu'ils pouvaient accomplir des tâches avec zéro exemple d'entraînement (zero-shot) ou juste quelques démonstrations dans le prompt (few-shot). C'est ce qu'on appelle l'« apprentissage en contexte », et cela reste l'une des capacités les plus remarquables des LLM modernes — le modèle n'est pas réentraîné ou ajusté quand vous lui donnez des exemples dans le prompt. Il reconnaît des patrons dans son contexte et les applique à la volée.
Le zero-shot fonctionne le mieux quand la tâche correspond clairement à quelque chose que le modèle a vu abondamment pendant l'entraînement. L'analyse de sentiment, la traduction, le résumé, la classification simple — ce sont des tâches que le modèle a rencontrées dans des millions de variantes pendant le pré-entraînement, donc une instruction claire suffit souvent. « Classifiez cet avis client comme positif, négatif ou neutre » fonctionnera en zero-shot sur n'importe quel modèle de pointe moderne parce que le modèle comprend profondément ce que signifient la classification, le sentiment et ces étiquettes. Là où le zero-shot échoue, c'est sur les tâches avec des formats inhabituels, des conventions spécifiques au domaine ou des exigences ambiguës. Si vous avez besoin que le modèle produise des données dans le schéma XML propriétaire de votre entreprise, une instruction simple ne suffira pas.
Le prompting few-shot comble ce fossé. En fournissant 2 à 5 exemples entrée-sortie avant la requête réelle, vous montrez au modèle exactement ce que vous attendez. Le modèle repère le patron — le format, le niveau de détail, le style, la gestion des cas limites — et l'applique à la nouvelle entrée. C'est remarquablement puissant pour les tâches structurées. Besoin d'extraire des entités d'un texte désordonné dans un format JSON spécifique ? Montrez trois exemples de texte désordonné transformé en JSON propre, puis donnez le nouveau texte. Besoin de convertir des dates en langage naturel (« mardi prochain », « la deuxième semaine de mars ») en ISO 8601 ? Trois exemples vous amèneront à 95 % du chemin. Le modèle apprend essentiellement une fonction à partir de vos exemples, et il le fait au moment de l'inférence sans aucune mise à jour de gradient.
La qualité de vos exemples few-shot compte plus que la quantité. Trois exemples soigneusement choisis qui couvrent différents cas limites surpasseront dix exemples répétitifs. Si votre tâche implique des catégories, incluez au moins un exemple par catégorie. S'il y a des cas limites délicats, incluez-en un. Et l'ordre des exemples peut compter — la recherche a montré que les modèles peuvent être biaisés vers l'étiquette du dernier exemple qu'ils voient, donc mélanger ou équilibrer vos exemples vaut la peine. Un conseil pratique : incluez un exemple de ce que le modèle devrait faire quand l'entrée est ambiguë ou ne correspond à aucune catégorie, parce que ce cas limite survient constamment en production et un modèle non guidé devinera simplement.
Il y a un compromis coût-qualité à considérer. Chaque exemple few-shot consomme des tokens de votre fenêtre de contexte et ajoute à vos coûts API. Cinq exemples de 200 tokens chacun font 1 000 tokens par requête, ce qui s'accumule à grande échelle. Certaines équipes commencent avec le prompting few-shot pendant le développement, mesurent quels exemples améliorent réellement les résultats, puis essaient de distiller le patron en une instruction zero-shot plus claire. D'autres utilisent la sélection few-shot dynamique — stocker une bibliothèque d'exemples dans une base de données et récupérer les plus pertinents pour chaque entrée spécifique, ce qui est essentiellement une forme légère de RAG appliquée à l'ingénierie de prompt. Le point idéal dépend de la complexité de votre tâche, de votre volume, et de si la cohérence ou le coût importe le plus pour votre cas d'utilisation.