Épinglez le modèle que les agents utilisent — planifier sur l’un, exécuter sur l’autre
Neutralisez le choix de modèle côté client, puis séparez le mode plan de l’exécution pour qu’un modèle fort planifie et qu’un modèle économique exécute.
Ce dont la communauté se plaint réellement
« Nos développeurs basculent Claude Code sur Opus pour résumer un journal de modifications », « chacun a un modèle différent dans ses réglages et nous ne pouvons pas voir qui a dépensé quoi », « nous avons essayé une politique côté client, mais n’importe qui peut la remodifier ».
Le choix du modèle est une décision de coût, pas une préférence de développeur — il doit être appliqué au niveau de la passerelle, là où la requête atterrit réellement.
Comment GateLLM procède
Trois couches, aucune facultative : la liste d’autorisation de modèles du groupe de clés (porte d’entrée) rejette les noms de modèles non autorisés avec 403 ; un mappage fourre-tout depuis "*" réécrit ce que le client demande vers le modèle sanctionné ; et un script d’emplacement avant garde le mode plan sur le modèle fort et bascule vers le modèle d’exécution à la sortie.
Les requêtes de contournement — comme la génération de titre de conversation de Claude Code — ne portent aucun marqueur de plan, elles retombent donc sur le modèle d’exécution économique. C’est exactement le comportement « ne pas faire tourner Opus sur un résumé » que vous vouliez.
5 leviers qui portent réellement
- Porte d’entrée : la liste d’autorisation de modèles du groupe de clés rejette tout nom de modèle non autorisé avant le routage
- Mappage fourre-tout : de "*" → vers le modèle sanctionné normalise chaque nom demandé en un seul modèle
- Séparation plan/exécution : un script d’emplacement avant lit les marqueurs de mode plan et bascule le routage seulement après la sortie du plan
- Observable : les requêtes basculées reçoivent une étiquette SW dans les journaux, de sorte que le modèle d’atterrissage réel de chaque requête est auditable
- Rechargement à chaud : mappages et règles prennent effet immédiatement — sans redémarrage, sans déploiement par développeur