Claude Code est un outil puissant, mais chaque interaction consomme des tokens. Une mauvaise hygiène d'utilisation peut rapidement faire exploser votre consommation tout en dégradant la qualité des réponses. La bonne nouvelle ? Quelques réflexes simples permettent de diviser votre consommation par 2 ou 3.
Cet article vous présente les pratiques essentielles pour optimiser votre usage quotidien de Claude Code : gestion du contexte, configuration des MCP, et patterns de prompting efficaces.
Sommaire
Comprendre le contexte et son impact
Pourquoi le contexte explose votre consommation
À chaque message que vous envoyez, Claude Code transmet l'intégralité de la conversation au modèle. Cela signifie qu'une longue session consomme exponentiellement plus de tokens.
Visualisation simple :
Message 1 : 100 tokens envoyés
Message 2 : 300 tokens (les 100 précédents + 200 nouveaux)
Message 10 : 5000 tokens (tout l'historique)
Message 30 : 20000 tokens
Vous payez votre historique à chaque requête. C'est le piège numéro un.
La règle d'or : Une session = Un sujet
Ne mélangez jamais plusieurs sujets dans une même session. Chaque changement de contexte doit déclencher une nouvelle session propre.
Mauvaise pratique
[Session de 40 messages]
- Messages 1-15 : Debug backend
- Messages 16-25 : Styling React
- Messages 26-30 : Config nginx
- Messages 31-40 : Documentation
Les 40 messages portent le contexte des 4 sujets. Gaspillage massif.
Bonne pratique
[Session 1] Debug backend → /clear
[Session 2] Styling React → /clear
[Session 3] Config nginx → /clear
[Session 4] Documentation
Chaque session est isolée et légère.
Le contexte s'accumule à chaque message. Utilisez /clear dès que vous changez de sujet.
Maîtriser les commandes essentielles
La commande /clear
Objectif : Efface complètement l'historique de la conversation.
Quand l'utiliser :
- Vous changez complètement de sujet
- Vous avez terminé une tâche ou une feature
- La conversation dépasse 20-30 messages
- Vous passez d'un domaine technique à un autre (backend → frontend, code → infra)
Vous venez de fixer un bug → /clear
Vous passez du Python au JavaScript → /clear
Vous terminez une review de code → /clear
Votre session a dépassé 25 messages → /clear
Important : Ne craignez pas de perdre le contexte. Si vous avez besoin d'informations de la session précédente, reformulez-les en une phrase dans votre nouvelle session.
La commande /compact
Objectif : Résume la conversation en conservant uniquement les informations essentielles.
Quand l'utiliser :
- Vous travaillez sur le même sujet depuis 15-20 messages
- Beaucoup d'allers-retours de debugging sur un même problème
- La conversation contient des sorties volumineuses (logs, dumps SQL)
- Vous voulez continuer sur le même sujet mais alléger le contexte
Différence /clear vs /compact :
/clear = Nouvelle session, ardoise vierge
/compact = Même session, version résumée
La commande /context
Objectif : Affiche le contenu actuel du contexte envoyé à Claude.
Pourquoi c'est crucial : C'est votre tableau de bord de consommation. Cette commande vous montre EXACTEMENT ce qui est envoyé à chaque requête.
=== Contexte actuel ===
- Historique : 18 messages (environ 12000 tokens)
- Fichiers lus : 3 fichiers (environ 2000 tokens)
- MCP actifs : filesystem, playwright, postgres (environ 2500 tokens)
- Contexte système : 1000 tokens
TOTAL estimé : 17500 tokens
Action selon le résultat :
- Moins de 5000 tokens → OK, continuez
- Entre 5000 et 15000 tokens → Envisagez /compact
- Plus de 15000 tokens → Faites /clear ou /compact
Prenez le réflexe : /context tous les 10-15 messages pour surveiller votre consommation.
Être concis et structuré
Principe : Pas de bavardage
Claude n'a pas besoin de politesses ou de contexte narratif. Allez droit au but.
Inefficace (120 tokens)
Salut Claude ! J'espère que tu vas bien.
Alors voilà, j'ai un petit souci avec
mon code. En fait, hier j'ai essayé
de faire un truc mais ça n'a pas
marché. Je pense que c'est peut-être
lié à la base de données...
Efficace (25 tokens)
Bug : timeouts aléatoires GET /api/users
Stack : Flask + PostgreSQL + Redis
Fichier : src/api/users.py
Diagnostique la cause.
Gain : 75% de tokens économisés, information plus claire.
Pattern : La demande structurée
Organisez vos demandes complexes en sections claires :
CONTEXTE : [1 phrase]
PROBLÈME : [1-2 phrases]
OBJECTIF : [ce que vous voulez]
CONTRAINTES : [si pertinent]
Exemple réel :
CONTEXTE : API Flask en production, 200 req/min
PROBLÈME : 15% des requêtes POST /orders échouent avec "connection pool exhausted"
OBJECTIF : Identifier et corriger la fuite de connexions DB
CONTRAINTES : Pas de downtime possible
Fichier à auditer : src/api/orders.py
Grouper les demandes
Anticipez et regroupez les demandes liées en une seule instruction.
Inefficace (6 messages)
Vous : Crée validate_email
Claude : [crée]
Vous : Vérifie le format
Claude : [ajoute]
Vous : Et les domaines autorisés
Claude : [ajoute]
Vous : Et logger les erreurs
Claude : [ajoute]
Efficace (1 message)
Crée validate_email() qui :
- Vérifie format RFC 5322
- Accepte uniquement @company.com
- Log les tentatives invalides
- Retourne bool
- Inclut 5 tests unitaires
Regroupez toutes vos demandes en un seul message. Chaque aller-retour coûte l'intégralité du contexte.
Optimiser la configuration des MCP
Comprendre l'impact des MCP
Chaque MCP (Model Context Protocol) actif ajoute sa documentation complète au contexte de CHAQUE requête, même si vous ne l'utilisez pas.
| MCP | Impact par requête |
|---|---|
| Playwright (browser) | ~1000 tokens |
| PostgreSQL | ~700 tokens |
| Filesystem | ~500 tokens |
| Git | ~400 tokens |
Attention : Avec 5 MCP actifs, vous payez ~3000 tokens de "taxe système" à chaque message, avant même d'avoir écrit quoi que ce soit.
Règle : Désactiver par défaut, activer au besoin
La plupart du temps, vous n'avez besoin que de 1 ou 2 MCP maximum.
| Tâche | MCP nécessaires | MCP inutiles |
|---|---|---|
| Refactoring Python | filesystem | browser, database, git |
| Tests E2E UI | filesystem, playwright | database, git |
| Review de code | filesystem | tous les autres |
| Optimisation SQL | filesystem, postgres | browser, web |
Comment désactiver les MCP
Ouvrez votre fichier de configuration (~/.config/claude/settings.json) et ajoutez "disabled": true :
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-playwright"],
"disabled": true
},
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"disabled": true
},
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem"],
"disabled": false
}
}
}
Astuce : Créez plusieurs versions de ce fichier selon vos besoins :
settings-minimal.json: Seulement filesystemsettings-backend.json: filesystem + postgressettings-frontend.json: filesystem + playwright
Pour lancer Claude Code avec une configuration spécifique, utilisez l'option --mcp-config :
# Lancer avec la config minimale
claude --mcp-config ~/.config/claude/settings-minimal.json
# Lancer pour du backend
claude --mcp-config ~/.config/claude/settings-backend.json
# Créer des alias dans votre .bashrc ou .zshrc
alias claude-mini="claude --mcp-config ~/.config/claude/settings-minimal.json"
alias claude-back="claude --mcp-config ~/.config/claude/settings-backend.json"
alias claude-front="claude --mcp-config ~/.config/claude/settings-frontend.json"
Désactivez tous les MCP sauf filesystem par défaut. Activez les autres uniquement quand nécessaire.
Patterns de prompting avancés
Pattern : Instructions sans explication
Par défaut, Claude aime expliquer ce qu'il fait. C'est pédagogique mais coûteux.
Standard
Vous : Crée une fonction de validation
Claude : Je vais créer une fonction
qui valide les mots de passe selon
les critères de sécurité standards.
Elle vérifiera la longueur minimale,
la présence de caractères spéciaux...
[code]
Optimisé
Vous : Crée une fonction de validation.
Code uniquement, sans explication.
Claude : [code directement]
Ajoutez toujours "code uniquement" ou "action directe" quand vous n'avez pas besoin d'explications.
Pattern : Lecture ciblée de fichiers
Ne faites pas lire des fichiers entiers si vous n'avez besoin que d'une section.
Inefficace
Vous : Lis src/api/users.py (500 lignes)
Claude : [lit tout]
Vous : Regarde juste get_user_by_id
Vous avez payé pour 500 lignes alors que vous en vouliez 20.
Efficace
Vous : Lis uniquement la fonction
get_user_by_id dans src/api/users.py
Ou utilisez grep pour cibler.
Pattern : Commandes directes
Pour les actions simples, demandez l'action directement sans préambule.
Inefficace
Vous : Est-ce que tu peux lancer les
tests unitaires pour voir s'il y a
des erreurs ?
Efficace
Vous : pytest
Pour les actions bash standard, soyez minimaliste :
pytestau lieu de "lance les tests"git statusau lieu de "vérifie l'état du repo"ls src/au lieu de "montre-moi les fichiers dans src"
Ajoutez "code uniquement" ou "sans explication" pour économiser 40-60% de tokens sur les réponses.
Gestion de session et workflows
Workflow : Feature complète
Approche inefficace
[Session unique de 2h avec 50 messages]
- Brainstorming
- Implémentation itérative
- Tests
- Documentation
- Corrections
Contexte massif, gaspillage énorme.
Approche efficace
[Session 1 - Planning] 10 msg → /clear
[Session 2 - Implem] 15 msg → /clear
[Session 3 - Tests] 8 msg → /clear
[Session 4 - Docs] 5 msg
38 messages en 4 sessions légères.
Workflow : Debugging
Le debugging a tendance à faire exploser le contexte avec des logs et stack traces.
Stratégie en 3 temps :
TEMPS 1 - Diagnostic (session courte)
Vous : Bug sur POST /orders : timeouts
Logs : [20 lignes pertinentes]
Code : src/api/orders.py
Diagnostique la cause probable.
Claude : Cause probable : connection pool leak ligne 45
Vous : /clear
TEMPS 2 - Correction (nouvelle session)
Vous : Corrige le connection pool leak dans src/api/orders.py ligne 45
Claude : [corrige]
Vous : /clear
TEMPS 3 - Validation (nouvelle session)
Vous : pytest tests/test_orders.py
Claude : [lance les tests]
Découpez les grosses tâches en sessions courtes et focalisées. /clear entre chaque étape.
Checklist session
Avant de commencer
- Quel est mon objectif précis pour cette session ?
- De quels MCP ai-je réellement besoin ?
- Ai-je préparé toutes les informations nécessaires ?
Pendant la session
- Est-ce que je reste sur le même sujet ? (sinon → /clear)
- Ma session dépasse-t-elle 20 messages ? (→ /compact ou /clear)
- Est-ce que je répète des informations déjà données ?
- Est-ce que je demande des explications inutiles ?
Tous les 10-15 messages
- Taper /context pour vérifier la taille du contexte
- Si > 10000 tokens : décider entre /compact ou /clear
Erreurs courantes à éviter
Erreur 1 : La session-fleuve
Symptôme : Une session qui dure des heures avec 60+ messages sur des sujets variés.
Impact : Consommation de 50000+ tokens alors que 10000 auraient suffi.
Solution : Imposez-vous une limite de 25 messages par session.
Erreur 2 : Tous les MCP activés par défaut
Symptôme : Vous n'avez jamais touché à votre settings.json.
Impact : 2000-3000 tokens de "taxe" par message.
Solution : Désactivez tout sauf filesystem, puis activez au cas par cas.
Erreur 3 : Lire des fichiers volumineux en entier
Symptôme : "Lis src/main.py" alors que le fichier fait 1000 lignes.
Impact : 1000+ tokens consommés inutilement.
Solution : Utilisez grep ou demandez des lectures ciblées.
Erreur 4 : Demander des explications systématiques
Symptôme : Claude explique longuement avant chaque action.
Impact : 40-60% de tokens en plus.
Solution : Ajoutez "code uniquement, sans explication".
Erreur 5 : Ne jamais utiliser /context
Symptôme : Vous ne savez pas combien de tokens consomme votre session.
Impact : Vous naviguez à l'aveugle.
Solution : Tapez /context tous les 10-15 messages.
Conclusion
Optimiser votre usage de Claude Code, c'est adopter une hygiène simple :
- Une session = Un sujet : /clear entre chaque changement de contexte
- Moins de 25 messages par session : Au-delà, /compact ou /clear
- Vérifier le contexte régulièrement : /context tous les 10-15 messages
- Désactiver les MCP inutiles : Seul filesystem est nécessaire 80% du temps
- Être concis et structuré : Pas de bavardage, informations groupées
- Action directe : "Code uniquement" quand pas besoin d'explications
À retenir : Ces pratiques peuvent réduire votre consommation de 50 à 70% sans impacter votre productivité. Au contraire, des sessions courtes et focalisées produisent de meilleurs résultats.
Commencez par un seul réflexe : taper /context avant vos grosses requêtes. Vous verrez immédiatement l'impact de votre contexte. Puis ajoutez progressivement les autres pratiques.
Vous avez des questions ou d'autres techniques à partager ? Contactez-moi ou retrouvez-moi sur LinkedIn.