Mon agent appelle des outils. Chaque tour. Parfois l’appel est correct. Parfois c’est la bonne intention à la légèrement mauvaise place, flottant dans le texte du modèle là où le runtime ne regarde pas. Parfois le modèle décrit avoir fait le travail sans appeler un outil, et la description semble parfaite.

Pendant des mois, la solution a été d’étirer les modèles de chat dans tous les rôles : routage, verrouillage, classement, sélection d’actions, tri. Ils fonctionnent parce que vous pouvez les inviter à produire du JSON. Ils fonctionnent parce que vous pouvez extraire du JSON de leur texte. Ils fonctionnent jusqu’à ce qu’ils ne fonctionnent plus, et là vous passez trois jours à déboguer une dérive de prompt que personne ne peut reproduire.

En octobre 2026, la classe des modèles de décision — des modèles conçus spécifiquement qui produisent des probabilités sur des questions typées au lieu de texte libre — est passée de curiosité de recherche à vraie infrastructure. Cloudflare a publié Clef et Clef-flash. Amazon a publié Strands Decider. Jev, le pionnier de la catégorie, a publié Jev-2 avec Jev-Flash. Les trois parlent le même API. Les trois mangent le pain des modèles de chat pour les tâches de routage.

Ce que fait réellement un modèle de décision

Un modèle de chat prend du texte en entrée, du texte en sortie. Un modèle de décision prend un état (JSON, texte, jusqu’à 4 images ou vidéo), une liste de questions typées, et retourne une probabilité pour chaque réponse autorisée. Pas de prose. Pas d’extraction. Pas de « peut-être que le modèle voulait appeler delete_file ».

Clef-flash 9B de Cloudflare prend un état, une liste de questions typées avec des critères par option, et retourne des probabilités calibrées. Un seul passage. Un logit par option. Le modèle ne produit pas de texte — il route via une tête de schéma joint.

Jev-Flash fait la même chose mais est propriétaire et API-only. Strands Decider d’Amazon est aussi des poids ouverts Apache 2.0, de classe décision, compatible Jev-API.

La différence avec un modèle de chat n’est pas l’architecture — ce sont tous des transformers. La différence est l’objectif d’entraînement et la tête de sortie. Les modèles de décision sont post-entraînés sur des tâches de routage avec une entropie croisée lissée et une perte de Brier pour le calibrage. Le résultat : ils ne surinventent pas les choix de réponse. Ils ne produisent pas de prose quand on veut un nombre. Ils n’ont pas besoin d’ingénierie de prompt pour rester sur le format.

Les Benchmarks

Cloudflare a comparé Clef à Jev sur 10 benchmarks de décision. Ce sont les propres chiffres de Cloudflare, donc considérez-les comme une comparaison avantageuse :

Benchmark Clef 27B Clef-flash 9B Jev
BFCL (cas exact) 98.47 98.76 95.75
BANKING77 (macro-F1) 94.20 90.93 79.74
CLINC150+OOS (macro-F1) 97.43 66.77 89.27
API-Bank (précision) 91.93 93.11 88.19
Appareils ménagers (cas exact) 82.95 97.73 52.27
When2Call (précision) 72.37 65.58 80.97
BRIGHT retrieval (nDCG@10) 45.91 39.26 47.52

Clef mène sur la classification d’outils et la détection d’intention. Jev mène sur les tâches de jugement — When2Call (le modèle appelle-t-il un outil, demande-t-il un complément ou refuse-t-il ?) et BRIGHT (recherche avec raisonnement). Clef-flash est le plus rapide mais s’effondre sur la détection hors-scope (CLINC150 : 66.77 vs 97.43 pour Clef).

Le test indépendant qui compte le plus pour les constructeurs d’agents : un agent de codage autonome exécutant 42 décisions réelles sur les actions d’utilisation d’ordinateur, la supervision de sous-agents et le tri d’emails. Jev a marqué 71,4 %. Clef-flash a marqué 66,7 %. Ils étaient d’accord sur 35 des 42 prédictions. Quand ils divergeaient, ils avaient tendance à échouer pour les mêmes raisons sous-jacentes — les deux modèles sont plus d’accord sur quelles tâches sont ambiguës que sur quelle réponse est correcte.

La latence est l’autre axe. Clef-flash a livré 38,8 ms médian sur un H200. Jev a affiché 524,1 ms médian sur l’API. Pour l’utilisateur local exécutant Clef-flash sur une RTX 3090, le test indépendant a rapporté 315 ms en local sans regroupement — encore compétitif avec un appel API rapide, mais le gain de confidentialité est réel : les queues de log, les chemins de fichiers et les contenus de messages ne quittent jamais le réseau.

Pourquoi ça compte pour les agents locaux

J’exécute des agents sur des modèles de chat pour le routage depuis des mois. Ça marche. Mais ça tourne aussi deux fois plus de paramètres que nécessaire, produit du texte inutile, et dérive sur le format quand le contexte devient long.

Les modèles de décision corrigent ça. Un modèle de 9B faisant du routage d’outils ne produit aucun texte, utilise moins de VRAM qu’un modèle de chat faisant le même travail, et a une confiance calibrée — vous pouvez fixer un seuil et avoir le modèle renoncer à un fallback quand il est incertain.

Le compromis est que les modèles de décision ne font pas de raisonnement. Ils ne écrivent pas de code. Ils ne résument pas. Ils routent. Le score GPQA Diamond de Clef est de 48,0 contre 78,3 pour Jev ; MMLU-Pro est de 65,9 contre 82,7. Vous n’executeriez jamais un modèle de décision comme modèle d’agent principal. Mais comme couche de routage au-dessus de n’importe quel modèle — local ou cloud — c’est l’infrastructure que vous faisiez tourner avec des bidouilles de prompt.

La question des poids ouverts

Clef (27B) et Clef-flash (9B) sont tous les deux Apache 2.0 sur Hugging Face. Strands Decider est aussi Apache 2.0. Jev est propriétaire et API-only. Ça compte parce que la couche de routage est dans le chemin critique de votre agent — chaque tour y passe. Si vous pouvez l’héberger en local sous résidence de données EU, c’est un gain de conformité. Si vous devez affiner sur vos propres données de domaine, les poids ouverts vous le permettent sans contrat vendor.

Clef nécessite environ 54 Go de VRAM en bf16. Les quantifications GGUF de la communauté n’incluent pas la tête de décision, donc il faut PyTorch et le fichier modèle personnalisé. Pour un seul GPU, Clef-flash (9B) tourne à 18 Go en bf16, ce qui tient sur une carte 24 Go. Le modèle complet 27B a besoin d’un deuxième GPU ou d’un déchargement CPU.

Le verdict

La classe des modèles de décision n’est plus un demo de recherche. Cloudflare, Amazon et Jev ont convergé vers la même forme d’API, et les benchmarks montrent une différenciation claire :

  • Clef-flash 9B : le plus rapide, le plus petit, idéal pour le routage à haut volume sur GPU grand public. Perd sur la nuance.
  • Clef 27B : la plus haute précision sur les tâches de routage, nécessite du matériel sérieux.
  • Jev : toujours le meilleur sur les tâches de jugement (When2Call, BRIGHT). API-only. Plus cher.
  • Strands Decider : poids ouverts, Apache 2.0, la proposition d’Amazon dans cet espace.

Si vous exécutez un agent local aujourd’hui, vous utilisez probablement un modèle de chat pour le routage. Ça marche. Mais c’est aussi faire tourner deux fois plus de paramètres que nécessaire, produire du texte inutile, et dériver sur le format quand le contexte devient long. Un modèle de décision est une couche de routage dédiée qui fait une chose bien : étant donné un état et un ensemble de questions, retourner des probabilités calibrées.

La pile agent devient plus modulaire. Le modèle de chat raisonne. Le modèle de décision route. Le système de mémoire se souvient. Chaque couche a son propre profil de performance, et c’est le point — vous arrêtez de demander à chaque modèle de tout faire.