tadata
← Retour à l'accueil

Prompt Engineering : Patterns Systematiques pour des Sorties LLM Fiables

#artificial-intelligence#llm#prompt-engineering#best-practices

Le prompt engineering n'est plus du bricolage ad hoc -- c'est devenu une discipline avec des patterns reproductibles, des cadres d'évaluation et des stratégies d'optimisation systématiques. Cet article catalogue les techniques fondamentales, les associe aux cas d'usage et fournit un cadre pour choisir la bonne approche.

Taxonomie des Techniques

tadata
  • Prompting de base
    • Zero-shot — instruction directe, sans exemples
    • Few-shot — 2 à 5 exemples qui montrent la sortie souhaitée
    • System prompting — définition du rôle et du comportement
  • Amélioration du raisonnement
    • Chain-of-Thought (CoT) — « Réfléchis étape par étape »
    • Tree-of-Thought (ToT) — explorer plusieurs chemins de raisonnement
    • Self-consistency — échantillonner plusieurs chemins CoT, vote majoritaire
    • Step-back prompting — abstraire avant de résoudre
  • Patterns d'agent
    • ReAct — raisonner et agir en étapes alternées
    • Reflexion — s'auto-évaluer et réessayer
    • Plan-and-execute — planifier d'abord, exécuter ensuite
    • Utilisation d'outils — router vers des outils / API externes
  • Contrôle de la sortie
    • Sortie structurée — application d'un schéma JSON / XML
    • Génération contrainte — contraintes basées sur une grammaire
    • Parsing de la sortie — post-traitement avec validation
  • Optimisation
    • Chaînage de prompts — découper une tâche complexe en sous-tâches
    • Méta-prompting — utiliser le LLM pour générer / affiner les prompts
    • Style DSPy — optimisation programmatique des prompts
Techniques de prompt engineering
tadata
Vague prompt ✗ 'Summarise this contract.' ✗ no reader, no length, no format ✗ contract pasted after the question ✗ nothing about missing information Engineered prompt ✓ role: contracts analyst for a French SME ✓ contract in <contract> tags, placed first ✓ task: 5 bullets for a non-lawyer CEO, risksfirst ✓ 'If a term is absent, write not stated';cite clause numbers role, data, task,format, criteria
Vague prompt ✗ 'Summarise this contract.' ✗ no reader, no length, no format ✗ contract pasted after the question ✗ nothing about missing information Engineered prompt ✓ role: contracts analyst for a French SME ✓ contract in <contract> tags, placed first ✓ task: 5 bullets for a non-lawyer CEO, risksfirst ✓ 'If a term is absent, write not stated';cite clause numbers role, data, task,format, criteria
La même demande, réécrite avec des techniques de prompt engineering

Extrait de la fiche « Prompt Engineering » · Demander la fiche complète

Tableau Comparatif des Patterns

TechniqueComplexitéImpact LatenceImpact CoûtGain FiabilitéTier Modèle
Zero-ShotFaibleAucunMinimalBaselineTout
Few-ShotFaibleMinimal (+tokens)Faible+15-30%Tout
Chain-of-ThoughtFaible+30-50%+30-50%+20-40% raisonnementMoyen+
Self-ConsistencyMoyen3-5x (parallele)3-5x+10-20% vs CoTMoyen+
ReActEleveVariable (appels outils)VariableEleve pour tâches outilsLarge
Sortie StructureeFaibleMinimalMinimalEleve pour le parsingTout
Chainage de PromptsMoyenAdditif par étapeAdditifEleve pour tâches complexesTout
tadata
1 Extract clauses to JSON (T = 0,schema-constrained) 2 Classify risk level per clause,with the reason 3 Draft summary for the CEOfrom the JSON only 4 Check second call verifieseach claim against thecontract 5 Format email in the housetemplate
1 Extract clauses to JSON (T = 0,schema-constrained) 2 Classify risk level per clause,with the reason 3 Draft summary for the CEOfrom the JSON only 4 Check second call verifieseach claim against thecontract 5 Format email in the housetemplate
Prompt chaining pour une revue de contrat : chaque appel est petit, testable et peut utiliser son propre modèle et sa propre température

Extrait de la fiche « Prompt Engineering » · Demander la fiche complète

Matrice de Decision : Cas d'Usage vers Technique

Cas d'UsageTechnique RecommandeeAlternativeA Eviter
ClassificationFew-ShotZero-Shot + exemples systèmeCoT (excessif)
RésuméZero-Shot + contraintesFew-Shot avec exemples de styleSelf-Consistency
Génération de codeFew-Shot + Sortie StructureeCoT pour logique complexeZero-Shot pour complexe
Math/raisonnementCoT + Self-ConsistencyTree-of-ThoughtZero-Shot
Extraction de donnéesFew-Shot + Sortie StructureeChainage de PromptsSortie non structurée
Recherche multi-étapesReAct / Plan-and-ExecuteChainage de PromptsTir unique
Ecriture creativeSystem prompt + contraintesFew-Shot pour le styleSur-contraindre
Aide a la decisionCoT + Sortie StructureeTree-of-ThoughtZero-Shot

Anti-Patterns a Eviter

tadata
Anti-patternCe qui se passeCorrection
Bourrage de promptTrop de contexte → le modèle perd le filPrioriser, résumer, utiliser le RAG
Surcharge d'instructionsPlus de 20 règles dans le system prompt → contradictionsInstructions hiérarchisées, tester chaque règle
Contamination des exemplesLes exemples few-shot orientent vers des patterns étroitsExemples variés, inclure les cas limites
Format de sortie ambigu« Renvoie des données structurées » sans schémaFournir un schéma JSON explicite ou un exemple
Ignorer les forces du modèleUtiliser le CoT là où le zero-shot suffitCommencer simple, n'ajouter de la complexité que si nécessaire
Pas de pipeline d'évaluationModifier les prompts sans mesurer l'impactTester les prompts en A/B, suivre les métriques dans le temps
Anti-patterns courants en prompt engineering
tadata
Output is not valid JSON or has prose around it COMMON HIGH LIKELY CAUSES 1. No schema or structured-outputmode 2. Temperature too high HOW TO CONFIRM Parse every response in a test run FIX Use structured outputs or JSONschema Prefill '{' where supported Validate and retry with theparser error Answers invent facts absent from the document COMMON CRITICAL LIKELY CAUSES 1. No permission to say unknown ornull 2. Question placed before a longdocument HOW TO CONFIRM Ask for quoted evidence and verifyquotes exist FIX Allow 'not stated' / null Require clause numbers orquotes Put documents first, questionlast Model copies the few-shot examples' content OCCASIONAL MEDIUM LIKELY CAUSES 1. Too few or too similar examples HOW TO CONFIRM Compare outputs with the examples onnew inputs FIX Use 3-5 diverse examples in<example> tags Say they illustrate format,not content One instruction of many is ignored COMMON MEDIUM LIKELY CAUSES 1. Long unordered list of rules 2. Conflicting instructions HOW TO CONFIRM Test each rule with a targeted input FIX Number the steps, removeconflicts Split into a prompt chain
Output is not valid JSON or has prose around it COMMON HIGH LIKELY CAUSES 1. No schema or structured-outputmode 2. Temperature too high HOW TO CONFIRM Parse every response in a test run FIX Use structured outputs or JSONschema Prefill '{' where supported Validate and retry with theparser error Answers invent facts absent from the document COMMON CRITICAL LIKELY CAUSES 1. No permission to say unknown ornull 2. Question placed before a longdocument HOW TO CONFIRM Ask for quoted evidence and verifyquotes exist FIX Allow 'not stated' / null Require clause numbers orquotes Put documents first, questionlast Model copies the few-shot examples' content OCCASIONAL MEDIUM LIKELY CAUSES 1. Too few or too similar examples HOW TO CONFIRM Compare outputs with the examples onnew inputs FIX Use 3-5 diverse examples in<example> tags Say they illustrate format,not content One instruction of many is ignored COMMON MEDIUM LIKELY CAUSES 1. Long unordered list of rules 2. Conflicting instructions HOW TO CONFIRM Test each rule with a targeted input FIX Number the steps, removeconflicts Split into a prompt chain
Modes d'échec courants des prompts et leurs correctifs

Extrait de la fiche « Prompt Engineering » · Demander la fiche complète

Ressources

Nous utilisons des cookies analytiques pour améliorer votre expérience. Aucune donnée personnelle n'est collectée.