La plupart des meilleures pratiques sont basées sur une contrainte : la fenêtre de contexte de Claude se remplit rapidement et les performances se dégradent à mesure qu’elle se remplit. La fenêtre de contexte de Claude contient l’intégralité de votre conversation, y compris chaque message, chaque fichier que Claude lit et chaque sortie de commande. Cependant, cela peut se remplir rapidement. Une seule session de débogage ou exploration de base de code peut générer et consommer des dizaines de milliers de tokens. Cela importe car les performances des LLM se dégradent à mesure que le contexte se remplit. Lorsque la fenêtre de contexte est presque pleine, Claude peut commencer à « oublier » les instructions antérieures ou faire plus d’erreurs. La fenêtre de contexte est la ressource la plus importante à gérer. Suivez l’utilisation du contexte en continu avec une ligne d’état personnalisée, et consultez Réduire l’utilisation des tokens pour des stratégies de réduction de l’utilisation des tokens.
Donnez à Claude un moyen de vérifier son travail
Claude fonctionne beaucoup mieux lorsqu’il peut vérifier son propre travail, comme exécuter des tests, comparer des captures d’écran et valider les résultats. Sans critères de succès clairs, il pourrait produire quelque chose qui semble correct mais qui ne fonctionne pas réellement. Vous devenez la seule boucle de rétroaction, et chaque erreur nécessite votre attention.| Stratégie | Avant | Après |
|---|---|---|
| Fournir des critères de vérification | « implémenter une fonction qui valide les adresses e-mail » | « écrire une fonction validateEmail. exemples de cas de test : [email protected] est vrai, invalid est faux, [email protected] est faux. exécuter les tests après l’implémentation » |
| Vérifier les modifications de l’interface utilisateur visuellement | « rendre le tableau de bord plus beau » | « [coller la capture d’écran] implémenter cette conception. prendre une capture d’écran du résultat et la comparer à l’original. lister les différences et les corriger » |
| Traiter les causes profondes, pas les symptômes | « la compilation échoue » | « la compilation échoue avec cette erreur : [coller l’erreur]. la corriger et vérifier que la compilation réussit. traiter la cause profonde, ne pas supprimer l’erreur » |
Explorez d’abord, puis planifiez, puis codez
Laisser Claude sauter directement au codage peut produire du code qui résout le mauvais problème. Utilisez Plan Mode pour séparer l’exploration de l’exécution. Le flux de travail recommandé comporte quatre phases :Explorez
Entrez en Plan Mode. Claude lit les fichiers et répond aux questions sans apporter de modifications.
claude (Plan Mode)
Planifiez
Demandez à Claude de créer un plan d’implémentation détaillé.Appuyez sur
claude (Plan Mode)
Ctrl+G pour ouvrir le plan dans votre éditeur de texte pour une édition directe avant que Claude ne procède.Implémentez
Revenez au Mode Normal et laissez Claude coder, en vérifiant par rapport à son plan.
claude (Normal Mode)
Plan Mode est utile, mais ajoute également des frais généraux.Pour les tâches où la portée est claire et la correction est petite (comme corriger une faute de frappe, ajouter une ligne de journal ou renommer une variable), demandez à Claude de le faire directement.La planification est plus utile lorsque vous êtes incertain de l’approche, lorsque la modification modifie plusieurs fichiers ou lorsque vous n’êtes pas familier avec le code en cours de modification. Si vous pouviez décrire le diff en une phrase, ignorez le plan.
Fournissez un contexte spécifique dans vos invites
Claude peut déduire l’intention, mais il ne peut pas lire dans vos pensées. Référencez des fichiers spécifiques, mentionnez les contraintes et pointez vers des modèles d’exemple.| Stratégie | Avant | Après |
|---|---|---|
| Délimitez la tâche. Spécifiez quel fichier, quel scénario et les préférences de test. | « ajouter des tests pour foo.py » | « écrire un test pour foo.py couvrant le cas limite où l’utilisateur est déconnecté. éviter les mocks. » |
| Pointez vers les sources. Dirigez Claude vers la source qui peut répondre à une question. | « pourquoi ExecutionFactory a-t-il une API aussi bizarre ? » | « parcourir l’historique git d’ExecutionFactory et résumer comment son API en est venue à être » |
| Référencez les modèles existants. Pointez Claude vers les modèles de votre base de code. | « ajouter un widget calendrier » | « regarder comment les widgets existants sont implémentés sur la page d’accueil pour comprendre les modèles. HotDogWidget.php est un bon exemple. suivre le modèle pour implémenter un nouveau widget calendrier qui permet à l’utilisateur de sélectionner un mois et de paginer vers l’avant/l’arrière pour choisir une année. construire à partir de zéro sans bibliothèques autres que celles déjà utilisées dans la base de code. » |
| Décrivez le symptôme. Fournissez le symptôme, l’emplacement probable et ce que « corrigé » signifie. | « corriger le bug de connexion » | « les utilisateurs signalent que la connexion échoue après l’expiration de la session. vérifier le flux d’authentification dans src/auth/, en particulier l’actualisation des tokens. écrire un test défaillant qui reproduit le problème, puis le corriger » |
« qu'amélioreriez-vous dans ce fichier ? » peut révéler des choses auxquelles vous n’auriez pas pensé à demander.
Fournissez du contenu riche
Vous pouvez fournir des données riches à Claude de plusieurs façons :- Référencez les fichiers avec
@au lieu de décrire où le code se trouve. Claude lit le fichier avant de répondre. - Collez les images directement. Copiez/collez ou glissez-déposez les images dans l’invite.
- Donnez des URL pour la documentation et les références API. Utilisez
/permissionspour autoriser les domaines fréquemment utilisés. - Canalisez les données en exécutant
cat error.log | claudepour envoyer le contenu du fichier directement. - Laissez Claude récupérer ce dont il a besoin. Dites à Claude de tirer le contexte lui-même en utilisant des commandes Bash, des outils MCP ou en lisant des fichiers.
Configurez votre environnement
Quelques étapes de configuration rendent Claude Code beaucoup plus efficace dans toutes vos sessions. Pour un aperçu complet des fonctionnalités d’extension et du moment d’utiliser chacune, consultez Étendre Claude Code.Écrivez un CLAUDE.md efficace
CLAUDE.md est un fichier spécial que Claude lit au début de chaque conversation. Incluez des commandes Bash, le style de code et les règles de flux de travail. Cela donne à Claude un contexte persistant qu’il ne peut pas déduire du code seul. La commande/init analyse votre base de code pour détecter les systèmes de construction, les frameworks de test et les modèles de code, vous donnant une base solide à affiner.
Il n’y a pas de format requis pour les fichiers CLAUDE.md, mais gardez-le court et lisible par l’homme. Par exemple :
CLAUDE.md
| ✅ Inclure | ❌ Exclure |
|---|---|
| Commandes Bash que Claude ne peut pas deviner | Tout ce que Claude peut déduire en lisant le code |
| Règles de style de code qui diffèrent des valeurs par défaut | Conventions de langage standard que Claude connaît déjà |
| Instructions de test et exécuteurs de test préférés | Documentation API détaillée (lien vers les docs à la place) |
| Étiquette du référentiel (nommage des branches, conventions PR) | Informations qui changent fréquemment |
| Décisions architecturales spécifiques à votre projet | Explications longues ou tutoriels |
| Particularités de l’environnement de développement (variables d’env requises) | Pratiques évidentes comme « écrire du code propre » |
| Pièges courants ou comportements non évidents | Descriptions du code fichier par fichier |
@path/to/import :
CLAUDE.md
- Dossier personnel (
~/.claude/CLAUDE.md) : s’applique à toutes les sessions Claude - Racine du projet (
./CLAUDE.md) : vérifier dans git pour partager avec votre équipe - Répertoires parents : utile pour les monorepos où
root/CLAUDE.mdetroot/foo/CLAUDE.mdsont extraits automatiquement - Répertoires enfants : Claude extrait les fichiers CLAUDE.md enfants à la demande lorsqu’il travaille avec des fichiers dans ces répertoires
Configurez les permissions
Par défaut, Claude Code demande une permission pour les actions qui pourraient modifier votre système : écritures de fichiers, commandes Bash, outils MCP, etc. C’est sûr mais fastidieux. Après la dixième approbation, vous ne révisez vraiment plus, vous cliquez simplement. Il y a trois façons de réduire ces interruptions :- Mode auto : un modèle classificateur séparé examine les commandes et bloque uniquement ce qui semble risqué : escalade de portée, infrastructure inconnue ou actions motivées par du contenu hostile. Meilleur lorsque vous faites confiance à la direction générale d’une tâche mais que vous ne voulez pas cliquer à chaque étape
- Listes blanches de permissions : permettre des outils spécifiques que vous savez être sûrs, comme
npm run lintougit commit - Sandboxing : activer l’isolation au niveau du système d’exploitation qui restreint l’accès au système de fichiers et au réseau, permettant à Claude de travailler plus librement dans des limites définies
Utilisez les outils CLI
Les outils CLI sont le moyen le plus efficace en contexte d’interagir avec les services externes. Si vous utilisez GitHub, installez le CLIgh. Claude sait comment l’utiliser pour créer des problèmes, ouvrir des demandes de tirage et lire les commentaires. Sans gh, Claude peut toujours utiliser l’API GitHub, mais les demandes non authentifiées atteignent souvent les limites de débit.
Claude est également efficace pour apprendre les outils CLI qu’il ne connaît pas déjà. Essayez des invites comme Utilisez 'foo-cli-tool --help' pour en savoir plus sur l'outil foo, puis utilisez-le pour résoudre A, B, C.
Connectez les serveurs MCP
Avec les serveurs MCP, vous pouvez demander à Claude d’implémenter des fonctionnalités à partir de suivi de problèmes, interroger des bases de données, analyser les données de surveillance, intégrer les conceptions de Figma et automatiser les flux de travail.Configurez les hooks
Les hooks exécutent automatiquement les scripts à des points spécifiques du flux de travail de Claude. Contrairement aux instructions CLAUDE.md qui sont consultatives, les hooks sont déterministes et garantissent que l’action se produit. Claude peut écrire des hooks pour vous. Essayez des invites comme « Écrire un hook qui exécute eslint après chaque édition de fichier » ou « Écrire un hook qui bloque les écritures dans le dossier migrations. » Modifiez.claude/settings.json directement pour configurer les hooks à la main, et exécutez /hooks pour parcourir ce qui est configuré.
Créez des skills
Les skills étendent les connaissances de Claude avec des informations spécifiques à votre projet, équipe ou domaine. Claude les applique automatiquement lorsqu’elles sont pertinentes, ou vous pouvez les invoquer directement avec/skill-name.
Créez une skill en ajoutant un répertoire avec un SKILL.md à .claude/skills/ :
.claude/skills/api-conventions/SKILL.md
.claude/skills/fix-issue/SKILL.md
/fix-issue 1234 pour l’invoquer. Utilisez disable-model-invocation: true pour les flux de travail avec des effets secondaires que vous souhaitez déclencher manuellement.
Créez des subagents personnalisés
Les subagents s’exécutent dans leur propre contexte avec leur propre ensemble d’outils autorisés. Ils sont utiles pour les tâches qui lisent de nombreux fichiers ou qui ont besoin d’une attention spécialisée sans encombrer votre conversation principale..claude/agents/security-reviewer.md
Installez les plugins
Les plugins regroupent les skills, les hooks, les subagents et les serveurs MCP dans une seule unité installable de la communauté et d’Anthropic. Si vous travaillez avec un langage typé, installez un plugin d’intelligence de code pour donner à Claude une navigation de symboles précise et une détection d’erreur automatique après les éditions. Pour des conseils sur le choix entre les skills, les subagents, les hooks et MCP, consultez Étendre Claude Code.Communiquez efficacement
La façon dont vous communiquez avec Claude Code a un impact significatif sur la qualité des résultats.Posez des questions sur la base de code
Lors de l’intégration à une nouvelle base de code, utilisez Claude Code pour l’apprentissage et l’exploration. Vous pouvez poser à Claude les mêmes types de questions que vous poseriez à un autre ingénieur :- Comment fonctionne la journalisation ?
- Comment créer un nouveau point de terminaison API ?
- Que fait
async move { ... }à la ligne 134 defoo.rs? - Quels cas limites
CustomerOnboardingFlowImplgère-t-il ? - Pourquoi ce code appelle-t-il
foo()au lieu debar()à la ligne 333 ?
Laissez Claude vous interviewer
Claude pose des questions sur les choses que vous n’auriez peut-être pas considérées, y compris l’implémentation technique, l’interface utilisateur/UX, les cas limites et les compromis.Gérez votre session
Les conversations sont persistantes et réversibles. Utilisez cela à votre avantage !Corrigez la trajectoire tôt et souvent
Les meilleurs résultats proviennent de boucles de rétroaction serrées. Bien que Claude résolve occasionnellement les problèmes parfaitement à la première tentative, le corriger rapidement produit généralement de meilleures solutions plus rapidement.Esc: arrêtez Claude en pleine action avec la toucheEsc. Le contexte est préservé, vous pouvez donc rediriger.Esc + Escou/rewind: appuyez surEscdeux fois ou exécutez/rewindpour ouvrir le menu de rembobinage et restaurer la conversation et l’état du code précédents, ou résumer à partir d’un message sélectionné.« Annuler cela »: demandez à Claude d’annuler ses modifications./clear: réinitialiser le contexte entre les tâches non liées. Les sessions longues avec un contexte non pertinent peuvent réduire les performances.
/clear et recommencez avec une invite plus spécifique qui incorpore ce que vous avez appris. Une session propre avec une meilleure invite surpasse presque toujours une session longue avec des corrections accumulées.
Gérez le contexte agressivement
Claude Code compacte automatiquement l’historique de conversation lorsque vous approchez des limites de contexte, ce qui préserve le code et les décisions importants tout en libérant de l’espace. Pendant les sessions longues, la fenêtre de contexte de Claude peut se remplir de conversations non pertinentes, de contenu de fichiers et de commandes. Cela peut réduire les performances et parfois distraire Claude.- Utilisez
/clearfréquemment entre les tâches pour réinitialiser complètement la fenêtre de contexte - Lorsque le compactage automatique se déclenche, Claude résume ce qui importe le plus, y compris les modèles de code, les états de fichiers et les décisions clés
- Pour plus de contrôle, exécutez
/compact <instructions>, comme/compact Focus on the API changes - Pour compacter uniquement une partie de la conversation, utilisez
Esc + Escou/rewind, sélectionnez un point de contrôle de message et choisissez Summarize from here. Cela condense les messages à partir de ce point tout en gardant le contexte antérieur intact. - Personnalisez le comportement de compactage dans CLAUDE.md avec des instructions comme
« Lors du compactage, toujours préserver la liste complète des fichiers modifiés et toutes les commandes de test »pour assurer que le contexte critique survit à la résumé - Pour les questions rapides qui n’ont pas besoin de rester en contexte, utilisez
/btw. La réponse apparaît dans une superposition rejetable et n’entre jamais dans l’historique de conversation, vous pouvez donc vérifier un détail sans augmenter le contexte.
Utilisez les subagents pour l’investigation
Puisque le contexte est votre contrainte fondamentale, les subagents sont l’un des outils les plus puissants disponibles. Lorsque Claude enquête sur une base de code, il lit de nombreux fichiers, qui consomment tous votre contexte. Les subagents s’exécutent dans des fenêtres de contexte séparées et rapportent les résumés :Rembobinez avec des points de contrôle
Claude crée automatiquement des points de contrôle avant les modifications. Appuyez deux fois surEscape ou exécutez /rewind pour ouvrir le menu de rembobinage. Vous pouvez restaurer la conversation uniquement, restaurer le code uniquement, restaurer les deux ou résumer à partir d’un message sélectionné. Consultez Checkpointing pour plus de détails.
Au lieu de planifier soigneusement chaque mouvement, vous pouvez dire à Claude d’essayer quelque chose de risqué. Si cela ne fonctionne pas, rembobinez et essayez une approche différente. Les points de contrôle persistent entre les sessions, vous pouvez donc fermer votre terminal et toujours rembobiner plus tard.
Reprenez les conversations
Claude Code enregistre les conversations localement. Lorsqu’une tâche s’étend sur plusieurs sessions, vous n’avez pas à réexpliquer le contexte :/rename pour donner aux sessions des noms descriptifs comme « oauth-migration » ou « debugging-memory-leak » pour pouvoir les trouver plus tard. Traitez les sessions comme des branches : différents flux de travail peuvent avoir des contextes séparés et persistants.
Automatisez et mettez à l’échelle
Une fois que vous êtes efficace avec un Claude, multipliez votre production avec des sessions parallèles, le mode non interactif et les modèles de fan-out. Tout ce qui précède suppose un humain, un Claude et une conversation. Mais Claude Code se met à l’échelle horizontalement. Les techniques de cette section montrent comment vous pouvez en faire plus.Exécutez le mode non interactif
Avecclaude -p "your prompt", vous pouvez exécuter Claude de manière non interactive, sans session. Le mode non interactif est la façon dont vous intégrez Claude dans les pipelines CI, les hooks de pré-commit ou tout flux de travail automatisé. Les formats de sortie vous permettent d’analyser les résultats par programmation : texte brut, JSON ou JSON en streaming.
Exécutez plusieurs sessions Claude
Il y a trois façons principales d’exécuter des sessions parallèles :- Application de bureau Claude Code : Gérez visuellement plusieurs sessions locales. Chaque session obtient son propre worktree isolé.
- Claude Code sur le web : Exécutez sur l’infrastructure cloud sécurisée d’Anthropic dans des VM isolées.
- Équipes d’agents : Coordination automatisée de plusieurs sessions avec des tâches partagées, la messagerie et un chef d’équipe.
| Session A (Writer) | Session B (Reviewer) |
|---|---|
Implement a rate limiter for our API endpoints | |
Review the rate limiter implementation in @src/middleware/rateLimiter.ts. Look for edge cases, race conditions, and consistency with our existing middleware patterns. | |
Here's the review feedback: [Session B output]. Address these issues. |
Fan out sur les fichiers
Pour les migrations ou analyses à grande échelle, vous pouvez distribuer le travail sur de nombreuses invocations Claude parallèles :Générez une liste de tâches
Demandez à Claude de lister tous les fichiers qui doivent être migrés (par exemple,
list all 2,000 Python files that need migrating)Testez sur quelques fichiers, puis exécutez à l'échelle
Affinez votre invite en fonction de ce qui se passe mal avec les 2-3 premiers fichiers, puis exécutez sur l’ensemble complet. L’indicateur
--allowedTools restreint ce que Claude peut faire, ce qui importe lorsque vous exécutez sans surveillance.--verbose pour le débogage pendant le développement, et désactivez-le en production.
Exécutez de manière autonome avec le mode auto
Pour une exécution ininterrompue avec des vérifications de sécurité en arrière-plan, utilisez mode auto. Un modèle classificateur examine les commandes avant qu’elles ne s’exécutent, bloquant l’escalade de portée, l’infrastructure inconnue et les actions motivées par du contenu hostile tout en laissant le travail de routine se dérouler sans invites.-p, le mode auto abandonne si le classificateur bloque à plusieurs reprises les actions, puisqu’il n’y a pas d’utilisateur pour se replier. Consultez quand le mode auto se replie pour les seuils.
Évitez les modèles d’échec courants
Ce sont des erreurs courantes. Les reconnaître tôt économise du temps :- La session fourre-tout. Vous commencez par une tâche, puis demandez à Claude quelque chose d’autre, puis revenez à la première tâche. Le contexte est plein d’informations non pertinentes.
Correction :
/clearentre les tâches non liées. - Corriger encore et encore. Claude fait quelque chose de mal, vous le corrigez, c’est toujours mal, vous corrigez à nouveau. Le contexte est pollué par des approches échouées.
Correction : Après deux corrections échouées,
/clearet écrivez une meilleure invite initiale incorporant ce que vous avez appris. - Le CLAUDE.md sur-spécifié. Si votre CLAUDE.md est trop long, Claude ignore la moitié car les règles importantes se perdent dans le bruit.
Correction : Élaguez impitoyablement. Si Claude fait déjà quelque chose correctement sans l’instruction, supprimez-le ou convertissez-le en hook.
- L’écart de confiance-puis-vérification. Claude produit une implémentation plausible qui ne gère pas les cas limites.
Correction : Fournissez toujours une vérification (tests, scripts, captures d’écran). Si vous ne pouvez pas la vérifier, ne la déployez pas.
- L’exploration infinie. Vous demandez à Claude d’« enquêter » sur quelque chose sans le délimiter. Claude lit des centaines de fichiers, remplissant le contexte.
Correction : Délimitez les enquêtes étroitement ou utilisez les subagents pour que l’exploration ne consomme pas votre contexte principal.
Développez votre intuition
Les modèles de ce guide ne sont pas gravés dans le marbre. Ce sont des points de départ qui fonctionnent bien en général, mais pourraient ne pas être optimaux pour chaque situation. Parfois, vous devriez laisser le contexte s’accumuler parce que vous êtes profondément dans un problème complexe et l’historique est précieux. Parfois, vous devriez ignorer la planification et laisser Claude le découvrir parce que la tâche est exploratoire. Parfois, une invite vague est exactement ce qu’il faut parce que vous voulez voir comment Claude interprète le problème avant de le contraindre. Faites attention à ce qui fonctionne. Lorsque Claude produit une excellente sortie, remarquez ce que vous avez fait : la structure de l’invite, le contexte que vous avez fourni, le mode dans lequel vous étiez. Lorsque Claude lutte, demandez-vous pourquoi. Le contexte était-il trop bruyant ? L’invite trop vague ? La tâche trop grande pour une seule passe ? Au fil du temps, vous développerez une intuition qu’aucun guide ne peut capturer. Vous saurez quand être spécifique et quand être ouvert, quand planifier et quand explorer, quand effacer le contexte et quand le laisser s’accumuler.Ressources connexes
- Comment fonctionne Claude Code : la boucle agentique, les outils et la gestion du contexte
- Étendre Claude Code : skills, hooks, MCP, subagents et plugins
- Flux de travail courants : recettes étape par étape pour le débogage, les tests, les PR et plus
- CLAUDE.md : stocker les conventions de projet et le contexte persistant