56 points par spilist2 10 일 전 | Aucun commentaire pour le moment. | Partager sur WhatsApp

Contexte

  • Dans les notes de sortie de Claude Opus 4.7, c’est la partie sur l’« augmentation de l’utilisation des tokens » qui a le plus attiré l’attention.
  • À une époque où l’on peut faire énormément de choses dès lors qu’on dispose de suffisamment de tokens et de temps, l’efficacité en tokens devient elle aussi un sujet constant.
  • Je me suis demandé s’il existait un moyen d’améliorer l’efficacité en tokens en modifiant les paramètres de Claude Code et de Codex. En analysant la documentation officielle de Claude Code (configuration/variables d’environnement/IDE), celle de Codex (configuration/variables d’environnement/MCP), ainsi que le code source de Codex, j’ai obtenu des résultats significatifs.
  • J’ai aussi appris de nombreuses façons d’améliorer l’efficacité en tokens, la vitesse de démarrage et la stabilité, non seulement dans le mode interactif que j’utilise au quotidien, mais aussi de manière programmable en mode non interactif.

Prompt pour analyser mon état actuel

Pour ceux qui veulent aller droit au but et vérifier la configuration de leur agent de code :

https://gist.github.com/spilist/c468cbf1ed0ffc91100f813aabdcd520/… 를 읽고 그대로 실행해줘  

Qu’est-ce qui consomme réellement des tokens ?

Dans un agent de code, les principales fuites de tokens passent généralement par trois voies :

  1. du texte supplémentaire ajouté automatiquement à chaque session ou à chaque tour
  2. des sorties d’appels d’outils trop longues qui restent dans l’historique de conversation
  3. des appels additionnels provoqués par des connexions externes, comme la recherche, les connecteurs ou l’intégration IDE

Voici les leviers permettant de réduire ces trois postes dans Claude Code et Codex. (Je laisse de côté les bases, comme désactiver les serveurs MCP/plugins inutilisés, ou ajuster le modèle et le niveau de raisonnement.)

  • Les explications détaillées de chaque réglage et leurs compromis sont décrites plus en détail dans le billet de blog.

Claude Code (dernière version vérifiée : 2.1.114)

  1. includeGitInstructions: false

  2. autoConnectIde: false

  3. CLAUDE_CODE_GLOB_NO_IGNORE=false

  4. Définir des plafonds de sortie (BASH_MAX_OUTPUT_LENGTH, CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS, MAX_MCP_OUTPUT_TOKENS)

  5. Variables d’environnement et flags pour les tâches courtes et simples, ou pour le mode non interactif

    • ENABLE_CLAUDEAI_MCP_SERVERS=false : désactiver les serveurs MCP
    • CLAUDE_CODE_DISABLE_AUTO_MEMORY=1 : empêcher le chargement des mémoires enregistrées automatiquement
    • CLAUDE_CODE_DISABLE_CLAUDE_MDS=1 : ignorer les CLAUDE.md globaux/projet
    • CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS=1 : exclure du prompt système les sous-agents intégrés et les définitions de compétences
    • --tools : activer sélectivement les outils natifs. Avec --tools "", tout est désactivé. Pour un worker qui n’utilise réellement que l’intelligence du modèle, on peut tout couper ; en revanche, pour de petites tâches en mode interactif, tout désactiver l’empêche carrément de travailler, donc on peut n’activer que le nécessaire, par exemple "Bash,Edit,Glob,Grep,Read,Write".
    • --strict-mcp-config : n’utiliser que la configuration MCP explicitement fournie en CLI et ignorer la configuration MCP globale. Cela permet d’injecter proprement uniquement les connecteurs nécessaires à chaque worker.
    • --disable-slash-commands : retire du prompt système les définitions des commandes slash comme /help ou /clear
    • --no-session-persistence : n’utilise pas le chemin de sauvegarde/reprise de session, ce qui efface les traces d’une exécution ponctuelle
    • --exclude-dynamic-system-prompt-sections : retire les sections qui varient selon la machine/l’environnement afin d’améliorer le taux de réutilisation du cache de prompt
    • --system-prompt : on peut aussi, tout simplement, remplacer entièrement le prompt système de Claude
  6. Vider l’attribution

Codex CLI (dernière version vérifiée : 0.121.0 + code source GitHub de Codex pour cette version)

  1. Désactiver les MCP (apps/connecteurs) reliés à ChatGPT (features.apps = false)
  2. web_search = "disabled"
  3. Définir un plafond de sortie (tool_output_token_limit)
  4. Flags pour un bon fonctionnement en mode non interactif
    • --profile : permet de regrouper certains réglages (web_search = "disabled", tool_output_token_limit = 2000, etc.) et de les appliquer de manière sélective
    • --json + --output-last-message FILE : facilite le parsing/l’extraction dans une pipeline et réduit la reconsommation de tokens à l’étape de post-traitement
    • --sandbox read-only : dans une automatisation qui n’a besoin que de lecture, empêche qu’une tentative d’écriture involontaire déclenche une boucle de nouvelles tentatives et gaspille des tokens
    • --skip-git-repo-check : permet l’exécution même dans un répertoire non approuvé
    • --ephemeral : n’enregistre pas le fichier de session sur disque
    • --color never : rend la sortie de pipeline plus propre
  5. Vider l’attribution

En conclusion

J’ai vérifié les faits aussi soigneusement que possible, mais il peut bien sûr rester des erreurs. N’hésitez pas à me les signaler.

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.