Jusqu'à la fin 2025, nous utilisions OpenAI directement pour tout ce qui concernait le chat. Un compte, une clé, une facture. En janvier 2026, nous avons migré vers un agrégateur multi-modèles. Voici ce qui s'est réellement passé.
Ce que nous avions
- Niveau entreprise OpenAI — ~$8k/mois sur toutes les surfaces
- Toutes les complétions de chat sur
gpt-4oougpt-4o-mini - Un modèle d'embedding, un modèle d'image (DALL-E 3)
- Intégration SDK directe dans quatre services
Ce qui a déclenché le changement
- Claude Opus 4.6 obtenait des scores nettement meilleurs sur nos évaluations de codage agentique
- Gemini 3 Pro est devenu le choix évident pour l'analyse de documents à long contexte
- Nous voulions tester des modèles open-source (DeepSeek, Llama 4) sans mettre en place une infrastructure d'inférence
- Travailler avec cinq fournisseurs signifiait cinq contrats, cinq cycles de facturation, cinq tableaux de bord de limites de taux
La migration
Nous sommes passés à un agrégateur compatible avec OpenAI (celui-ci, en fait — nous utilisons notre propre produit en production). Le changement s'est limité à remplacer baseURL et apiKey dans le SDK. Le diff de code était de 8 lignes sur les quatre services.
// Avant
const openai = new OpenAI({ apiKey: process.env.OPENAI_KEY });
// Après
const openai = new OpenAI({
apiKey: process.env.AIGEN_KEY,
baseURL: 'https://aimarcus.eu/aigenerate/api/v1',
});
Ce qui a changé sur la facture
- Chat (GPT-4o → mixte GPT-4o + Claude Sonnet selon la tâche) : -22%
- Codage agentique (passé à Claude Opus) : +8%, mais les évaluations ont augmenté de 15 points
- Analyse à long contexte (passée à Gemini 3 Pro) : -40%
- Génération d'images (passée de DALL-E 3 à Nano Banana) : -65%
Impact net sur la facture mensuelle : -28%. Meilleur choix de modèle pour chaque surface + tarifs par token inférieurs des agrégateurs en amont que nous n'avons pas à négocier directement.
Trois problèmes rencontrés
- Différences de format de flux SSE. Claude diffuse légèrement différemment d'OpenAI. Notre logique de tampon côté client a été cassée pendant environ 10 minutes jusqu'à ce que nous ajoutions une couche de compatibilité.
- Comptage des tokens. Les différents modèles tokenisent différemment. Notre métrique interne "tokens utilisés par conversation" a dû être recalibrée pour chaque modèle.
- Mise en cache basée sur le nom du modèle. Notre cache de prompts utilisait
gpt-4ocomme clé. Lorsque nous avons commencé à router certaines requêtes vers Claude, nous avons obtenu des résultats de cache obsolètes. Leçon : toujours inclure le modèle dans les clés de cache.
Le referions-nous ?
Oui — pour trois raisons indépendantes du coût.
- Optionalité. Lorsque OpenAI a eu une panne de 40 minutes le 3 avril, notre surface de chat a continué à fonctionner car le trafic a basculé automatiquement vers Anthropic et Gemini. Cela seul justifie la migration.
- La parité des modèles est terminée. Il n'y a pas de "meilleur modèle" en 2026. Il y a un meilleur modèle pour chaque tâche. L'agrégation est la façon de tirer parti de ce fait.
- Une seule facture. La finance voulait cela plus que l'ingénierie. Une facture, une relation fournisseur, un contrat pour 12 fournisseurs.
Si vous gérez un volume significatif avec un seul fournisseur, le changement est rentable dès le premier mois.