Guide du paléolithique : réduire le blabla de l’IA, compresser 75% de tokens, pour plus de justesse

April 12, 2026

Difficulté d’entrée | ≈ 10 minutes | Vous maîtriserez l’installation et la configuration complètes de caveman, comprendrez les 4 niveaux de mode de compression (Lite / Full / Ultra / 文言文) et rincerez chaque token des sorties de l’IA.

Présentation du projet

caveman est une compétence de compression des réponses d’un assistant IA pour le code, développée par Julius Brussee. Adresse GitHub : JuliusBrussee/caveman.

L’idée est très simple : faire répondre l’IA uniquement avec l’essentiel. Tout en conservant la précision technique, vous comprimez les tokens de sortie d’environ 75%. Une étude de 2026 (arxiv:2604.00025) a même observé qu’en imposant des contraintes de concision aux modèles, la précision augmentait de 26 points sur certains benchmarks — autrement dit, dire plus ne veut pas dire répondre mieux.

caveman n’est pas juste un projet de blague. Il embarque quatre niveaux d’intensité de compression (Lite / Full / Ultra / 文言文), plus trois sous-compétences : caveman-commit (messages de commit ultra minimalistes), caveman-review (revue de code en une ligne) et caveman-compress (compression de fichiers de mémoire). Compatible avec 40+ assistants de codage IA, dont Claude Code, Codex, Cursor, Windsurf, Cline, Copilot, Gemini CLI, etc.

Public visé

Vous utilisez chaque jour un assistant IA pour coder, mais vous tombez souvent sur : des réponses trop bavardes, des points clés noyés, et le sentiment de devoir tout retaper/reformuler soi-même après lecture. Accélérer et réduire les coûts, c’est vital : vous ne voulez pas gaspiller des tokens et du temps dans des politesses sans valeur.

Dépendances clés et environnement

DépendanceDescription
Assistant IA pour le codeClaude Code / Codex / Cursor / Gemini CLI, etc. — au moins un
Node.jsrequis : méthode d’installation via npx skills
Python 3.10+requis : l’outil de compression caveman-compress
Gitrequis : installation via plugin

Structure complète du projet

my-project/
├── CLAUDE.md                    # Écrit après installation de caveman, toujours actif (Claude Code)
├── .caveman/                    # Dossier de marquage d’état (généré automatiquement)
│   └── .caveman-active          # Mode courant : full / lite / ultra / wenyan
├── .cursor/rules/caveman.mdc    # Règle Cursor always-on (générée automatiquement)
├── .windsurf/rules/caveman.md   # Règle Windsurf always-on (générée automatiquement)
├── .clinerules/caveman.md      # Règle Cline (générée automatiquement)
└── .github/copilot-instructions.md  # Règle Copilot (générée automatiquement)

Étapes pas à pas

Étape 1 — Installer caveman

caveman prend en charge 40+ assistants IA. Choisissez une commande selon votre plateforme :

Claude Code (recommandé)

# Méthode 1 : marché des plugins (le plus simple)
claude plugin marketplace add JuliusBrussee/caveman
claude plugin install caveman@caveman

# Méthode 2 : installation par script (sans système de plugins)
# macOS / Linux / WSL
bash <(curl -s https://raw.githubusercontent.com/JuliusBrussee/caveman/main/hooks/install.sh)

# Windows PowerShell
irm https://raw.githubusercontent.com/JuliusBrussee/caveman/main/hooks/install.ps1 | iex

Codex (VS Code + Codex)

# macOS / Linux
# 1. Cloner le dépôt → ouvrir Codex dans le dossier cible → /plugins → rechercher "Caveman" → Install

# Windows (il faut d’abord activer les liens symboliques)
git config --global core.symlinks true
# Puis pareil : cloner → VS Code → Codex Settings → Plugins → installer Caveman

Gemini CLI

gemini extensions install https://github.com/JuliusBrussee/caveman

Cursor / Windsurf / Cline / Copilot

npx skills add JuliusBrussee/caveman -a cursor
npx skills add JuliusBrussee/caveman -a windsurf
npx skills add JuliusBrussee/caveman -a cline
npx skills add JuliusBrussee/caveman -a github-copilot

Autres agents (opencode / Roo / Goose / Kiro, etc. — 40+ )

npx skills add JuliusBrussee/caveman    # détection automatique
# ou spécifier
npx skills add JuliusBrussee/caveman -a opencode
npx skills add JuliusBrussee/caveman -a roo

WARNING

npx skills add installe uniquement le fichier de skill lui-même, pas le fichier de règle always-on de l’Agent. Donc, après installation, Cursor / Windsurf / Cline / Copilot doivent activer manuellement à chaque session. L’étape 7 explique comment les faire passer en always-on.

Étape 2 — Activer le mode caveman

Après l’installation, dans n’importe quelle conversation, entrez l’une des commandes ci-dessous pour activer caveman :

/caveman          # Mode Full par défaut
$caveman          # Pour Codex : $ à la place de /

Ou déclenchez en parlant directement :

talk like caveman
caveman mode
less tokens please

TIP

Dans Claude Code / Gemini CLI / Codex, /caveman déclenche automatiquement le hook SessionStart à chaque nouvelle session : une fois installé, pas besoin d’activer manuellement à chaque fois. Pour Cursor / Windsurf, etc., l’étape 7 nécessite une configuration additionnelle.

Étape 3 — Choisir le niveau de compression

caveman propose quatre niveaux d’intensité de compression. Changez de mode via la commande :

NiveauCommandeCaractéristiquesCas d’usage
Lite/caveman liteSupprime les fillers, conserve la syntaxe complète : pro mais concisCommunication formelle, besoin de garder la structure
Full/caveman fullSupprime les articles (a/an/the), autorise la segmentation, remplacements pour les mots courtsDéveloppement quotidien (par défaut)
Ultra/caveman ultraCompression extrême : abréviations, flèches causales (→)Debug rapide, contexte sous forte pression
文言文/caveman wenyanCompression en 文言文, grammaire chinoise classiqueGéants du codage, développeurs chinois

Comparaison sur le même problème React :

🗣️ Réponse normale (69 tokens) :
"Your React component re-renders because you are creating a new object reference on each
render cycle. When you pass an inline object as a prop, React's shallow comparison sees
it as a different object every time, which triggers a re-render. I'd recommend using
useMemo to memoize the object."

🪶 Lite (39 tokens) :
"Your component re-renders because you create a new object reference each render.
Inline object props fail shallow comparison every time. Wrap it in useMemo."

🪨 Full (19 tokens) :
"New object ref each render. Inline object prop = new ref = re-render. Wrap in useMemo."

🔥 Ultra (15 tokens) :
"Inline obj prop → new ref → re-render. useMemo."

📜 文言文 (11 tokens) :
"物出新參照,致重繪。useMemo Wrap之。"

Quitter le mode caveman :

stop caveman
normal mode

IMPORTANT

Le contenu des blocs de code n’est pas compressé. caveman compresse uniquement les réponses en langage naturel : code, chemins de fichiers, URL, commandes restent identiques.

Étape 4 — caveman-commit : messages de commit ultra minimalistes

caveman-commit est une sous-compétence dédiée à la génération de messages de commit, en respectant Conventional Commits : le sujet ne dépasse jamais 50 caractères.

/caveman-commit

Exemples de sortie :

# Commit Claude normal (trop long) :
"Added user authentication functionality including JWT token generation and validation,
password hashing with bcrypt, and session management middleware. This improves security
by implementing proper authentication flows."

# Résultat de caveman-commit :
"feat(auth): JWT + bcrypt login, session middleware"

Format du sujet : type(scope): subject, toujours ≤ 50 caractères, why before what.

Étape 5 — caveman-review : revue de code en une ligne

caveman-review fait une revue ligne par ligne de vos PR ou d’extraits de code, dans un format fixe, sans blabla :

/caveman-review

Collez votre diff ou votre code, et il renvoie :

L42: 🔴 bug: user null. Add guard.
L58: 🟡 perf: N+1 query. Prefetch in ORM.
L71: 🟢 nit: unused import. Remove.

Vous n’avez plus besoin de parcourir une longue section de commentaire dans une PR du type « je pense qu’on pourrait améliorer ici » : il vous dit directement quelle ligne a un problème et comment le corriger.

Format : L<numéro de ligne>: <🔴🟡🟢> <type de problème>: <description>. <correctif recommandé>.

Étape 6 — caveman-compress : compresser les fichiers de mémoire du projet

C’est l’une des sous-compétences les plus utiles de caveman. Votre CLAUDE.md est lue par l’IA à chaque session — si vous y mettez plein de descriptions longues et amicales, vous gaspillez des tokens à chaque lecture. caveman-compress compresse ces fichiers de mémoire dans un format optimisé pour que l’IA les lise efficacement, tout en conservant une sauvegarde originale éditable pour vous.

/caveman:compress CLAUDE.md

Après exécution :

CLAUDE.md          ← version compressée (Claude la lit à chaque fois)
CLAUDE.original.md ← sauvegarde originale (vous éditez celle-ci ; la compression est unidirectionnelle)

Résultats observés de compression :

Fichiertokens initiauxaprès compressionÉconomie
claude-md-preferences.md70628559.6%
project-notes.md114553553.3%
claude-md-project.md112263643.3%
todo-list.md62738838.1%
mixed-with-code.md88856036.9%
Moyenne89848146%

TIP

caveman-compress ne compresse que la prose (paragraphes en langage naturel). Les blocs de code, URL, chemins de fichiers, commandes, titres, dates, numéros de version sont conservés tels quels et ne seront jamais compressés par erreur.

Étape 7 — Configuration Always-On

Après installation, Claude Code / Gemini CLI passent automatiquement en always-on : aucune configuration supplémentaire n’est nécessaire.

Cursor / Windsurf / Copilot, etc. : après installation avec npx skills add, vous devez ajouter manuellement un snippet pour que cela reste toujours activé. Écrivez le niveau que vous préférez dans le fichier de règles de l’Agent :

Terse like caveman. Technical substance exact. Only fluff die.
Drop: articles, filler (just/really/basically), pleasantries, hedging.
Fragments OK. Short synonyms. Code unchanged.
Pattern: [thing] [action] [reason]. [next step].
ACTIVE EVERY RESPONSE. No revert after many turns.
Code/commits/PRs: normal. Off: "stop caveman" / "normal mode".

Emplacement du snippet pour chaque Agent :

AgentChemin du fichier
Cursor.cursor/rules/caveman.mdc
Windsurf.windsurf/rules/caveman.md
Copilot.github/copilot-instructions.md ou instructions personnalisées
opencode.config/opencode/AGENTS.md
Roo.roo/rules/caveman.md

Étape 8 — Désinstaller / Restaurer le mode par défaut

# Désinstaller le plugin pour Claude Code
claude plugin uninstall caveman

# Désinstallation des hooks standalone
bash hooks/uninstall.sh           # macOS / Linux
powershell -File hooks\uninstall.ps1  # Windows

# Désinstallation de npx skills
npx skills remove caveman

# Désinstallation pour Gemini CLI
gemini extensions uninstall caveman

Après désinstallation, le dossier d’état .caveman/ et les fichiers de règles doivent être nettoyés manuellement (si nécessaire).

Dépannage des problèmes fréquents

1. Le plugin est installé, mais caveman ne s’active pas automatiquement

Claude Code utilise le hook SessionStart pour l’activation auto. Vérifiez que le hook est correctement écrit :

# Vérifier s’il y a un hook SessionStart dans ~/.claude/settings.json
cat ~/.claude/settings.json | grep -i "SessionStart"

# Ou réinstaller
claude plugin uninstall caveman
claude plugin install caveman@caveman

2. Cursor / Windsurf en always-on ne s’applique pas

npx skills add n’écrit pas automatiquement la règle always-on. Ajoutez manuellement le snippet de l’étape 7 dans le fichier de règles correspondant, enregistrez, puis rechargez l’Agent.

3. Mode 文言文 : sortie en charabia ou avec des ?

Vérifiez que votre terminal et votre éditeur supportent l’UTF-8. Sur Windows, l’encodage par défaut de PowerShell peut poser problème :

chcp 65001
$env:LESSCHARSET=utf-8

Dans VS Code, confirmez que l’encodage des caractères est bien UTF-8 dans la barre d’état en bas.

4. caveman-compress compresse aussi les blocs de code

Impossible. Les blocs de code, URL, chemins de fichiers et commandes sont des éléments sautés : ils ne participent pas à la compression. Si vous observez un comportement anormal, c’est généralement un problème de format du fichier (par ex. un oubli dans le marquage du bloc de code ```). Vous pouvez restaurer manuellement en vous basant sur CLAUDE.original.md.

5. La commande /caveman ne répond pas

Une autre skill intercepte peut-être les commandes de slash. Dans Claude Code, testez plutôt le déclenchement vocal : « talk like caveman ». Si ça ne marche toujours pas, vérifiez s’il existe un conflit de skill de même nom.

6. Plusieurs Agents cohabitent : caveman ne fonctionne plus dans un Agent

La configuration de caveman est indépendante pour chaque Agent, donc ils ne s’influencent pas mutuellement. Si caveman ne s’applique pas dans un Agent précis, vérifiez si ce dernier contient bien un fichier caveman dans son dossier de règles.

Lectures complémentaires / pistes avancées

1. Les trois bras de l’évaluation de caveman : comment garantir l’honnêteté des données

La plupart des évaluations de « techniques de compression » comparent la réponse du skill à la réponse « normale » — ce n’est pas juste, car la concision (terseness) améliore déjà la qualité. caveman utilise une évaluation en trois bras : _baseline_ (sans prompt système), _terse_ (uniquement « Answer concisely ») et <skill> (règles complètes caveman). La quantité réellement économisée correspond à la différence entre skill et terse, pas à skill vs baseline. Cette méthodologie vaut le coup d’être reprise pour n’importe quel benchmark d’outils d’assistance IA.

2. Interpréter des données de benchmark réelles

Sur une série de 10 tâches, on observe une baisse moyenne des tokens générés de 1214 à 294, soit 65% d’économies. Le gain varie de 22% (git rebase vs merge : l’explication est déjà longue) à 87% (erreur React sur les limites : les réponses normales sont extrêmement sur-développées). Plus une tâche « explique trop », plus caveman économise.

3. Cavekit : une chaîne d’outils pilotée par des spécifications, par le même auteur

JuliusBrussee/cavekit est un projet complémentaire : vous écrivez les spécifications en langage caveman → Claude construit en parallèle → production de logiciels utilisables. Si vous utilisez caveman pour optimiser l’efficacité de sortie, cavekit peut aussi faire des choses similaires côté entrée.

4. Créer des niveaux de compression personnalisés

Toutes les règles de niveau sont définies dans skills/caveman/SKILL.md. Vous pouvez en copier une version, modifier le tableau des abréviations, conserver ou ajuster les règles de symboles de cause/effet, et créer vos propres niveaux. Par exemple, ajouter des abréviations d’un jargon interne à l’équipe, ou interdire le remplacement de certains termes techniques.

5. L’adaptabilité de la compression 文言文 à d’autres langues

Le principe du mode 文言文 est : le langage écrit le plus concis de l’histoire humaine + une densité très faible de tokens par caractère. Sur des corpus en anglais, wenyan-full compresse encore d’environ 40–60%, car la grammaire du chinois classique (« omission du sujet + inversion du verbe et de l’objet ») reste efficace même dans un environnement monolingue. C’est adapté aux scénarios qui visent une compression extrême tout en acceptant de s’adapter à une syntaxe particulière.

Updated April 12, 2026