Prompt Engineering

Meilleurs prompts. Meilleur code.

La qualite du code genere par IA depend presque entierement de ce que vous demandez et comment vous le demandez. Ce guide couvre les patterns qui produisent systematiquement de meilleurs resultats avec Claude Code.

Du cadrage des taches aux system prompts, de l'iteration progressive aux instructions specifiques par role. Des techniques concretes applicables des votre prochaine session de code.

Pourquoi le prompt engineering compte pour le code

Quand vous demandez a un developpeur humain de 'construire une page de connexion', il pose des questions de clarification : quel provider d'auth ? Quels champs ? Faut-il gerer l'OAuth ? Les messages d'erreur ? Les etats de chargement ?

Les agents de code IA vont essayer de repondre a toutes ces questions eux-memes. Parfois ils devinent juste. Souvent ils devinent quelque chose de raisonnable mais pas ce que vous vouliez. L'ecart entre 'raisonnable' et 'exactement ce qu'il faut' est ce que le prompt engineering comble.

Les bons prompts n'ont pas besoin d'etre longs. Ils doivent etre specifiques sur les choses qui comptent et silencieux sur celles qui ne comptent pas. Cet equilibre est le sujet de ce guide.

Cinq principes fondamentaux

Des patterns qui ameliorent les resultats quelle que soit la tache.

1

Soyez specifique sur les resultats, pas les etapes

Au lieu de 'cree un composant React, puis ajoute du state, puis ajoute du style', decrivez le resultat final : 'Construis une sidebar repliable qui affiche les noms de projets, supporte le drag-to-reorder et utilise notre theme Tailwind existant.' Laissez l'agent decider comment y arriver.

Avoid

Cree un composant. Ajoute useState. Ajoute un bouton toggle. Style avec Tailwind.

Better

Construis un composant sidebar repliable qui liste les projets par nom. Il doit supporter le drag-to-reorder et correspondre a notre theme sombre (bg-[#1a1a2e], border-[#2a2a40]). L'etat replie doit persister entre les rechargements de page.

2

Cadrez clairement le perimetre

Les agents fonctionnent mieux quand ils connaissent les limites. Specifiez quels fichiers toucher (ou eviter), quels patterns suivre et a quoi ressemble 'termine'. Les taches sans limites menent a des changements tentaculaires difficiles a reviewer.

Avoid

Refactorise le systeme d'authentification.

Better

Refactorise le handler de login dans src/api/auth/login.ts pour utiliser bcrypt au lieu de sha256 pour le hashing des mots de passe. Ne change pas la logique JWT ni la gestion du cookie de session. Mets a jour les tests dans tests/auth/.

3

Fournissez le contexte qui compte

Claude Code peut lire les fichiers de votre projet, mais pas vos pensees. Si vous suivez une convention, preferez une librairie ou avez deja etabli un pattern, dites-le. Ca evite de refaire.

Avoid

Ajoute la validation du formulaire.

Better

Ajoute la validation du formulaire d'inscription avec zod (on l'utilise deja pour le formulaire de settings dans src/forms/settings.ts). Affiche les messages d'erreur inline sous chaque champ. Suis le meme style d'erreur que le formulaire de login.

4

Une tache par prompt

Les prompts composes ('construis l'API, ecris les tests, mets a jour la doc et deploie') forcent l'agent a jongler avec trop d'objectifs. Decomposez le travail complexe en taches sequentielles et ciblees. Chacune s'appuie sur le resultat precedent.

Avoid

Construis la page profil utilisateur, ecris les endpoints API, ajoute les tests, mets a jour le README et corrige la barre de nav au passage.

Better

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

5

Iterez, ne recommencez pas

Si le premier resultat n'est pas bon, affinez le prompt plutot que de repartir de zero. Claude retient le contexte complet de la conversation. Dites ce qui ne va pas, ce qu'il faut changer et ce qu'il faut garder. L'iteration est plus rapide que la reinvention.

Avoid

C'est faux. Recommence et construis le composant differemment.

Better

Le layout est bon mais le breakpoint mobile est incorrect. En dessous de 768px, empile les cartes verticalement au lieu d'utiliser une grille. Garde tout le reste tel quel.

System prompts : du contexte qui persiste

Les system prompts definissent le comportement de base d'un agent avant que vous ne disiez quoi que ce soit. C'est l'outil le plus sous-utilise du code assiste par IA.

Un system prompt dit a l'agent qui il est, sur quoi il doit se concentrer et ce qu'il doit eviter. Il s'applique a chaque message de la session. Voyez-le comme la fiche de poste de l'agent.

AgentsRoom est livre avec 14 system prompts specifiques par role : un pour chaque type d'agent. Le prompt de l'agent Frontend lui dit de se concentrer sur les composants, l'accessibilite et le design responsive. Le prompt de l'agent QA lui dit de penser aux cas limites et d'ecrire des tests complets. Vous pouvez les personnaliser ou ecrire les votres.

Exemple : system prompt de l'agent Frontend

Tu es un developpeur frontend senior. Concentre-toi sur les composants React, le styling CSS/Tailwind, l'accessibilite (WCAG AA) et le design responsive. Utilise la bibliotheque de composants existante du projet avant de creer de nouveaux composants. Prefere la composition a l'heritage. Ecris du HTML semantique. Ne modifie jamais les fichiers backend.

Ecrire des system prompts efficaces

  • Definissez le role et ses limites. Sur quoi l'agent doit-il se concentrer ? Qu'est-ce qu'il doit ignorer ?
  • Mentionnez les technologies specifiques et leurs versions. 'React 19 avec Server Components' est mieux que 'React moderne'.
  • Referez aux conventions du projet. 'Utilise Zustand pour le state' dit a l'agent de ne pas recourir a Redux ou Context.
  • Fixez les attentes de qualite. 'Ecris du TypeScript en mode strict, pas de types any' empeche les raccourcis.
  • Incluez des contraintes negatives. 'Ne modifie jamais les fichiers dans /api/' garde l'agent dans son perimetre.

CLAUDE.md : le contexte au niveau du projet

Le prompt le plus efficace n'est pas tape dans un chat. Il vit dans votre depot.

CLAUDE.md est un fichier markdown a la racine de votre projet que Claude Code lit automatiquement. Il contient la structure du projet, les conventions, les details de la stack et les directives qui s'appliquent a chaque session d'agent du projet.

Au lieu de repeter 'on utilise Tailwind CSS 4, Prisma ORM et Next.js 16' dans chaque conversation, ecrivez-le une fois dans CLAUDE.md. Chaque agent herite de ce contexte. AgentsRoom inclut un editeur integre pour CLAUDE.md afin de le mettre a jour sans quitter l'app.

Un CLAUDE.md bien ecrit vaut plus que des dizaines de prompts individuels soigneusement rediges. C'est cumulatif : chaque session en beneficie.

Construisez une bibliotheque de prompts

Arretez de recrire les memes instructions. Sauvegardez ce qui marche et reutilisez-le.

Si vous vous retrouvez a taper le meme type de requete entre les projets ('ecris des tests unitaires pour ce fichier', 'refactorise ca en pattern repository', 'ajoute la gestion d'erreurs sur toutes les routes API'), sauvegardez-le comme prompt reutilisable.

AgentsRoom inclut une fonctionnalite de bibliotheque de prompts a deux niveaux : des prompts par projet pour les taches specifiques au projet, et des prompts globaux (synchronises dans le cloud) pour les patterns que vous utilisez partout.

Bons candidats pour les prompts de bibliotheque : checklists de code review, templates d'ecriture de tests, scripts de migration, instructions de scaffolding de composants, etapes d'audit securite. Tout ce que vous mettriez dans un wiki d'equipe comme procedure standard.

Exemples de prompts de bibliotheque

Ecrire des tests unitaires

Ecris des tests unitaires pour [fichier]. Utilise vitest. Couvre le cas nominal, les cas limites (entree vide, null, types invalides) et la gestion d'erreurs. Mocke les dependances externes. Vise >90% de couverture de branches.

Code review

Revois les changements dans le diff git actuel. Verifie : imports inutilises, gestion d'erreurs manquante, problemes de types, conditions de course potentielles et incoherences de nommage. Suggere des corrections pour chaque probleme trouve.

Endpoint API

Cree un endpoint REST pour [ressource]. Inclus la validation des entrees avec zod, des reponses d'erreur appropriees (400, 401, 404, 500), des types TypeScript pour la requete/reponse et un commentaire JSDoc decrivant l'endpoint. Suis le pattern existant dans src/api/.

Patterns avances

Techniques pour les taches complexes qui vont au-dela des prompts simples.

Chainage de prompts

Decomposez une grande tache en etapes ordonnees. Demarrez le premier agent avec l'etape un, attendez la completion, puis lancez l'agent suivant avec l'etape deux (en referencant la sortie de l'etape un). Chaque etape est plus petite et plus ciblee. Exemple : l'Agent 1 conçoit le schema de base de donnees, l'Agent 2 ecrit l'API avec ce schema, l'Agent 3 ecrit les tests contre l'API.

Review croisee entre agents

Apres qu'un agent a termine, pointez un agent different sur sa sortie. 'Revois les changements que l'agent frontend vient de faire dans src/components/. Verifie les problemes d'accessibilite et les etats d'erreur manquants.' Un agent frais avec un role different attrape ce que l'agent original a manque.

Contraintes progressives

Commencez avec un prompt large pour voir comment l'agent aborde le probleme. Puis ajoutez des contraintes dans les messages suivants : 'Bonne structure, mais utilise des server components au lieu de client components.' 'Garde le hook, mais supprime le useEffect et utilise une mutation React Query a la place.' Chaque iteration resserre vers la solution voulue.

Implementation de reference

Pointez l'agent vers du code existant : 'Construis une page de parametres en suivant le meme pattern que src/pages/profile.tsx. Meme structure de layout, meme gestion de formulaire, meme affichage d'erreurs.' C'est souvent plus efficace que de decrire le pattern en mots.

Erreurs courantes

Des patterns qui produisent systematiquement de moins bons resultats.

Surspecifier l'implementation

Dire a l'agent exactement quelles fonctions ecrire, quels noms de variables utiliser et dans quel ordre implementer. Ce micromanagement supprime la capacite de l'agent a trouver une meilleure approche. Decrivez le resultat, pas la procedure.

Pas de limites de perimetre

Demander a un agent d' 'ameliorer le codebase' sans contraintes. Sans limites, l'agent pourrait refactoriser des fichiers que vous ne vouliez pas toucher, changer des API dont d'autre code depend, ou depenser des tokens sur des ameliorations a faible priorite.

Ignorer le code existant

Ne pas mentionner qu'un pattern, un utilitaire ou un composant existe deja dans le projet. L'agent en creera un nouveau. Un simple 'on a deja un hook useAuth dans src/hooks/' fait economiser un travail significatif.

Mega-prompts composes

Entasser cinq taches dans un seul message. L'agent tentera de toutes les faire, mais la qualite chute car il jongle avec des objectifs concurrents. Decoupez-les en requetes sequentielles et ciblees.

FAQ

Quelle longueur doit avoir un prompt de code ?+
Les prompts de code les plus efficaces font 2 a 5 phrases. Assez longs pour specifier le resultat, le perimetre et les contraintes cles. Assez courts pour que l'agent ne se perde pas dans les details. Si votre prompt fait un paragraphe entier, demandez-vous si une partie de ce contexte n'appartient pas plutot au CLAUDE.md ou a un system prompt.
Faut-il ecrire les prompts differemment pour Opus vs Sonnet ?+
Legerement. Opus gere mieux l'ambiguite et peut inferer l'intention avec moins de contexte. Sonnet beneficie d'instructions plus explicites et de limites de perimetre plus claires. Pour les deux modeles, la specificite sur le resultat attendu ameliore les resultats.
Comment AgentsRoom aide-t-il avec le prompt engineering ?+
De trois facons : des system prompts specifiques par role pour chacun des 14 types d'agents, une bibliotheque de prompts pour sauvegarder et reutiliser les prompts efficaces, et un editeur CLAUDE.md pour le contexte au niveau du projet. Ces couches signifient que vous passez moins de temps a rediger des messages individuels car le contexte de base est deja bon.
Peut-on partager les prompts en equipe ?+
Oui. AgentsRoom stocke les prompts a deux endroits : les prompts au niveau du projet dans .agentsroom/prompts.json (version-controlled, partages via git) et les prompts personnels dans prompts-personal.json (gitignore). Les prompts globaux se synchronisent via le cloud sur tous vos appareils.
Quelle est la difference entre un system prompt et CLAUDE.md ?+
CLAUDE.md est le contexte projet que chaque agent lit automatiquement : stack, structure, conventions. Les system prompts sont des instructions comportementales specifiques a l'agent : role, domaines de focus, contraintes. Ils se completent. CLAUDE.md dit 'ce projet utilise Next.js 16 avec Prisma.' Le system prompt dit 'tu es un developpeur backend concentre sur les routes API.'

Ecrivez de meilleurs prompts, livrez du meilleur code

AgentsRoom vous donne des system prompts, une bibliotheque de prompts et l'edition de CLAUDE.md integree. Moins de temps a rediger des prompts, plus de temps a construire.

Telecharger pour macOS

Necessite un abonnement Claude (Max ou Pro)