prompt-engineering-patterns
par wshobsonprompt-engineering-patterns est une skill pratique pour concevoir des prompts de production. Elle couvre le contexte d’installation, des modèles réutilisables, des exemples few-shot, les sorties structurées et des workflows d’optimisation de prompts pour le Context Engineering.
Cette skill obtient un score de 82/100, ce qui en fait une fiche solide pour l’annuaire : les agents disposent de déclencheurs clairs, d’un contenu opérationnel substantiel et de ressources de prompt réutilisables qui offrent davantage de levier d’exécution qu’un prompt générique. En revanche, les adopteurs doivent s’attendre à assembler plusieurs techniques plutôt qu’à suivre un workflow de bout en bout strictement défini.
- Excellente activabilité : `SKILL.md` indique explicitement quand l’utiliser pour l’optimisation de prompts, la conception few-shot, les system prompts, les sorties structurées et le débogage de comportements LLM incohérents.
- Forte valeur pratique : le dépôt inclut des ressources et références réutilisables, comme une bibliothèque de modèles de prompts, un JSON d’exemples few-shot et un script `optimize-prompt.py`.
- Bonne progression pédagogique : la skill principale présente les grands patterns, puis la documentation de référence approfondit des techniques concrètes comme le CoT, la sélection d’exemples few-shot, les modèles de prompts, l’optimisation et la conception de system prompts, avec des exemples à l’appui.
- Son périmètre large peut accroître la part d’interprétation : elle couvre de nombreux sujets de prompt engineering, mais les éléments disponibles montrent davantage une bibliothèque de patterns et de références qu’un flux d’exécution prescriptif unique.
- Certains exemples restent conceptuels et orientés code, plutôt que clairement intégrés dans un workflow d’agent prêt à installer, et `SKILL.md` ne présente aucune commande d’installation.
Vue d’ensemble de la skill prompt-engineering-patterns
La skill prompt-engineering-patterns est un guide pratique de conception de prompts pour construire des workflows LLM plus fiables, et pas simplement une collection de conseils génériques sur le prompting. Elle convient particulièrement aux personnes qui créent des prompts de production, des flux d’extraction structurée, des modèles de prompts réutilisables ou des boucles d’évaluation où la régularité des sorties compte davantage que la créativité ponctuelle.
À qui s’adresse cette skill
Utilisez prompt-engineering-patterns si vous :
- concevez des prompts pour des applications, des agents ou des automatisations internes
- cherchez à réduire la dérive des sorties, les erreurs de formatage ou les raisonnements fragiles
- hésitez entre des exemples few-shot, le chain-of-thought, les system prompts et les sorties structurées
- transformez des prompts improvisés en modèles répétables que votre équipe pourra maintenir
Si vous avez seulement besoin d’un prompt rapide à usage unique, cette skill risque d’être plus poussée que nécessaire.
Le besoin concret auquel elle répond
Le vrai objectif est de passer de « le modèle fonctionne parfois » à « le modèle se comporte généralement de façon assez prévisible pour être mis en production ». Le dépôt y parvient en organisant les patterns de prompting autour de cas d’usage concrets : few-shot learning, chain-of-thought prompting, sorties structurées de type JSON, templates réutilisables, conception de system prompts et workflows d’optimisation de prompts.
Ce qui la distingue des conseils classiques sur les prompts
Le principal point différenciant est que prompt-engineering-patterns est structuré comme un playbook d’implémentation. Il comprend :
- de la documentation de référence sur les grands patterns de prompting
- des ressources d’exemple que vous pouvez adapter immédiatement
- une bibliothèque de templates de prompts par type de tâche
- un script Python d’optimisation pour affiner les prompts de manière itérative
Cela la rend plus utile pour une décision d’installation que des skills qui se contentent de décrire des concepts sans fournir d’artefacts réutilisables.
Ce qu’il faut vérifier avant de l’adopter
Cette skill est particulièrement efficace si vous connaissez déjà votre tâche, le format de sortie attendu et vos critères de réussite. Elle est moins pertinente comme outil de brainstorming de type « dis-moi quoi construire ». Avant de l’installer, posez-vous les questions suivantes :
- Avez-vous besoin de formats prévisibles ou d’améliorations mesurables ?
- Disposez-vous d’exemples d’entrées et de sorties attendues ?
- Êtes-vous prêt à tester vos prompts sur un petit jeu d’évaluation ?
Si oui, prompt-engineering-patterns for Context Engineering est un bon choix, car il vous aide à formaliser le contexte, les exemples, les contraintes et les contrats de sortie.
Comment utiliser la skill prompt-engineering-patterns
Contexte d’installation pour prompt-engineering-patterns
Cette skill se trouve dans wshobson/agents, sous plugins/llm-application-dev/skills/prompt-engineering-patterns.
Installez-la avec :
npx skills add https://github.com/wshobson/agents --skill prompt-engineering-patterns
Comme le SKILL.md amont ne fournit pas de commande d’installation, les utilisateurs de l’annuaire peuvent considérer la commande ci-dessus comme la voie pratique pour prompt-engineering-patterns install.
Commencez par lire ces fichiers
Commencez par les fichiers les plus utiles, dans cet ordre :
SKILL.mdassets/prompt-template-library.mdassets/few-shot-examples.jsonreferences/prompt-optimization.mdreferences/system-prompts.md
Ensuite, n’allez plus loin dans les références que pour le pattern dont vous avez réellement besoin :
references/few-shot-learning.mdreferences/chain-of-thought.mdreferences/prompt-templates.md
Cet ordre de lecture fait gagner du temps, car les assets montrent ce que vous pouvez réutiliser immédiatement, tandis que les références expliquent pourquoi ces patterns fonctionnent.
Les informations que la skill attend de votre part
L’usage de prompt-engineering-patterns usage est nettement meilleur si vous arrivez avec des éléments précis sur la tâche. Au minimum, fournissez :
- la tâche exacte
- le public cible ou le rôle opérationnel
- le format de sortie souhaité
- les contraintes non négociables
- 3 à 10 exemples représentatifs ou cas de test
- les cas d’échec déjà identifiés
Entrée faible :
- « Améliore ce prompt. »
Entrée solide :
- « J’ai besoin d’un classificateur de tickets de support. Les labels sont
billing,technical_issue,account_accessetother. La sortie doit être un JSON valide aveclabeletconfidence. Les erreurs fréquentes : mélange des labels, ajout de texte explicatif et mauvaise gestion des tickets à intentions multiples. »
La seconde formulation donne à la skill suffisamment de contexte pour recommander le bon pattern, au lieu de proposer une réécriture générique.
Choisir le bon pattern pour la tâche
Utilisez les patterns du dépôt de manière ciblée :
- Utilisez des exemples few-shot quand le comportement de la tâche dépend du format, du style ou de décisions limites.
- Utilisez le chain-of-thought pour les tâches à raisonnement en plusieurs étapes, de logique ou à forte composante mathématique.
- Utilisez des sorties structurées quand des systèmes en aval doivent parser le résultat.
- Utilisez des system prompts quand vous avez besoin d’un rôle, d’un ton, d’un cadre de sécurité ou de limites comportementales stables.
- Utilisez des systèmes de templates quand le même prompt est rempli de façon répétée avec des variables qui changent.
Une erreur fréquente consiste à empiler tous les patterns d’un coup. Commencez par le plus petit pattern qui résout réellement le problème observé.
Transformer un objectif vague en brief de prompt exploitable
Avant d’invoquer la skill, reformulez votre objectif en cinq parties :
Task: ce que le modèle doit faireContext: le contexte ou les hypothèses métierConstraints: ce qu’il doit éviter ou toujours inclureOutput contract: le format exact attenduExamples: des entrées représentatives et les sorties idéales
Exemple de brief :
Task: Extract entities from customer complaint emails.
Context: Emails may mention products, stores, dates, refund amounts, and staff names.
Constraints: Do not infer missing fields. Return empty arrays instead of null.
Output contract: Valid JSON with keys persons, products, locations, dates, monetary_values.
Examples: Include at least one email with no monetary value and one with multiple products.
C’est ce niveau de précision qui rend prompt-engineering-patterns skill nettement plus utile qu’une simple demande du type « écris-moi un prompt ».
Utiliser la bibliothèque de templates comme point de départ, pas comme résultat final
assets/prompt-template-library.md est surtout utile si vous le considérez comme une base de travail. Copiez un template proche de votre besoin, puis ajoutez :
- votre schéma réel
- des contraintes propres à la tâche
- la gestion des cas limites
- le comportement attendu en cas d’information manquante
Par exemple, les templates d’extraction deviennent plus robustes si vous précisez explicitement si le modèle doit omettre les champs inconnus, renvoyer des valeurs vides ou citer des segments du texte source.
Exploiter les exemples few-shot avec intention
Le dépôt inclut assets/few-shot-examples.json, utile moins pour ses exemples exacts que pour la manière dont ils sont construits. Un bon ensemble few-shot doit :
- refléter la distribution réelle de vos entrées
- couvrir les cas limites, pas seulement les positifs évidents
- garder des définitions de labels cohérentes
- éviter les exemples bruités ou contradictoires
Si votre tâche échoue sur des cas ambigus ou frontières, ajoutez d’abord des exemples pour ces limites. En général, cela donne de meilleurs résultats que d’ajouter simplement davantage d’exemples moyens.
Utiliser le chain-of-thought avec prudence en production
Le fichier references/chain-of-thought.md est utile pour les tâches de raisonnement, mais tous les systèmes de production n’ont pas intérêt à exposer des traces de raisonnement complètes. En pratique :
- utilisez des prompts de raisonnement explicites pour l’analyse interne et le débogage
- préférez des formats de réponse concis pour les sorties destinées aux utilisateurs
- testez si le chain-of-thought améliore suffisamment la précision pour justifier les tokens et la latence supplémentaires
Pour beaucoup d’équipes, le meilleur pattern de production combine un raisonnement interne masqué avec un format de réponse final strict.
Utiliser le script d’optimisation comme signal de workflow
Le fichier scripts/optimize-prompt.py et references/prompt-optimization.md indiquent le workflow visé : établir une baseline, tester sur une suite de cas, analyser les échecs, affiner, puis recommencer.
Même si vous n’utilisez pas le script exact, reprenez le processus :
- définir un prompt de baseline
- constituer un petit jeu de test
- mesurer la validité du format et la précision sur la tâche
- examiner les groupes d’échecs
- réviser une seule variable à la fois
C’est la plus grande valeur pratique du dépôt : il vous pousse vers une amélioration mesurable des prompts, plutôt que vers des ajustements subjectifs sans fin.
Meilleur workflow de Context Engineering
prompt-engineering-patterns for Context Engineering fonctionne le mieux quand le contexte est sélectionné avec soin, et non déversé en bloc. Un bon workflow consiste à :
- définir la tâche et le contrat de sortie
- n’ajouter que le contexte nécessaire pour accomplir cette tâche
- inclure des exemples qui enseignent le comportement attendu
- séparer les instructions stables des entrées dynamiques de l’utilisateur
- évaluer sur des cas réalistes
- supprimer le contexte qui ne change pas les résultats
C’est important, car les prompts longs échouent souvent non pas par manque de contexte, mais à cause d’un contexte mal organisé.
FAQ sur la skill prompt-engineering-patterns
prompt-engineering-patterns convient-il aux débutants ?
Oui, si vous avez déjà une tâche concrète. Les exemples et les références sont accessibles, et la décomposition par patterns aide les débutants à arrêter de travailler au hasard. En revanche, c’est moins adapté aux grands débutants qui n’ont encore jamais défini de schémas, de labels ou de critères d’évaluation.
En quoi est-ce différent du simple fait d’écrire un meilleur prompt ?
Les conseils classiques sur les prompts s’arrêtent souvent à l’amélioration de la formulation. Le contenu de prompt-engineering-patterns guide va plus loin en montrant comment choisir un pattern, réutiliser des templates, concevoir des exemples et optimiser de façon itérative. Cela en fait une meilleure option pour des systèmes répétables, et pas seulement pour des échanges ponctuels.
Quand ne faut-il pas utiliser prompt-engineering-patterns ?
Mieux vaut passer votre chemin si :
- vous avez besoin d’idéation ouverte plus que de contrôle
- votre tâche change à chaque fois sans structure réutilisable
- vous ne connaissez pas encore le format de sortie souhaité
- vous n’êtes pas prêt à tester les prompts sur des exemples
Dans ces cas-là, un workflow de prompting exploratoire plus simple sera probablement plus rapide.
Gère-t-il bien les sorties structurées ?
Oui. Le dépôt oriente régulièrement vers l’extraction de type JSON et le formatage contraint. C’est particulièrement pertinent si votre code en aval a besoin de réponses parseables et que vos prompts actuels renvoient souvent du texte explicatif en trop.
prompt-engineering-patterns est-il lié à un fournisseur de modèle en particulier ?
Rien n’indique clairement un verrouillage fournisseur. Les patterns sont portables sur la plupart des LLM modernes, même si le comportement exact variera selon le modèle. Vous devez malgré tout valider le coût en tokens, la fiabilité du formatage et la qualité du raisonnement chez votre fournisseur cible.
Comment améliorer la skill prompt-engineering-patterns
Donner à la skill prompt-engineering-patterns un énoncé de problème plus précis
La manière la plus rapide d’améliorer les résultats de prompt-engineering-patterns consiste à cesser de demander « de meilleurs prompts » de façon abstraite. Fournissez plutôt :
- des critères de réussite
- des sorties inacceptables
- un schéma cible
- des échecs représentatifs
Cela permet à la skill de recommander le bon pattern et de produire des prompts qui tiennent en conditions réelles.
Ajouter des cas d’évaluation avant de réécrire les prompts
Les utilisateurs réécrivent souvent leurs prompts trop tôt. À la place, rassemblez 10 à 20 exemples comprenant :
- des cas faciles
- des quasi-positifs trompeurs
- des entrées mal formées
- des cas qui échouent actuellement
Utilisez ensuite ces exemples pour comparer plusieurs versions du prompt. Le contenu du dépôt sur l’optimisation soutient fortement cette approche pilotée par les tests.
Séparer les instructions stables du contexte variable
Un mode d’échec courant consiste à mélanger rôle, règles de tâche, exemples et données utilisateur dans un seul bloc. Pour améliorer la qualité, séparez :
- le comportement système
- les instructions de tâche réutilisables
- les démonstrations few-shot
- l’entrée courante
Cette structure rend les prompts plus faciles à déboguer et réduit les dérives d’instruction accidentelles.
Renforcer les exemples plutôt que d’en ajouter davantage
Avoir plus de données few-shot n’est pas toujours mieux. Remplacez les exemples faibles, redondants ou peu réalistes par des exemples qui couvrent :
- les cas limites
- les entrées ambiguës
- le format de sortie exact
- les erreurs fréquentes du modèle
Des démonstrations de meilleure qualité améliorent généralement davantage les résultats qu’un ensemble plus volumineux.
Rendre les contrats de sortie plus stricts
Si les sorties sont incohérentes, le problème vient souvent d’un format insuffisamment spécifié. Améliorez le prompt en définissant :
- les clés obligatoires
- les labels autorisés
- les règles d’ordre
- ce qu’il faut faire quand une information manque
Pour les tâches d’extraction, « return empty arrays for missing categories » est bien plus efficace que « extract entities in JSON ».
Corriger un seul mode d’échec par itération
Ne modifiez pas en même temps le rôle, le schéma, les exemples, le style de raisonnement et les hypothèses de température. Changez une seule variable principale, retestez, puis consignez l’effet observé. Cela reflète la logique d’affinage itératif du dépôt et rend les améliorations plus fiables.
Surveiller les signes de sur-ingénierie
prompt-engineering-patterns skill est puissant, mais certains utilisateurs en abusent. Signaux d’alerte :
- des prompts très longs avec des instructions répétées
- trop d’exemples pour des tâches simples
- du chain-of-thought sur des tâches qui relèvent uniquement de l’extraction
- un excès de templating avant même que la tâche soit stabilisée
Si un prompt plus simple atteint le même niveau de fiabilité, choisissez la solution la plus simple.
Utiliser le dépôt comme catalogue de patterns, pas comme script à recopier
La meilleure façon de progresser avec prompt-engineering-patterns consiste à adapter ses assets et ses références à vos propres modes d’échec. Lisez le repo pour choisir un pattern, reprenez un template, puis testez-le sur vos données. C’est bien plus efficace que de copier les exemples tels quels en espérant qu’ils se généralisent.
