Multimodèle ne veut pas dire plug-and-play

À la fin de mars, « choisir l’IA » est devenu beaucoup trop vague. Google a annoncé Gemini 1.5 en aperçu limité le 15 février, Anthropic a lancé Claude 3 le 4 mars, et GPT-4 Turbo apparaît déjà dans les comparatifs. Trois API acceptent du texte; elles ne constituent pas trois prises identiques.

Une passerelle interne peut normaliser l’authentification, les délais, les budgets et les journaux. Des adaptateurs traduisent ensuite notre requête vers chaque fournisseur. Le reste de l’application dépend d’un contrat que nous contrôlons.

application -> contrat interne -> routeur
                              |-> adaptateur A -> modèle A
                              |-> adaptateur B -> modèle B
                              `-> adaptateur C -> modèle C

Le contrat pourrait demander messages, documents, format_sortie et outils_autorises, puis retourner texte, sources, usage et version. L’adaptateur sait comment exprimer ces champs. Il doit refuser une capacité absente plutôt que la simuler silencieusement.

Les différences restent importantes : fenêtre de contexte, format des appels d’outils, sortie structurée, politique de rétention, régions, prix et limites de débit. Même avec un JSON identique, deux modèles peuvent classifier différemment ou produire des citations de qualité inégale.

Je garderais un jeu versionné de 150 cas répartis entre demandes normales, français québécois, documents longs, données manquantes et tentatives de faire sortir le modèle de son mandat. Chaque fournisseur reçoit exactement les mêmes sources autorisées. On mesure :

  1. exactitude des champs selon une grille métier;
  2. taux de refus appropriés et inappropriés;
  3. validité du format et des appels d’outils;
  4. délai médian et au 95e percentile;
  5. coût complet par cas;
  6. stabilité sur deux exécutions et après un changement de version.

Une bascule automatique ne devrait se produire qu’entre modèles ayant passé le seuil pour cette tâche. Si le modèle principal dépasse son timeout, le routeur peut envoyer une lecture sans effet au second. Pour une action d’écriture, réessayer ailleurs risque de doubler l’opération; l’identifiant de requête et le registre d’état doivent empêcher le rejeu.

Le fallback peut aussi dégrader explicitement le service. Si aucun modèle capable d’utiliser les outils n’est disponible, l’application offre une recherche et un brouillon sans action. C’est préférable à un fournisseur secondaire qui invente une structure et soumet quelque chose d’incomplet.

Je garderais prompts, jeux d’évaluation, documents sources et décisions hors du format propriétaire. Les logs indiquent modèle, région, version, coût et résultat, sans enregistrer inutilement les données sensibles. Les secrets sont distincts; révoquer un fournisseur ne coupe pas les autres.

Supporter trois modèles dès le premier prototype peut tripler la job. Pour une fonction secondaire, un fournisseur bien encadré et un export documenté suffisent souvent. Pour un processus central, je demanderais au moins un mode dégradé testé et une estimation écrite du travail de migration.

Une stratégie multimodèle ne se mesure pas au nombre de logos. Elle existe lorsque l’équipe possède son contrat, peut rejouer ses tests et sait exactement ce qui sera perdu, ralenti ou désactivé pendant une bascule.