Si vous avez déjà essayé de condenser un projet entier en un seul prompt—exigences → solution → plan → risques → document final—vous savez déjà comment cela se termine :
Le Chaînage de prompts est la solution. Considérez-le comme la construction d'un flux de travail où chaque prompt est une station sur une chaîne de montage : une étape entrante, une étape sortante, et la sortie devient l'entrée de la station suivante.
En d'autres termes : vous ne demandez pas à un LLM de tout faire « d'un coup ». Vous lui demandez de faire une chose à la fois, de manière fiable.
Le Chaînage de prompts est la pratique consistant à :
C'est essentiellement la « mentalité microservices » appliquée au raisonnement LLM.
| Dimension | Prompt unique | Chaînage de prompts | |----|----|----| | Complexité | Bon pour les tâches simples et ponctuelles | Conçu pour des flux de travail réels en plusieurs étapes | | Logique | Le modèle devine le processus | Vous définissez le processus | | Contrôle | Difficile à orienter | Chaque étape est orientable | | Débogage | « Où est-ce que ça a mal tourné ? » | Vous pouvez identifier l'étape défaillante | | Limites de contexte | Facile à déborder | Alimenter les données progressivement, étape par étape |
Les LLM ne sont pas très doués pour jongler avec plusieurs objectifs simultanément.
Demandez : « Analyser les exigences, proposer des fonctionnalités, estimer l'effort, prioriser, puis rédiger un plan »—et vous avez mis en place un problème d'optimisation multi-objectifs. Le modèle fera généralement un travail correct sur un objectif et sous-performera discrètement sur le reste.
Le Chaînage de prompts réduit la charge cognitive : une étape → une sortie → un critère de réussite.
Au cœur du système, le Chaînage de prompts est une boucle :
Voici une chaîne simple que vous pouvez visualiser :
flowchart LR A[Retour brut de l'utilisateur] --> B[Prompt 1 : Extraire les points de douleur] B --> C[Prompt 2 : Proposer des fonctionnalités] C --> D[Prompt 3 : Prioriser & estimer l'effort] D --> E[Prompt 4 : Rédiger un plan d'itération]
Mauvais : « Extraire les points de douleur et concevoir des fonctionnalités » Bon : L'étape 1 extrait les points de douleur ; L'étape 2 conçoit des fonctionnalités basées sur eux.
Le texte libre est fragile. Le prompt suivant peut le mal lire, le réinterpréter ou l'ignorer.
Utilisez des formats structurés comme JSON, des tableaux, ou des listes à puces avec des clés fixes.
Exemple (JSON que vous pouvez réellement analyser) :
{ "pain_points": [ {"category": "performance", "description": "Le paiement prend > 8 secondes", "mentions": 31}, {"category": "ux", "description": "Bouton de remboursement difficile à trouver", "mentions": 18}, {"category": "reliability", "description": "Le paiement échoue sans erreur", "mentions": 12} ] }
Ne présumez pas que le modèle « se souviendra de ce que vous vouliez dire ». Dans le prompt suivant, référez-vous explicitement à la sortie précédente :
Chaque chaîne a besoin d'un « portail de qualité » :
Utilisez-le quand : le flux de travail est prévisible.
Disons que vous avez une exportation CSV d'une boutique e-commerce UK et vous voulez :
Étape 1 — Prompt de nettoyage de données (produit un tableau propre ou JSON)
SYSTEM: Vous êtes un analyste de données. Suivez exactement les instructions. USER: Nettoyez le jeu de données ci-dessous. Règles : 1) Supprimez les lignes où revenue_gbp ou units_sold est null. 2) Marquez les valeurs aberrantes dans revenue_gbp : > 3x moyenne de catégorie OU < 0,1x moyenne de catégorie. Ne les supprimez pas. 3) Ajoutez month_over_month_pct : (ce_mois - dernier_mois) / dernier_mois * 100. 4) Sortie en tableau JSON uniquement. Chaque élément doit avoir : date, category, revenue_gbp, units_sold, region_uk, outlier_flag, month_over_month_pct Jeu de données : <COLLER LES DONNÉES ICI>
Étape 2 — Prompt d'insights (produit des insights à puces)
SYSTEM: Vous êtes un analyste senior écrivant pour un public de direction UK. USER: En utilisant le JSON nettoyé ci-dessous, produisez des insights : 1) Catégorie : Top 3 par revenue_gbp, et Top 3 par month_over_month_pct. Incluez la contribution en %. 2) Région : Top 2 régions par revenu, et plus forte baisse (>10%). 3) Tendance : Tendance générale (hausse/baisse/volatile). Expliquez la relation revenu vs unités. Format de sortie : - Insights de catégorie : 2-3 puces - Insights de région : 2-3 puces - Insights de tendance : 2-3 puces JSON nettoyé : <COLLER LA SORTIE DE L'ÉTAPE-1>
Étape 3 — Prompt de rédaction de rapport (produit le document final)
SYSTEM: Vous rédigez des rapports internes concis. USER: Transformez les insights ci-dessous en un « Résumé mensuel des revenus » (800–1 000 mots). Structure : 1) Aperçu exécutif (1 court paragraphe) 2) Insights clés (Catégorie / Région / Tendance) 3) Recommandations (2–3 éléments actionnables) 4) Clôture (1 court paragraphe) Utilisez le formatage GBP (£) et l'orthographe UK. Insights : <COLLER LA SORTIE DE L'ÉTAPE-2>
Les chaînes linéaires sont ennuyeuses de la meilleure façon : elles sont prévisibles, automatisables et faciles à tester.
Utilisez-le quand : l'étape suivante dépend d'une décision (type, gravité, intention).
L'étape 1 classifie le message :
SYSTEM: Vous classifiez les messages clients. Ne sortez que l'étiquette. USER: Classifiez ce message comme l'un des : - complaint - suggestion - question Format de sortie : label: <l'un des trois> Message: "Ma commande a été facturée mais n'est jamais arrivée, et personne n'a répondu à mes emails. C'est ridicule."
Ensuite vous branchez :
Gestionnaire de plainte (exemple) :
SYSTEM: Vous êtes un responsable des opérations clients. USER: Créez un plan de traitement de plainte pour le message ci-dessous. Inclure : 1) Énoncé du problème 2) Actions : dans 1 heure, dans 24 heures, dans 48 heures 3) Suggestion de compensation (raisonnable pour l'e-commerce UK) Sortie en trois sections avec puces. Message : <COLLER LE MESSAGE>
Les chaînes par branches sont la façon dont vous cessez de traiter chaque entrée comme le même problème.
Utilisez-le quand : vous devez traiter de nombreux éléments similaires, ou affiner la sortie de manière itérative.
L'étape 1 divise une liste en blocs d'éléments :
SYSTEM: Vous formatez les données produits. USER: Divisez la liste de produits suivante en blocs séparés. Format de sortie (répéter pour chaque élément) : [ITEM N] name: key_features: target_customer: price_gbp: Liste de produits : <COLLER LA LISTE>
L'étape 2 boucle sur chaque bloc :
SYSTEM: Vous rédigez du contenu produit à forte conversion. USER: Rédigez une description e-commerce pour le produit ci-dessous. Exigences : - Titre accrocheur ≤ 12 mots - 3 puces de fonctionnalités (≤ 18 mots chacune) - 1 phrase : idéal pour qui - 1 phrase : pourquoi c'est un bon rapport qualité-prix (utilisez £) - 150–200 mots au total, anglais UK Produit : <COLLER L'ITEM N>
Les chaînes en boucle nécessitent des règles d'arrêt strictes :
Sinon vous créerez la boucle infinie la plus coûteuse du monde.
Solution : rendre le formatage non négociable.
Ajoutez des lignes comme :
Solution : reformuler explicitement le « contrat » à chaque fois.
pain_points de la sortie précédente. »Solution : définir des contraintes mesurables + max de tentatives.
Solution : améliorer les règles de classification + ajouter une seconde vérification.
Exemple :
Vous pouvez chaîner les prompts manuellement (copier/coller fonctionne), mais les outils aident une fois que vous dépassez quelques étapes.
Le Chaînage de prompts devient encore plus puissant lorsque vous le combinez avec :
Le Chaînage de prompts n'est pas « plus de prompts ». C'est de la conception de flux de travail.
Une fois que vous commencez à traiter les prompts comme des étapes avec des contrats, des validations et des chemins d'échec, votre LLM cesse de se comporter comme un générateur de texte chaotique et commence à agir comme un coéquipier fiable—une station à la fois.
Si vous construisez quoi que ce soit au-delà d'une démo ponctuelle, chaînez-le.
\


