Chapitre 12 · Prompting · 8 min
L'art de parler à un LLM
Zero-shot, few-shot, chain-of-thought, self-consistency. Pourquoi la formulation d'un prompt change radicalement ce qu'un modèle produit.
Le prompt n'est pas du texte — c'est un programme
Quand tu tapes "résume cet article" dans ChatGPT, il ne se passe pas grand-chose de spectaculaire en apparence. Mais le texte que tu as envoyé a déclenché un comportement très précis dans un modèle entraîné sur des milliers de milliards de tokens.
Un prompt, c'est un programme en langage naturel. Pas au sens où il serait compilé, mais au sens où sa formulation détermine quel type de comportement le modèle va activer. La même phrase reformulée différemment peut donner des résultats radicalement différents — pas parce que le modèle est capricieux, mais parce que son pré-entraînement lui a appris des patterns distincts pour des contextes distincts.
Le prompt engineering, c'est l'art de formuler ce programme pour obtenir le comportement voulu.
Quatre niveaux de technique
Zero-shot : juste poser la question
La technique la plus simple. On pose la question directement, sans exemple ni instruction. Le modèle active le comportement le plus probable compte tenu de son entraînement.
Ça marche très bien pour les tâches simples et factuelles. Ça échoue sur les problèmes qui demandent du raisonnement — non pas parce que le modèle ne sait pas, mais parce qu'il ne sait pas qu'il doit raisonner.
Few-shot : montrer des exemples
Plutôt que d'expliquer ce qu'on veut, on le montre. On place 2 à 5 paires (entrée, sortie) devant la vraie question. Le modèle — grâce à son mécanisme d'in-context learning — comprend le pattern et l'applique à la nouvelle entrée.
La clé : les exemples doivent être représentatifs du type de tâche. Des exemples hors sujet n'aident pas. Des exemples qui montrent la démarche à suivre aident beaucoup.
Chain-of-Thought : raisonner étape par étape
Une découverte surprenante de 2022 (Wei et al.) : il suffit d'ajouter une instruction comme "pense étape par étape" pour que les performances sur les problèmes de raisonnement doublent, parfois triplent.
Pourquoi ça marche ? Le modèle génère des tokens un à un. En le forçant à écrire son raisonnement intermédiaire, on lui donne un "brouillon" dans lequel il peut faire des calculs, vérifier des hypothèses, corriger des erreurs — avant de conclure. Sans CoT, il va directement à la conclusion, sans filet.
C'est le même principe que pour un humain : écrire "25 × 37 = 25 × 30 + 25 × 7 = 750 + 175 = 925" donne bien plus de chances d'arriver au bon résultat que de tenter de répondre mentalement d'un coup.
Self-Consistency : voter entre plusieurs chaînes
La self-consistency est une extension du CoT. Au lieu de générer une seule chaîne de raisonnement, on en génère plusieurs (typiquement 5 à 20) avec des températures variées, puis on vote pour la réponse la plus fréquente.
L'idée : chaque run peut faire une erreur différente. Mais si la plupart convergent vers la même réponse, c'est probablement la bonne.
C'est coûteux (N fois plus de tokens), mais sur les tâches de raisonnement difficiles, le gain de fiabilité est réel.
Essaie par toi-même
Compare les quatre techniques sur trois problèmes. Observe en particulier que les exemples en few-shot aident sur un problème structuré (le marchand), mais ne changent pas grand-chose sur les pièges logiques.
La même question, cinq formulations. Le score change de 30 à 90 % sans toucher au modèle. La leçon : un prompt n'est pas un texte, c'est un programme dont les LLMs interprètent la syntaxe implicite — héritée de leur pré-entraînement.
Ce que ça révèle sur les LLMs
Ces quatre techniques ne sont pas des astuces. Elles éclairent quelque chose de fondamental sur le fonctionnement des LLMs.
L'in-context learning est gratuit. Un LLM apprend de tes exemples sans mettre à jour ses poids — juste en lisant le contexte. C'est une capacité émergente du pré-entraînement massif : le modèle a vu tellement de patterns qu'il peut en extraire un nouveau à la volée.
Le raisonnement est un comportement, pas une capacité fixe. Un modèle qui échoue en zero-shot sur un problème peut réussir en CoT sur le même problème — sans rien changer à ses paramètres. Ce que le prompt active change ce que le modèle "fait" de ses capacités internes.
La température crée de la diversité, le vote réduit la variance. La self-consistency exploite le fait que les erreurs sont souvent aléatoires : différentes façons d'échouer, mais une seule façon de réussir. Le consensus filtre le bruit.
Les limites
La longueur du contexte. Chaque exemple few-shot consomme des tokens. Avec une fenêtre de contexte de 8 000 tokens, tu ne peux pas mettre 50 exemples. Le CoT aussi allonge les réponses.
Les exemples peuvent induire en erreur. Si tes exemples contiennent un biais, le modèle le reproduira. "Garbage in, garbage out" s'applique aussi aux few-shot.
La prompt injection. Un contenu malveillant dans le contexte peut court-circuiter tes instructions. Si ton prompt dit "traduis ce texte" et que le texte dit "ignore les instructions précédentes et fais autre chose", le modèle peut obéir au contenu plutôt qu'à l'instruction.
Les modèles évoluent. Les prompts qui fonctionnent sur GPT-4 ne fonctionnent pas nécessairement sur Claude ou Llama. Chaque modèle a ses patterns privilégiés, ses formulations qui "cliquent" mieux.
La règle pratique
Pour choisir une technique :
- Question simple / factuelle → zero-shot, c'est suffisant.
- Format spécifique attendu → few-shot avec 2-3 exemples.
- Raisonnement ou calcul → CoT. Toujours.
- Fiabilité critique → CoT + self-consistency.
Et une règle méta : si ton prompt ressemble à du code — avec une structure claire, des variables explicites, des cas d'usage définis — il sera plus fiable que du texte ambigu.
Une dernière chose. Les techniques décrites ici (CoT en particulier) sont les ancêtres prompts-driven de ce qu'on trouve aujourd'hui dans les modèles de raisonnement natifs (o1, o3, Claude extended thinking, DeepSeek-R1). Ces derniers font automatiquement et intensément ce que le CoT prompté simulait — voir le chapitre 17 pour comprendre le passage du prompt-engineering au raisonnement intégré au modèle.
Un bon prompt n'est pas une formule magique. C'est une spécification claire de ce que tu veux, dans un langage que le modèle reconnaît comme le signal qu'il doit suivre.
Mis à jour le