Aller au contenu
WorkflowPro
IA générative

Prompt engineering pour workflows : 7 patterns qui marchent

7 patterns de prompt engineering testés sur des workflows n8n et Make en production. Extraction, classification, agents : ce qui marche vraiment.

EA

Etienne Aubry

Développeur & Expert Automatisation IA

· · 10 min de lecture · 1884 mots
Écran d'éditeur affichant un prompt structuré pour un workflow IA
Écran d'éditeur affichant un prompt structuré pour un workflow IA

Le prompt engineering n’est pas une mode passagère. C’est devenu en 2026 une compétence cœur pour tout freelance qui automatise des process avec un LLM. Pourtant, je vois encore des workflows partir en production avec des prompts du type “Analyse ce document et donne-moi les infos importantes”. Résultat : 60 % de hallucinations, des coûts API qui explosent, et des clients déçus par les promesses de l’IA.

Dans cet article, je partage les 7 patterns que j’utilise dans 100 % de mes workflows IA en production chez mes clients (PME, e-commerce, agences). Chaque pattern est illustré par un exemple concret testé en 2026 sur Claude et GPT-5. À la fin, tu sauras transformer un prompt vague en machine à résultats déterministes.

Pourquoi les prompts naïfs échouent en production

Un prompt qui fonctionne dans ChatGPT à 14h un mardi avec ton compte personnel ne fonctionnera pas de la même façon dans un workflow Make ou n8n qui s’exécute 500 fois par jour. Pour trois raisons.

Premièrement, la variabilité des entrées. Quand tu testes manuellement, tu prends un exemple propre. En production, tu reçois des emails mal formatés, des PDFs scannés à l’envers, des données client avec des virgules au lieu des points-virgules. Ton prompt doit être robuste à cette variabilité.

Deuxièmement, le coût marginal. Un prompt mal optimisé qui consomme 4000 tokens là où 1000 suffiraient, sur 500 exécutions par jour, c’est 1.5 million de tokens superflus par jour. Avec Claude Sonnet à 3 $/M de tokens, ça représente 135 €/mois en pure perte.

Troisièmement, la lisibilité de la sortie. En interactif, tu lis un texte en prose, ça va. En workflow, tu dois parser cette sortie pour la passer au module suivant. Si le LLM répond parfois “Le client souhaite annuler” et parfois “Annulation détectée”, ton workflow plante un jour sur deux.

Ces trois problèmes ont la même solution : appliquer des patterns éprouvés.

Pattern 1 : la structure XML pour cadrer le prompt

Les LLM modernes (Claude en particulier, mais GPT-5 aussi) sont entraînés à reconnaître des balises XML qui structurent le contexte. Au lieu d’écrire un bloc de texte continu, segmente ton prompt :

<role>Tu es un assistant comptable qui extrait des données de factures.</role>

<contexte>L'entreprise est française, soumise à la TVA, exercice 2026.</contexte>

<facture>
{{1.text_content}}
</facture>

<consigne>
Extrait les champs suivants au format JSON :
- numero_facture
- date_emission (format YYYY-MM-DD)
- montant_ht (nombre)
- montant_tva (nombre)
- montant_ttc (nombre)
- fournisseur (string)
</consigne>

Cette structuration a trois effets immédiats : le modèle distingue clairement ce qui est instruction de ce qui est données, il sait quoi extraire, et tu peux modifier chaque section indépendamment quand tu itères. C’est le pattern numéro un à adopter même si tu ne devais en retenir qu’un.

Pattern 2 : few-shot avec 2-3 exemples ciblés

Le few-shot consiste à montrer au modèle 2-3 exemples avant la vraie question. Ça améliore la précision de 15 à 30 % sur les tâches structurées. Mais attention : plus n’est pas mieux. Au-delà de 5 exemples, le gain marginal devient négatif (et tu payes les tokens).

Exemple pour une classification d’email :

<exemples>
Email : "Bonjour, comment puis-je modifier mon mot de passe ?"
Catégorie : compte_utilisateur

Email : "Je n'ai pas reçu ma commande #4521, où en est ma livraison ?"
Catégorie : suivi_commande

Email : "Pouvez-vous me faire un devis pour 50 unités ?"
Catégorie : demande_devis
</exemples>

<email_a_classifier>
{{1.email_body}}
</email_a_classifier>

<consigne>Réponds uniquement par le nom de la catégorie, sans guillemets ni ponctuation.</consigne>

Critère de qualité des exemples : ils doivent être représentatifs de la diversité réelle, et inclure les cas limites. Si 20 % de tes emails sont mixtes (plusieurs intents), inclus un exemple mixte avec ta règle de désambiguïsation.

Pattern 3 : output schema strict

Pour les workflows, la sortie doit être parsable. Trois approches en 2026 :

  1. JSON Schema strict (GPT-5 avec response_format, Claude avec Tools)
  2. Demande explicite (“Réponds en JSON valide, sans markdown, sans backticks”)
  3. Délimiteurs uniques (“Encadre ta réponse JSON entre <<< et >>>”)

L’option 1 est la plus fiable. Configure dans ton appel API le schéma exact :

{
  "type": "object",
  "properties": {
    "categorie": { "type": "string", "enum": ["spam", "support", "vente", "autre"] },
    "urgence": { "type": "integer", "minimum": 1, "maximum": 5 },
    "resume": { "type": "string", "maxLength": 200 }
  },
  "required": ["categorie", "urgence", "resume"],
  "additionalProperties": false
}

Cette contrainte au niveau de l’API garantit que tu reçois toujours un JSON valide avec exactement ces clés. Plus de parsing fragile, plus d’erreur “categorie n’est pas dans la liste”. Un gain énorme en stabilité de workflow.

Si tu veux passer à l’échelle avec ce niveau de rigueur, c’est exactement ce qu’on installe dans une architecture complète d’automatisation pour assurer un taux d’erreur sous les 0.5 %.

Pattern 4 : chain of thought caché

Le chain of thought (CoT) consiste à demander au modèle de “réfléchir étape par étape” avant de répondre. Ça améliore la précision sur les tâches complexes de 10 à 25 points. Mais en workflow, tu ne veux pas que la sortie contienne ce raisonnement (tu veux juste le résultat final).

Pattern :

<consigne>
1. Réfléchis étape par étape à l'intérieur de balises <reflexion>...</reflexion>
2. Après ta réflexion, donne ta réponse finale uniquement dans <reponse>...</reponse>
</consigne>

Côté code, tu extrais ensuite la balise <reponse> avec une regex simple. Le modèle a réfléchi, tu profites de la précision, mais tu n’as que le résultat final dans ton workflow.

Variante avancée : utiliser les modes “extended thinking” (Claude) ou “reasoning” (GPT-5 o-series). Ces modes activent un raisonnement interne automatique. Tu n’as pas à le gérer dans ton prompt, l’API te retourne directement la réponse fine. C’est plus cher mais souvent rentable sur les tâches à forte valeur.

Pattern 5 : self-validation pour les tâches critiques

Sur les tâches à fort enjeu (extraction comptable, conseil juridique, médical), tu peux ajouter un step de self-validation. Le modèle vérifie sa propre sortie avant de la finaliser.

<consigne>
Étape 1 : Extrait les données demandées.
Étape 2 : Vérifie que tous les champs requis sont remplis.
Étape 3 : Vérifie que les valeurs numériques sont cohérentes (montant_ttc = montant_ht + montant_tva).
Étape 4 : Si une incohérence est détectée, mets "needs_review": true et explique pourquoi.
</consigne>

Tu obtiens en sortie soit un JSON propre, soit un signal needs_review qui déclenche un routage vers une revue humaine dans ton workflow. C’est la base d’une boucle d’amélioration continue : tu collectes les cas review, tu les analyses, tu ajustes le prompt ou tu ajoutes un exemple few-shot.

Sur un client e-commerce, ce pattern a permis de passer d’un taux d’erreur de 4 % à 0.3 % sur l’extraction de commandes, en n’envoyant que 8 % des cas à la revue humaine. ROI massif.

Pattern 6 : decomposition de tâche complexe

Plutôt qu’un méga-prompt qui fait tout, décompose en plusieurs appels LLM successifs. Trois petits prompts spécialisés coûtent souvent moins cher qu’un gros prompt confus, et la précision globale est meilleure.

Exemple pour un workflow “réponse automatique au support” :

  1. Prompt 1 - Classification : déterminer le type de demande (modèle léger Haiku/nano)
  2. Prompt 2 - Extraction : extraire les infos pertinentes (numéro commande, date, problème)
  3. Prompt 3 - Génération : rédiger une réponse personnalisée avec la base de connaissances

Avantages : chaque prompt est testable individuellement, tu peux changer de modèle selon l’étape (Haiku pour les étapes 1-2, Sonnet pour l’étape 3), et tu peux paralléliser si possible. Pour bien comprendre comment articuler plusieurs modèles dans un workflow IA, lis Claude vs GPT-4 : comparatif 2026.

Inconvénient : la latence cumulée. Trois appels à 2 secondes = 6 secondes total. Si la fluidité est critique (chatbot temps réel), reviens à un seul appel avec un modèle plus puissant.

Pattern 7 : prompt versioning et A/B testing

Un prompt en production n’est jamais figé. Il doit évoluer avec :

  • Les nouveaux cas qui apparaissent dans les données réelles
  • Les changements de modèle (passage de Sonnet 4 à 4.5)
  • L’évolution des besoins métier

Mets en place un système de versioning : chaque prompt a un numéro de version stocké en base ou en variable d’environnement. Quand tu changes le prompt, tu incrémentes la version, et tu peux A/B tester avec un router qui envoie 90 % du trafic vers v1 et 10 % vers v2.

Pour mesurer la qualité, instrumente trois métriques :

  • Taux d’erreur de parsing (la sortie est-elle un JSON valide ?)
  • Taux de fallback humain (combien de cas finissent en revue manuelle ?)
  • Coût moyen par exécution (tokens consommés)

Une simple Google Sheet ou base Airtable peut te servir de tableau de bord. C’est le minimum vital pour piloter un workflow IA en production sérieuse. Tu peux mettre en place ce pipeline d’observabilité dans le cadre d’un système de 3 workflows avec un workflow dédié au monitoring.

Bonus : 5 anti-patterns à éviter absolument

Avant de conclure, voici cinq erreurs que je vois chaque semaine :

Mettre toute la doc dans le prompt

Si ta base de connaissances fait 50 pages, ne la colle pas dans chaque appel. Utilise du RAG (Retrieval-Augmented Generation) : tu indexes ta doc, et pour chaque question tu ne sélectionnes que les 3-5 passages pertinents. Ça divise tes coûts par 20 et améliore la précision.

Utiliser un langage flou

“Donne-moi un résumé pertinent” : le modèle interprète “pertinent” à sa façon. Préfère “Résume en 3 phrases maximum, en français, en gardant uniquement les chiffres et les noms propres”.

Mettre la consigne après les données

Quand un document fait 3000 tokens, le modèle peut “oublier” la consigne du début. Mets toujours la consigne après les données, juste avant de demander la sortie. Le modèle l’aura fraîche en mémoire.

Tester avec un seul exemple

Un prompt qui marche sur ton premier essai peut casser sur les 10 suivants. Constitue un dataset de test de 20-50 exemples représentatifs, et fais tourner ton prompt à chaque modification.

Oublier la température

Pour les tâches déterministes (extraction, classification), mets toujours temperature: 0. Le modèle sera plus cohérent et reproductible. Pour la génération créative, monte à 0.5-0.7.

Conclusion : le prompt engineering est une compétence à part entière

En 2026, savoir prompter un LLM dans un workflow professionnel est devenu aussi crucial que savoir écrire une formule Excel. Les sept patterns présentés ici couvrent 90 % des cas d’usage que je rencontre chez mes clients PME et e-commerce. Le secret n’est pas dans un super-prompt magique, mais dans une démarche méthodique : structure, exemples, validation, mesure, itération.

Si tu débutes, commence par les patterns 1, 2 et 3 (XML, few-shot, output schema). À eux seuls, ils transforment un prompt brouillon en outil fiable. Les patterns 4 et 5 sont à activer quand tu vises la précision maximale. Les patterns 6 et 7 sont pour la mise à l’échelle.

Tu veux structurer tes prompts pour un workflow IA précis ? Réserve un audit gratuit : on regarde ton cas, je te livre une bibliothèque de prompts adaptés à ton métier et un guide d’implémentation dans Make ou n8n. Tu peux aussi commencer par intégrer Claude dans n8n pour mettre tout ça en pratique immédiatement.

Partager cet article

Décrivez votre besoin en 2 min, je vous réponds sous 4 h

Audit gratuit · Pas de relance commerciale · Vous repartez avec un plan d'action utilisable.