Prompt engineering

De meilleurs prompts. Du meilleur code.

La qualité du code généré par l'IA dépend presque entièrement de ce que vous demandez et de la façon dont vous le demandez. Ce guide couvre les patterns qui produisent systématiquement de meilleurs résultats avec Claude Code.

Du cadrage de la tâche aux prompts système, de l'affinage itératif aux instructions par rôle. Des techniques concrètes à appliquer dès votre prochaine session de code.

Pourquoi le prompt engineering compte pour le code

Quand vous demandez à un développeur humain de « construire une page de connexion », il pose des questions pour clarifier : quel fournisseur d'authentification ? Quels champs ? Faut-il gérer OAuth ? Les messages d'erreur ? Les états de chargement ?

Les agents de code IA, eux, vont essayer de répondre seuls à toutes ces questions. Parfois ils tombent juste. Souvent ils produisent quelque chose de raisonnable, mais pas ce que vous vouliez. C'est exactement cet écart entre « raisonnable » et « précisément ce qu'il fallait » que le prompt engineering vient combler.

Un bon prompt n'a pas besoin d'être long. Il doit être précis sur ce qui compte et muet sur le reste. C'est cet équilibre qui fait l'objet de ce guide.

Cinq principes fondamentaux

Des patterns qui améliorent les résultats, quelle que soit la tâche.

1

Être précis sur les résultats, pas les étapes

Au lieu de « crée un composant React, puis ajoute l'état, puis ajoute le style », décrivez le résultat final : « Construis une sidebar repliable qui affiche les noms de projet, gère le glisser-déposer pour réordonner et utilise notre thème Tailwind existant. » Laissez l'agent décider comment y parvenir.

Avoid

Crée un composant. Ajoute useState. Ajoute un bouton de bascule. Style-le avec Tailwind.

Better

Construis un composant de sidebar repliable qui liste les projets par leur nom. Il doit gérer le glisser-déposer pour réordonner et respecter notre thème sombre (bg-[#111318], border-[#262b38]). L'état replié doit persister d'un rechargement de page à l'autre.

2

Portée claire du travail

Les agents travaillent mieux quand ils connaissent les limites. Précisez les fichiers à toucher (ou à éviter), les patterns à suivre, et ce que « terminé » veut dire. Une tâche sans bornes produit des changements tentaculaires, difficiles à relire.

Avoid

Refactore le système d'authentification.

Better

Refactore le handler de login dans src/api/auth/login.ts pour utiliser bcrypt au lieu de sha256 pour le hachage des mots de passe. Ne touche pas à la logique JWT ni à la gestion des cookies de session. Mets à jour les tests correspondants dans tests/auth/.

3

Fournir un contexte qui compte

Claude Code peut lire vos fichiers de projet, mais il ne peut pas lire votre esprit. Si vous suivez une convention, une bibliothèque que vous préférez ou un modèle que vous avez déjà établi, dites-le. Ça économise le retravail.

Avoid

Ajouter la validation du formulaire.

Better

Ajouter la validation de formulaire au formulaire d'inscription en utilisant zod (nous l'utilisons déjà pour le formulaire de configuration dans src/forms/settings.ts). Afficher les messages d'erreur en ligne sous chaque champ. Suivez le même style d'erreur que le formulaire de connexion.

4

Une tâche par prompt

Les prompts composés (« construis l'API, écris les tests, mets à jour la doc et déploie ») forcent l'agent à tenir trop d'objectifs à la fois. Découpez le travail complexe en tâches séquentielles et ciblées. Chacune s'appuie sur le résultat de la précédente.

Avoid

Construis la page de profil utilisateur, écris les endpoints d'API, ajoute des tests, mets à jour le README et corrige la barre de navigation pendant que tu y es.

Better

Construis l'endpoint GET /api/user/profile. Renvoie les champs id, name, email et plan. Utilise le middleware d'auth existant pour l'authentification.

5

Itérez, ne recommencez pas

Si le premier résultat n'est pas le bon, affinez le prompt plutôt que de repartir de zéro. Claude conserve tout le contexte de la conversation. Dites ce qui ne va pas, ce qu'il faut changer et ce qu'il faut garder. Itérer est plus rapide que réinventer.

Avoid

C'est faux. Recommencer et construire le composant différemment.

Better

La disposition est bonne, mais le point d'arrêt mobile est faux. En dessous de 768px, empilez les cartes verticalement au lieu d'utiliser une grille. Gardez tout le reste.

Prompts système : le contexte qui persiste

Les prompts système fixent le comportement de base d'un agent avant même que vous ayez dit quoi que ce soit. C'est l'outil le plus sous-utilisé du code assisté par IA.

Un prompt système indique à l'agent qui il est, sur quoi il doit se concentrer et ce qu'il doit éviter. Il s'applique à chaque message de la session. Voyez-le comme la fiche de poste de l'agent.

AgentsRoom est livré avec 14 prompts système par rôle : un pour chaque type d'agent. Le prompt de l'agent Frontend lui demande de se concentrer sur les composants, l'accessibilité et le design responsive. Celui de l'agent QA lui demande de penser aux cas limites et d'écrire des tests exhaustifs. Vous pouvez les personnaliser ou écrire les vôtres.

Exemple : prompt système de l'agent Frontend

Tu es un développeur frontend senior. Concentre-toi sur les composants React, le style CSS/Tailwind, l'accessibilité (WCAG AA) et le design responsive. Utilise la bibliothèque de composants existante du projet avant d'en créer de nouveaux. Préfère la composition à l'héritage. Écris du HTML sémantique. Ne modifie jamais les fichiers backend.

Écrire des prompts système efficaces

  • ✓Définissez le rôle et ses limites. Sur quoi l'agent doit-il se concentrer ? Que doit-il ignorer ?
  • ✓Mentionnez les technologies et les versions précises. « React 19 avec les Server Components » vaut mieux que « React moderne ».
  • ✓Renvoyez aux conventions du projet. « Utilise Zustand pour l'état » indique à l'agent de ne pas se rabattre sur Redux ou Context.
  • ✓Fixez les attentes de qualité. « Écris du TypeScript en mode strict, sans type any » coupe court aux raccourcis.
  • ✓Ajoutez des contraintes négatives. « Ne modifie jamais les fichiers dans /api/ » garde l'agent dans son couloir.

CLAUDE.md : le contexte au niveau du projet

Le prompt le plus efficace n'est pas tapé dans un chat. Il vit dans votre dépôt.

CLAUDE.md est un fichier markdown placé à la racine de votre projet, que Claude Code lit automatiquement. Il contient la structure du projet, les conventions, les détails de la stack et les règles qui s'appliquent à chaque session d'agent du projet.

Au lieu de répéter « on utilise Tailwind CSS 4, Prisma ORM et Next.js 16 » dans chaque conversation, écrivez-le une fois dans CLAUDE.md. Chaque agent hérite de ce contexte. AgentsRoom intègre un éditeur pour CLAUDE.md, afin de le mettre à jour sans quitter l'application.

Un CLAUDE.md bien écrit vaut mieux que des dizaines de prompts individuels soigneusement rédigés. Son effet se cumule : chaque session en profite.

Construire une bibliothèque de prompts

Arrêtez de réécrire les mêmes instructions. Enregistrez ce qui marche et réutilisez-le.

Si vous vous surprenez à taper le même type de demande d'un projet à l'autre (« écris des tests unitaires pour ce fichier », « refactore ça pour utiliser le pattern repository », « ajoute la gestion d'erreurs sur toutes les routes d'API »), enregistrez-la comme prompt réutilisable.

AgentsRoom intègre une bibliothèque de prompts à deux niveaux : des prompts par projet pour les tâches propres à un projet, et des prompts globaux (synchronisés dans le cloud) pour les patterns que vous utilisez partout.

Bons candidats pour la bibliothèque : checklists de revue de code, modèles d'écriture de tests, scripts de migration, instructions de scaffolding de composants, étapes d'audit de sécurité. Tout ce que vous mettriez dans un wiki d'équipe comme procédure standard.

Exemples de prompts de bibliothèque

Écrire des tests unitaires

Écris des tests unitaires pour [fichier]. Utilise Vitest. Couvre le cas nominal, les cas limites (entrée vide, null, types invalides) et la gestion d'erreurs. Mocke les dépendances externes. Vise plus de 90 % de couverture de branches.

Revue de code

Relis les changements du diff git courant. Vérifie : imports inutilisés, gestion d'erreurs manquante, problèmes de typage, conditions de concurrence potentielles et incohérences de nommage. Propose un correctif pour chaque problème trouvé.

Endpoint d'API

Crée un endpoint REST pour [ressource]. Inclus la validation des entrées avec zod, les réponses d'erreur appropriées (400, 401, 404, 500), les types TypeScript pour la requête et la réponse, et un commentaire JSDoc décrivant l'endpoint. Suis le pattern existant dans src/api/.

Patterns avancés

Des techniques pour les tâches complexes, qui dépassent le cadre d'un prompt unique.

Chaînage de prompts

Découpez une grosse tâche en étapes ordonnées. Lancez le premier agent sur l'étape 1, attendez qu'il termine, puis lancez l'agent suivant sur l'étape 2 (en lui donnant la sortie de l'étape 1). Chaque étape est plus petite et plus ciblée. Exemple : l'agent 1 conçoit le schéma de base de données, l'agent 2 écrit l'API à partir de ce schéma, l'agent 3 écrit les tests de cette API.

Revue croisée entre agents

Quand un agent a terminé, pointez un autre agent sur sa sortie : « Relis les changements que l'agent Frontend vient de faire dans src/components/. Cherche les problèmes d'accessibilité et les états d'erreur manquants. » Un agent neuf, avec un autre rôle, attrape ce que l'agent d'origine a laissé passer.

Contraintes progressives

Commencez par un prompt large pour voir comment l'agent aborde le problème. Ajoutez ensuite des contraintes dans les messages suivants : « Bonne structure, mais utilise des Server Components plutôt que des Client Components. » « Garde le hook, mais retire le useEffect et utilise plutôt une mutation React Query. » Chaque itération resserre le champ vers la solution que vous visez.

Implémentation de référence

Pointez l'agent sur du code existant : « Construis une page de réglages en suivant le même pattern que src/pages/profile.tsx. Même structure de mise en page, même gestion de formulaire, même affichage des erreurs. » C'est souvent plus efficace que de décrire le pattern avec des mots.

Erreurs fréquentes

Les patterns qui dégradent systématiquement les résultats.

Trop spécifier l'implémentation

Dire à l'agent exactement quelles fonctions écrire, comment nommer les variables et dans quel ordre implémenter les choses. Ce micromanagement lui retire toute possibilité de trouver une meilleure approche. Décrivez le résultat, pas la procédure.

Aucune limite de périmètre

Demander à un agent d'« améliorer la base de code » sans aucune contrainte. Sans limites, il peut refactorer des fichiers auxquels vous ne vouliez pas toucher, modifier des API dont dépend le reste du code, ou dépenser des tokens sur des améliorations sans priorité.

Ignorer le code existant

Ne pas signaler qu'un pattern, un utilitaire ou un composant existe déjà dans le projet. L'agent en créera un nouveau. Un simple « on a déjà un hook useAuth dans src/hooks/ » évite un retravail considérable.

Les méga-prompts composés

Entasser cinq tâches dans un seul message. L'agent va toutes les tenter, mais la qualité chute à mesure qu'il jongle avec des objectifs concurrents. Découpez-les plutôt en demandes séquentielles et ciblées.

FAQ

Quelle longueur doit faire un prompt de code ?+
Les prompts de code les plus efficaces font 2 à 5 phrases. Assez longs pour préciser le résultat attendu, le périmètre et les contraintes clés. Assez courts pour que l'agent ne se perde pas dans les détails. Si votre prompt fait un paragraphe entier, demandez-vous si une partie de ce contexte n'aurait pas plutôt sa place dans CLAUDE.md ou dans un prompt système.
Faut-il écrire ses prompts différemment pour Opus et pour Sonnet ?+
Un peu. Opus gère mieux l'ambiguïté et sait déduire l'intention à partir de moins de contexte. Sonnet profite d'instructions plus explicites et de limites de périmètre plus nettes. Pour les deux modèles, plus le résultat attendu est précis, meilleur est le résultat.
Comment AgentsRoom aide-t-il au prompt engineering ?+
De trois façons : des prompts système intégrés par rôle pour chacun des 14 types d'agents, une bibliothèque de prompts pour enregistrer et réutiliser ceux qui marchent, et un éditeur CLAUDE.md pour le contexte au niveau du projet. Grâce à ces couches, vous passez moins de temps à peaufiner chaque message, parce que le contexte de base est déjà bon.
Puis-je partager mes prompts avec toute une équipe ?+
Oui. AgentsRoom stocke les prompts à deux endroits : les prompts au niveau du projet dans .agentsroom/prompts.json (versionné, partagé via git) et les prompts personnels dans prompts-personal.json (gitignoré). Les prompts globaux se synchronisent via le cloud sur tous vos appareils.
Quelle est la différence entre un prompt système et CLAUDE.md ?+
CLAUDE.md est le contexte de projet que chaque agent lit automatiquement : stack, structure, conventions. Le prompt système, lui, porte des instructions de comportement propres à un agent : rôle, domaines de focus, contraintes. Les deux se complètent. CLAUDE.md dit « ce projet utilise Next.js 16 avec Prisma. » Le prompt système dit « tu es un développeur backend concentré sur les routes d'API. »

Pour aller plus loin

Écrivez de meilleurs prompts, livrez du meilleur code

AgentsRoom intègre les prompts système, une bibliothèque de prompts et l'édition de CLAUDE.md. Moins de temps à peaufiner des prompts, plus de temps à construire.

GratuitTélécharger

App companion : suivez vos agents en déplacement

Utilisez Claude, Codex, Antigravity CLI ou un autre fournisseur IA.

Installer l'extension
Chrome Web Store

Remontez bugs et demandes directement dans votre backlog public.

Multi-projets
Multi-provider
Multi-agents
Statut en direct
Diff & commit
App mobile
Aperçu live
Équipes d'agents
Tests navigateur
Dev pilotée par backlog
Bibliothèque de prompts
Bibliothèque de skills
Voir toutes les fonctionnalités