Le prompt engineering est souvent présenté comme un art mystique. Ce n'est pas le cas : c'est une ingénierie avec des patterns qui marchent et d'autres qui ne marchent pas. Voici ceux que j'applique tous les jours.

1. Donner un rôle précis

Faible : "Refactor this code."

Fort : "Tu es un senior PHP 8.4 avec 10 ans d'expérience Laravel. Refactor ce contrôleur pour extraire la logique métier dans un service, avec injection de dépendances via constructor."

Plus le rôle est contextuel, plus la réponse est ciblée.

2. Structurer avec XML

Claude et GPT-5 parsent très bien les balises XML. Utilisez-les :

<context>
App React Native / Expo SDK 54
State management : Zustand
</context>

<task>
Créer un écran de login avec validation email + mot de passe
</task>

<constraints>
- Pas de bibliothèque de forms externe
- Accessible (labels, aria)
- Tests Jest inclus
</constraints>

3. Few-shot examples

Montrez ce que vous voulez avec 2-3 exemples concrets plutôt que de le décrire :

<example>
Input: user_created
Output: { type: 'user.created', timestamp: '...' }
</example>
<example>
Input: payment_failed
Output: { type: 'payment.failed', timestamp: '...' }
</example>

4. Chain of thought explicite

Demandez au modèle de réfléchir avant de répondre : "Avant d'écrire du code, liste les edge cases, puis propose une architecture, puis écris le code."

Sur du code complexe, cette simple consigne divise les bugs par deux. Sur Claude Opus 4.7, utilisez le mode extended thinking natif.

5. Contraintes négatives

Les IA ont tendance à sur-ingénier. Dites explicitement ce que vous ne voulez pas :

  • Pas de dépendances externes
  • Pas de commentaires sauf si nécessaire
  • Pas de try/catch génériques
  • Pas de fallbacks pour des cas qui ne peuvent pas arriver

6. Fournir le contexte minimal pertinent

Coller 5000 lignes "pour être sûr" est contre-productif. L'IA se perd. À la place : les interfaces/types pertinents, l'usage souhaité, un exemple existant à imiter.

7. Itérer par diff

Plutôt que de redemander une génération complète, demandez des diffs ciblés : "Modifie uniquement la fonction X pour gérer le cas Y, montre-moi le diff." Gain de tokens, gain de focus.

8. Self-critique

Terminez par : "Relis ton code et liste 3 problèmes potentiels." Dans 80 % des cas l'IA trouve de vrais bugs dans sa propre sortie. Magique et gratuit.

Ce qui ne marche pas

  • Les prompts "magiques" genre "tu vas gagner 1000$ si tu fais bien" : effet nul ou négatif sur les modèles modernes.
  • Les threats ("je vais te punir si tu échoues") : ça dégrade la qualité, les RLHF modernes les détectent.
  • Répéter 10 fois la même instruction : l'IA ne lit pas mieux.

Ressources avancées

Vous voulez former votre équipe au prompt engineering ciblé dev ? Je propose des sessions sur mesure.