/reload-plugins.Formations
Mini-formation · plugin model-router
Routeur de modèles : le bon Claude pour chaque tâche
Pourquoi tout faire sur Opus coûte cher, comment le plugin model-router confie chaque sous-tâche au modèle le moins cher capable de la faire (Haiku, Sonnet, Opus, Fable), comment l'installer, le piloter et lire ce qu'il fait économiser dans infra.
Pourquoi répartir les modèles
Sur les 30 derniers jours, Claude Code aurait coûté environ 1 300 $ au tarif de l'API, dont 1 178 $ sur Opus, 114 $ sur Sonnet et presque rien sur Haiku. Opus fait donc tout, y compris lire des fichiers, chercher une route ou lancer des tests : un travail qu'un modèle 40 fois moins cher fait aussi bien.
| Modèle | Tarif API ($ par million de tokens) |
|---|---|
| Haiku 5.5 | entrée 0,10 · sortie 0,50 · cache lu 0,01 |
| Sonnet 5.5 | entrée 2 · sortie 10 · cache lu 0,20 |
| Opus 5.5 | entrée 4 · sortie 20 · cache lu 0,20 |
| Fable 5.1 | entrée 10 · sortie 50 · cache lu 0,25 |
Sur la dernière semaine (300 $), le coût se partage en trois tiers : écriture du cache 38 %, lecture du cache 34 %, sortie 28 %. L'entrée « fraîche » est négligeable. Autrement dit, on paie surtout le contexte : ce que le modèle relit à chaque réponse.
Un sous-agent Haiku lit 30 fichiers dans son propre contexte et rend 20 lignes de conclusion à Opus
Opus lit lui-même les 30 fichiers : ils restent dans son contexte et sont relus, au prix d'Opus, à chaque réponse suivante
Avec l'abonnement, ces dollars ne sont pas facturés : le gain réel, c'est de la marge sur les quotas (fenêtre de 5 h et semaine), donc plus de travail avant d'être freiné.
Pour vérifier
Qu'est-ce qui pèse le plus dans le coût d'une session Claude Code ?
Les cinq niveaux du routeur
Le plugin ajoute cinq sous-agents. Chacun épingle un modèle et un niveau d'effort : c'est le sous-agent qui fixe le modèle, pas une devinette du moment.
Haiku · effort medium
Sonnet · effort high
Opus · effort medium
Opus · effort xhigh
Fable · effort high
L'escalade
Une tâche part au niveau le moins cher qui peut la faire. Si le résultat ne passe pas la vérification, elle est relancée une fois avec un brief plus précis, puis monte d'un niveau. Opus (la session principale) vérifie lui-même chaque résultat avant de l'accepter.
Ce qui ne change pas
La session principale reste sur Opus. C'est voulu : changer de modèle en cours de session oblige à réécrire tout le cache, ce qui coûte plus que ce qu'on gagne. Le routeur ne touche qu'aux sous-agents.
Pour vérifier
Une correction de bug dont on ne connaît pas la cause, touchant 4 fichiers, part sur…
Pourquoi la session principale n'est-elle pas basculée sur Haiku pour les tâches simples ?
Installer et vérifier
/plugin marketplace add DevstateBelgium/model-router /plugin install model-router@model-router
- Relire le code avant d'installer : un plugin exécute ses hooks avec tes droits et voit l'environnement de Claude Code. Relu le 08/11/2026 : aucun appel réseau, seul
ghsert à une synchro optionnelle. - Sauvegarder
~/.claude/settings.jsonavant (fait :settings.json.bak-model-router-20261108). - Redémarrer une session : hooks, commandes et barre du routeur ne se chargent qu'au démarrage (ou
/reload-plugins). - Au premier démarrage, le plugin lance seul sa configuration (skill
model-router:setup) et le dit en une ligne.
| Ce qu'il enregistre | Où |
|---|---|
| Modèle, tokens, durée, coût estimé de chaque sous-agent | ~/.claude/plugins/data/…/telemetry.jsonl |
| Les 120 premiers caractères de la description de la tâche | même fichier |
| Les règles apprises (après 3 cas concordants) | boundaries.md, pending-runs.md |
Il n'enregistre ni tes jetons, ni le contenu des prompts.
L'utiliser au quotidien
| Commande | Effet |
|---|---|
/model-router:run | Applique les règles à la demande en cours : découpe, choix du niveau, vérification, escalade. |
/model-router:start | Mode automatique : chaque prompt tapé est routé, pour la session en cours seulement. |
/model-router:stop | Arrête le mode automatique. |
/model-router:stats 7 | Coût des sous-agents sur 7 jours, par niveau et par modèle. |
/router | Panneau des coûts de la session (avec le mod du plugin). |
« Trouve tous les appels à fetch() dans apps/ » → scout (Haiku) en 20 s
La même recherche faite par Opus dans la conversation, qui garde ensuite 80 k tokens de résultats dans son contexte
Le suivre dans infra
L'onglet Claude d'infra.pix-up.com montre le détail du coût par modèle : tarif, coût par poste (entrée, écriture du cache, lecture du cache, sortie), part des sous-agents, et le niveau du routeur qui utilise chaque modèle. La colonne Sous-agents est celle qui doit grossir sur Haiku et Sonnet pendant que le total d'Opus baisse.
Les jours relevés avant le 08/11/2026 n'ont que le total : le détail par poste commence à cette date.
Pour vérifier
Le routage automatique est-il gardé d'une session à l'autre ?
Pièges et limites
model-router:* ; les agents intégrés gardent leur modèle.seed/prices.json du plugin et PRICES de apps/infra/probe/claude-usage.mjs.Pour revenir en arrière : /plugin uninstall model-router, puis restaurer la sauvegarde de settings.json si besoin.