OLYMPUS

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.

5 niveaux de modèle×40 d'écart de prix Haiku → Opus91 % du coût sur Opus (30 j)~12 min de lecture
model-routerHaikuSonnetOpusFableEscaladeCoûts
00

Pourquoi répartir les modèles

ObjectifComprendre où part la consommation avant de chercher à la réduire.

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èleTarif API ($ par million de tokens)
Haiku 5.5entrée 0,10 · sortie 0,50 · cache lu 0,01
Sonnet 5.5entrée 2 · sortie 10 · cache lu 0,20
Opus 5.5entrée 4 · sortie 20 · cache lu 0,20
Fable 5.1entré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.

Correct
EXPRESSION
Un sous-agent Haiku lit 30 fichiers dans son propre contexte et rend 20 lignes de conclusion à Opus
Incorrect
EXPRESSION
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 ?

01

Les cinq niveaux du routeur

ObjectifSavoir quel modèle reçoit quelle tâche, et pourquoi.

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.

scout

Haiku · effort medium

Lire, chercher, renommer, écrire du code répétitif, lancer les tests.

builder

Sonnet · effort high

Une spécification claire, 1 à 3 fichiers, un test à faire passer.

engineer

Opus · effort medium

Changements sur plusieurs fichiers, refactor, bug dont on ne connaît pas la cause.

senior

Opus · effort xhigh

Une tâche engineer qui a échoué une fois.

architect

Fable · effort high

Arbitrages, logique sensible (sécurité), ou deux échecs de suite.

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 ?

02

Installer et vérifier

ObjectifInstaller le plugin sans abîmer la configuration existante.
Dans le prompt de Claude Code (commandes interactives)
/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 gh sert à une synchro optionnelle.
  • Sauvegarder ~/.claude/settings.json avant (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 enregistreOù
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âchemê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.

03

L'utiliser au quotidien

ObjectifSavoir lancer le routage et lire ce qu'il a fait.
CommandeEffet
/model-router:runApplique les règles à la demande en cours : découpe, choix du niveau, vérification, escalade.
/model-router:startMode automatique : chaque prompt tapé est routé, pour la session en cours seulement.
/model-router:stopArrête le mode automatique.
/model-router:stats 7Coût des sous-agents sur 7 jours, par niveau et par modèle.
/routerPanneau des coûts de la session (avec le mod du plugin).
Correct
EXPRESSION
« Trouve tous les appels à fetch() dans apps/ » → scout (Haiku) en 20 s
Incorrect
EXPRESSION
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 ?

04

Pièges et limites

Les commandes `/model-router:*` sont introuvables juste après l'installation
CauseHooks et commandes ne se chargent qu'au démarrage d'une session.
SolutionOuvrir une nouvelle session, ou /reload-plugins.
Un sous-agent Explore ou Plan tourne toujours sur Opus
CauseLe routeur ne réécrit que ses propres sous-agents model-router:* ; les agents intégrés gardent leur modèle.
SolutionPasser par les niveaux du routeur pour les tâches à router.
Le coût en dollars ne baisse pas sur la facture
CauseL'abonnement est forfaitaire : les montants sont des équivalents API.
SolutionRegarder les jauges de quota (5 h, semaine) : c'est là que se voit le gain.
Une tâche Haiku rate et repart sur Opus
CauseC'est l'escalade prévue : un échec, une relance, puis le niveau au-dessus.
SolutionNormal ; si ça se répète pour un type de tâche, le routeur finit par apprendre la règle.
Les coûts estimés semblent faux pour un nouveau modèle
CauseLe plugin et la sonde d'infra ont chacun leur table de tarifs codée en dur.
SolutionMettre à jour 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.

Source : README et code du plugin DevstateBelgium/model-router v2.3.0 (commit 8271ee9, relu le 08/11/2026), doc Claude Code sur les sous-agents, tarifs publics de l'API et relevé infra.pix-up.com/claude du 08/11/2026. Les montants sont des équivalents API : l'abonnement est forfaitaire.
Neo