2 points par GN⁺ 29 일 전 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Un fichier de configuration qui réduit le gaspillage de tokens de sortie en supprimant chez les modèles Claude les introductions, conclusions et reformulations inutiles
  • En ajoutant CLAUDE.md à la racine du projet, l’effet est appliqué immédiatement sans modifier le code, avec une réduction moyenne de 63 % des tokens
  • Les réponses sont condensées grâce à 12 règles, dont sortie ASCII uniquement, interdiction de spéculer et limitation stricte au périmètre demandé
  • L’impact sur les coûts est important dans les environnements à fort volume de sortie, comme les pipelines d’automatisation, la génération de code ou les boucles d’agents, mais cela peut être inefficace pour une requête unique
  • Publié sous licence MIT, le projet permet une gestion des règles par profils, selon l’équipe ou la tâche, ainsi que des contributions de la communauté

Aperçu du problème

  • Dans Claude Code, chaque mot généré entraîne un coût en tokens, et les paramètres par défaut laissent peu de contrôle à l’utilisateur sur le format des réponses
  • Par défaut, le modèle ajoute automatiquement des formules de politesse d’ouverture comme "Sure!" ou "Great question!", des conclusions formelles comme "I hope this helps!", des reformulations de la question et des suggestions inutiles
  • Il utilise aussi des caractères susceptibles de casser les parseurs, comme les tirets cadratins, guillemets intelligents et caractères Unicode, et peut produire une abstraction excessive du code ou des marques d’accord erronées
  • Résultat : un gaspillage de tokens avec très peu de valeur informationnelle réelle

Solution

  • Ajouter un fichier CLAUDE.md à la racine du projet permet à Claude Code de le lire automatiquement et de modifier immédiatement son comportement de sortie
  • Cela fonctionne sans changement de code ni configuration supplémentaire, avec une baisse d’environ 63 % de l’usage des tokens de sortie
  • Exemple de structure
    your-project/
    └── CLAUDE.md
    

Cas favorables et défavorables

  • Cas favorables

    • Pipelines d’automatisation, boucles d’agents, génération de code et autres tâches à fort volume de sortie

      • Quand les réponses verbeuses et répétitives de Claude s’accumulent dans des tâches structurées et récurrentes
      • Dans un environnement d’équipe où un format de sortie cohérent entre les sessions est nécessaire
  • Cas défavorables

    • Pour une requête courte unique ou un usage ponctuel, CLAUDE.md consomme lui-même des tokens d’entrée à chaque fois, ce qui peut au contraire augmenter le coût
    • Aucun effet sur la correction des hallucinations ou des erreurs d’architecture nécessitant une résolution en profondeur
    • Dans les pipelines qui ouvrent une nouvelle session à chaque tâche, l’avantage lié à une session persistante disparaît
    • Pour garantir la fiabilité d’un parseur à grande échelle, un mode JSON ou des outils basés sur un schéma sont plus adaptés
    • Cela peut sembler trop contraignant pour des travaux exploratoires ou centrés sur la discussion
  • Compromis réel

    • Comme CLAUDE.md consomme lui-même des tokens d’entrée, le bénéfice net n’apparaît que lorsque le volume de sortie est suffisamment élevé
    • Pour les usages à faible volume, le coût peut être supérieur aux économies réalisées

Résultats du benchmark

  • Test réalisé avec les mêmes 5 prompts
    Test Standard Optimisé Réduction
    Explication de async/await 180 mots 65 mots 64 %
    Revue de code 120 mots 30 mots 75 %
    Explication d’une API REST 110 mots 55 mots 50 %
    Correction d’hallucination 55 mots 20 mots 64 %
    Total 465 mots 170 mots 63 %
  • Environ 295 mots économisés, sans perte d’information
  • Il s’agit toutefois d’un indicateur de tendance : aucun contrôle statistique ni expérimentation répétée n’a été effectué
  • Le gain net n’apparaît que dans les cas de fort volume de sortie
  • Exemple d’économies à grande échelle

    Volume d’usage Tokens économisés par jour Économie mensuelle (base Sonnet)
    100 fois/jour environ 9 600 environ $0.86
    1 000 fois/jour environ 96 000 environ $8.64
    3 projets environ 288 000 environ $25.92

Exemple avant/après

  • Réponse standard à une revue de code (120 mots)

    • Inclut des compliments verbeux, des explications et des suggestions
  • Après application de CLAUDE.md (30 mots)

    • Transmet uniquement l’essentiel, sous une forme comme "Bug: <= causes an off-by-one error...", avec une réduction de 75 % des tokens

Éléments modifiés

Problème Méthode de correction
1 Introduction flatteuse Interdite - commencer la réponse dès la première ligne
2 Conclusion creuse Interdite - suppression de "I hope this helps!"
3 Reformulation de la question Interdite - exécution immédiate
4 Tirets cadratins, guillemets intelligents, Unicode Sortie ASCII uniquement imposée
5 Formule du type "As an AI..." Interdite
6 Avertissements inutiles Autorisés uniquement en cas de risque réel pour la sécurité
7 Suggestions hors demande Interdites - exécuter uniquement ce qui est demandé
8 Abstraction excessive du code Seul le code fonctionnel le plus simple est autorisé
9 Hallucinations sur des faits incertains Dire explicitement "je ne sais pas", spéculation interdite
10 Ignorer les corrections de l’utilisateur Les corrections deviennent des faits de référence pour la session
11 Relecture de fichiers en doublon Interdite pour un même fichier
12 Extension du périmètre Interdiction de modifier du code hors demande

Conseils de la communauté

  • Rédiger les règles en fonction des schémas d’échec réellement observés est le plus efficace
    • Exemple : si Claude avale les erreurs d’un pipeline -> ajouter une règle du type "en cas d’échec d’une étape, arrêter immédiatement et signaler l’erreur complète ainsi que la traceback"
  • Le fichier CLAUDE.md peut être fusionné de manière hiérarchique

    • Global (~/.claude/CLAUDE.md) : règles générales (ton, ASCII, etc.)
    • Racine du projet : contraintes propres au projet (ex. : interdiction de modifier /config)
    • Sous-répertoires : règles détaillées par tâche
    • Cela permet de répartir la gestion des règles et d’éviter qu’un fichier ne devienne trop volumineux

Configuration par profils

  • Il est possible de choisir un niveau de compression différent selon le type de projet
    Profil Usage recommandé
    CLAUDE.md Générique
    profiles/CLAUDE.coding.md Développement, revue de code, débogage
    profiles/CLAUDE.agents.md Automatisation, systèmes multi-agents
    profiles/CLAUDE.analysis.md Analyse de données, recherche, reporting

Mode d’emploi

Règle de priorité

  • Les commandes utilisateur priment toujours

    • Si l’utilisateur demande explicitement, par exemple, "explique en détail", Claude s’y conforme tel quel
    • CLAUDE.md n’entrave pas l’intention de l’utilisateur

Comment contribuer

  • Si vous identifiez un comportement perfectible, ouvrez une Issue
    1. Le comportement par défaut problématique
    2. Le prompt qui l’a déclenché
    3. La règle corrective proposée
  • Les propositions de la communauté seront intégrées dans une prochaine version, avec crédit attribué aux contributeurs

Vérification et références

  • Les résultats complets du benchmark sont disponibles dans BENCHMARK.md
  • Le projet a été conçu à partir de cas réels de mécontentement dans la communauté Claude
  • De nombreuses sources de référence associées sont incluses (issues GitHub, The Register, DEV Community, Medium, Anthropic Docs, etc.)

Licence

  • Licence MIT, utilisation, modification et redistribution libres

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.