Michelin a décidé de désactiver par défaut la sélection automatique de modèle dans GitHub Copilot, après une expérimentation portant sur environ 700 requêtes. L’étude couvrait trois usages : des demandes simples via `copilot -p`, des tâches vérifiables comme l’agrégation pandas, les tests flaky ou l’injection SQL, ainsi que des sessions de chat allant jusqu’à 7 tours.
L’analyse des logs montre que le routage se fait côté serveur. Un classifieur attribue à chaque requête un score sur quatre axes : niveau de raisonnement requis, quantité de code à produire, présence d’un besoin de diagnostic/débogage et nécessité d’utiliser des outils. À partir de ces scores, GitHub Copilot détermine une fourchette de modèles possibles, puis semble en choisir un au hasard. Michelin a constaté que le mode Auto ne comprend pas réellement les tâches, mais réagit surtout aux mots employés : quelle que soit l’interface ou la méthode d’appel, une même phrase obtient toujours les mêmes scores.
Cette logique produit des résultats très variables. Pour un même prompt de renommage de variable, le mode Auto a parfois choisi MAI-Flash, parfois GPT-5.6 Terra. Le coût allait alors de 0,23 crédit à 3,24 crédits. Quand le score de raisonnement dépassait ou égalait 0,55, le routeur n’a jamais retenu de « petit » modèle. En dessous de 0,3, il l’a fait dans 41 cas sur 46. Entre les deux, le comportement relevait de la loterie : dans 14 cas sur 19, le modèle changeait d’une répétition à l’autre.
Michelin a aussi testé l’ajout d’un avertissement du type « Complex architecture question: » au début des requêtes. L’effet sur les scores est resté faible, insuffisant pour changer de fourchette de modèles. À l’inverse, qualifier une requête de simple a eu un impact plus net, avec 7 downgrades sur 12 tâches. Plus largement, les scores ne tiennent pas compte du contexte : ils restent identiques dans un dossier vide ou dans un espace de travail équipé de fichiers d’instructions et de serveurs MCP. Malgré cela, le mode Auto a changé de modèle dans trois cas.
Sur le plan économique, GitHub promet 10 % de remise avec le mode Auto. Michelin confirme que cette réduction existe à modèle identique : par exemple, avec Claude Sonnet 5, le coût moyen a été 11,9 % inférieur sur 6 requêtes. Mais cette ristourne ne compense pas toujours le surcoût global du mode Auto, surtout dans les sessions de chat à plusieurs tours.
Pour tester cet effet, Michelin a posé les 7 mêmes questions dans deux ordres différents. En commençant par une question difficile, le mode Auto a choisi Claude Sonnet ou GPT Sol, puis s’y est tenu, pour un coût moyen de 13,7 crédits. En débutant par une question simple comme « Renomme cette variable », il a au contraire sélectionné un modèle plus petit, GPT Luna, et l’a conservé plus souvent, pour un coût moyen de 0,78 crédit. Quand le modèle change en cours de session, la décision ne repose pas sur la dernière question mais sur l’ensemble de la conversation, et la bascule a un coût supplémentaire car le cache est vidé et le contexte doit être renvoyé.
Michelin a également tenté de vérifier si la charge serveur influençait le choix du modèle. Sur une trentaine d’heures, la même requête de 225 caractères a été envoyée chaque heure. Sur 29 appels effectivement traités, Claude Sonnet 5 a été choisi 13 fois, autant que GPT Sol, tandis que Claude Opus 5 n’a été retenu que 3 fois. L’hypothèse d’un arbitrage lié à la charge n’a donc pas été confirmée.
L’entreprise a ensuite cherché à comprendre ce qui fait varier les scores du classifieur. À partir d’une phrase neutre de 112 caractères, plusieurs modifications ont été testées. L’ajout du verbe « refactor » augmente le score de raisonnement de 0,164. L’ajout de « with PostgreSQL » fait monter le score d’usage d’outils de 0,168. L’insertion de jargon métier comme « perceived latency » ou « conversion rate » accroît le score de debugging de 0,197. À l’inverse, un simple remplissage neutre de 142 à 392 caractères fait baisser nettement le score de raisonnement, de 0,29 à 0,21 selon les cas. Rédiger en anglais plutôt qu’en français le réduit aussi, en moyenne de 0,035. Dans les tests, le score de raisonnement a dépassé 0,55 pour seulement 2 tâches sur 12.
Au final, Michelin considère que, pour les tâches unitaires du quotidien, GPT Luna constitue un « choix défendable » : il donne des résultats comparables au mode Auto pour un coût 6 à 18 fois inférieur. Dans cette optique, le mode Auto ressemble davantage à un filet de sécurité qu’à un véritable levier d’économies.
L’auteur de l’expérience précise qu’il ne s’agit pas d’un benchmark au sens strict. Les conclusions valent pour un catalogue précis de modèles, dans un environnement donné : Michelin autorise 11 modèles, en bloque moins qu’il n’en autorise, et l’abonnement ainsi que la version de CLI étaient spécifiques. GitHub a par ailleurs fait évoluer son offre pendant l’expérimentation, notamment avec l’arrivée de Luna, absent au démarrage.
En marge, Michelin a aussi testé HydraFusion, une option expérimentale plus proche d’un orchestrateur que d’un simple routeur. Chaque requête y génère un plan, dont les différentes phases sont attribuées à des modèles distincts, sans score visible dans les traces de Copilot. Sur les tâches simples, HydraFusion a presque toujours choisi GPT Sol. Sur les tâches en cascade, un « petit » modèle comme Luna amorce le travail, puis GPT Sol joue le rôle de juge et, si nécessaire, de correcteur. Cette correction représente 72 à 90 % du coût de la session.
Dans deux cas, HydraFusion a même confié l’ébauche et la révision à Claude Opus 5, sous l’arbitrage de GPT Sol. La facture a alors atteint 16 et 28 crédits, contre 3 crédits environ pour le mode Auto. Michelin en conclut qu’HydraFusion n’est pas un substitut, mais un mécanisme de qualité, nettement plus coûteux. Quelques jours après l’expérience, GitHub a d’ailleurs assoupli le mode Auto avec trois niveaux — « Efficiency », « Balance » et « Intelligence » — tout en conservant le cache entre modèles.