Optimiser les coûts de son workflow IA : méthode et chiffres
TL;DR
Router les tâches mécaniques sur des modèles budget ou gratuits (MiniMax 2.5 via Kilo Gateway, Gemini Flash), réserver les modèles premium pour le raisonnement. Résultat : les tâches mécaniques (~65% du volume) ne coûtent plus rien, sans dégradation perçue.
Mise à jour juillet 2026 — les chiffres détaillés de ce guide datent de la période Kilo Gateway/MiniMax, que j’ai abandonnée depuis. Mon setup actuel : Claude Code en abonnement Max (100 $/mois) pour le quotidien, z.ai Pro (~72 $/mois, GLM-5.2, prix vérifié juillet 2026) comme voie budget testée — utilisable directement dans Claude Code. La méthode de routing par type de tâche, elle, n’a pas bougé.
Optimiser les coûts d’un workflow IA n’est pas une question de parcimonie — c’est de l’ingénierie. Choisir le bon outil pour chaque type de tâche, mesurer ce qu’on consomme, ajuster. Exactement comme on dimensionne une infrastructure.
Ce guide documente la méthode et les chiffres réels après plusieurs mois d’usage quotidien en production sur un projet Symfony/TypeScript.
Quel est le point de départ ?
Point de départ : workflow exclusivement sur Claude Code avec l’abonnement Anthropic. Coût : forfaitaire mais mono-provider — aucune visibilité sur quelle tâche consomme quoi, et aucun levier pour l’ajuster.
Quand Anthropic a restreint l’utilisation de l’abonnement Claude Code dans les outils tiers, la migration vers OpenCode puis Kilo Code CLI (son fork) est devenue nécessaire. Avec elle est venue la possibilité de router les tâches par modèle — et de découvrir que 65% du travail peut tourner sur des modèles gratuits.
Pourquoi tous les tokens ne se valent pas
La clé de l’optimisation est de comprendre que l’ inference cost est une variable, pas une constante. Il dépend du modèle, et le modèle optimal dépend de la nature de la tâche.
Deux catégories de tâches de coding :
Tâches mécaniques — le pattern est connu, le résultat est prévisible, le code produit suit un template établi :
- Tests unitaires boilerplate (PHPUnit, Vitest)
- Migrations de schéma Doctrine
- Génération de DTOs, Value Objects, interfaces
- Documentation de méthodes existantes
- Renommages et refactorings mécaniques
- Fixtures de test
Tâches de raisonnement — le contexte métier compte, l’architecture doit être comprise, les décisions ne sont pas évidentes :
- Refactoring avec contraintes d’interface et de compatibilité
- Debugging de comportements inattendus
- Conception d’architecture et de patterns
- Analyse de code complexe ou legacy
- Intégrations avec des effets de bord non triviaux
Sur les tâches mécaniques, un modèle budget produit des résultats indistinguables d’un modèle premium à l’usage. Sur les tâches de raisonnement, la différence est réelle et justifie le coût supérieur.
Quels modèles pour quels rôles ?
Après comparaison sur des tâches réelles (pas des benchmarks synthétiques) sur la stack Symfony/TypeScript :
Tâches mécaniques → MiniMax 2.5 (gratuit via Kilo Gateway)
Prix API : gratuit via Kilo Gateway
Contexte : 128k tokens — largement suffisant pour les tâches mécaniques
MiniMax 2.5 produit du PHP et du TypeScript idiomatiques sur les patterns courants. Sur la génération de tests unitaires PHPUnit avec fixtures, le résultat est pratiquement identique à Claude Sonnet. Le taux de corrections en review est comparable — sur ce type de tâche structurée, la différence n’est pas perceptible.
Tâches de volume ou contexte long → Gemini 2.0 Flash
Prix API : $0.075/M tokens input · $0.30/M tokens output
Contexte : 1M tokens
Gemini Flash est utile quand la tâche nécessite de charger beaucoup de fichiers simultanément — migration de schéma qui touche 15 entités, analyse d’un module complet pour en extraire la logique. Le contexte d’un million de tokens permet de ne pas découper la session.
Tâches de raisonnement → Claude Sonnet 4.5
Prix API : $3/M tokens input · $15/M tokens output
Contexte : 200k tokens
Refactoring avec contraintes d’interface, debugging de comportements cryptiques, conception d’architecture avec multiples contraintes métier. Le coût est justifié par la qualité du raisonnement — en particulier sur du code Symfony avec des patterns avancés (Event Sourcing, CQRS).
Comment mettre en place le routing ?
Aujourd’hui : abonnement premium + abonnement budget en parallèle
Mon setup actuel (juillet 2026) : Claude Code en abonnement Max (100 $/mois) pour le raisonnement et le quotidien, et z.ai Pro (~72 $/mois, GLM-5.2) comme provider budget — z.ai est directement compatible Claude Code, le switch se fait par configuration. Le principe : les tâches à risque vont au modèle premium, le mécanique au modèle économique, et la répartition est un choix documenté, pas une humeur de session.
À l’époque : Kilo Code CLI + Kilo Gateway (setup abandonné, gardé pour l’historique)
Kilo Code CLI (fork d’OpenCode) intégrait Kilo Gateway, qui donnait accès à des modèles gratuits dont MiniMax 2.5 — zéro coût sur les tâches mécaniques, jusqu’à ce que le free tier cesse d’être intéressant.
# Dans le TUI Kilo Code CLI : touche 'm' pour switcher de modèle
# MiniMax 2.5 (gratuit à l'époque) pour les tâches mécaniques
# Claude Sonnet pour le raisonnement
Avec OpenCode + OpenRouter
OpenRouter est un proxy API compatible OpenAI qui donne accès à des dizaines de modèles via une seule clé :
// ~/.config/opencode/config.json
{
"providers": {
"openrouter": {
"apiKey": "sk-or-..."
},
"anthropic": {
"apiKey": "sk-ant-..."
}
},
"model": "openrouter/google/gemini-2.0-flash-001"
}
Avec Kilo Code (VS Code) + OVH AI Gateway
OVH AI Gateway est un proxy compatible OpenAI hébergé en Europe. Il centralise l’accès à plusieurs providers (Anthropic, Gemini, Mistral) via une clé unique, avec tracking de consommation par équipe.
// Configuration Kilo Code (settings.json VS Code)
{
"kilocode.apiProvider": "openai-compatible",
"kilocode.openaiCompatible.baseUrl": "https://oai.endpoints.kepler.ai.cloud.ovh.net/v1",
"kilocode.openaiCompatible.apiKey": "votre-clé-ovh",
"kilocode.openaiCompatible.model": "gemini-2.0-flash-001"
}
Quels sont les chiffres réels ?
Répartition actuelle sur la même intensité d’usage (projet Symfony/TypeScript, ~6-8h de sessions actives par jour ouvrable) :
Routing multi-modèle avec Kilo Code CLI
~65% des sessions : MiniMax 2.5 (tâches mécaniques) → gratuit via Kilo Gateway
~20% des sessions : Gemini Flash (contexte long) → quelques euros/mois
~15% des sessions : Claude Sonnet (raisonnement) → variable selon intensité
La majorité du volume de travail ne coûte rien. La facture se résume aux sessions premium (Sonnet, Gemini). La qualité perçue sur les livrables n’a pas changé — les PRs sont de même qualité, les reviews de code n’ont pas signalé de régression.
Comment identifier quelles tâches sont mécaniques ?
La question pratique : avant de lancer une session, est-ce que je pourrais écrire le résultat attendu sous forme de template avec des variables ? Si oui, c’est une tâche mécanique.
✅ Mécanique : "écrire les tests unitaires pour [service] avec les cas
[nominal, exception, valeur nulle]"
✅ Mécanique : "créer un DTO pour [entité] avec les champs [liste]"
❌ Raisonnement : "identifier pourquoi ce service produit des résultats
incohérents selon le contexte de l'utilisateur"
❌ Raisonnement : "proposer une architecture pour découpler [module A]
de [module B] sans casser l'interface existante"
Avec le temps, la distinction devient intuitive. Les deux ou trois premières semaines, il est utile de se poser explicitement la question avant chaque session.
À partir de quand l’optimisation des coûts devient-elle un sujet d’équipe ?
Pour un dev solo avec un usage modéré, l’optimisation reste une décision perso — la complexité de configuration ne justifie pas toujours les économies. À partir de 3+ devs ou d’un usage intensif dépassant quelques dizaines d’euros par mois, ça change de nature : le budget devient une décision de gouvernance, pas une optimisation individuelle. Quelqu’un doit trancher quel modèle par défaut pour l’équipe, documenter le routing dans un fichier versionné, et arbitrer entre coût et capacité au niveau du projet — pas au niveau de chaque session.
Ressources
- z.ai — GLM Coding Plan — abonnement budget compatible Claude Code (~72 $/mois en Pro, juillet 2026)
- Kilo Code CLI — fork d’OpenCode avec Kilo Gateway (le free tier historique n’est plus intéressant)
- OpenRouter — accès multi-provider, dashboard de consommation
- OVH AI Gateway — proxy EU souverain
- Guide : Workflow agentique — principes
- Guide : OpenCode + Neovim + tmux : le setup complet
- Glossaire : Inference cost
Questions fréquentes
- Est-ce que la qualité se dégrade vraiment avec les modèles budget ?
- Sur les tâches mécaniques répétitives — tests unitaires boilerplate, migrations de schéma, documentation, renommages en masse, conversion de types — non. La différence de qualité perçue est marginale. Sur les tâches de raisonnement complexe (architecture, debugging cryptique, refactoring avec contexte métier fort), oui — et c'est pour ça qu'on ne route pas tout sur le modèle budget.
- Comment mesurer sa consommation réelle ?
- OpenRouter fournit un dashboard de consommation par modèle et par jour. OVH AI Gateway aussi. Le plus simple pour commencer : noter le coût au début et à la fin d'une semaine type, décomposer par type de session. L'outil de tracking n'est pas le point de départ — le routing conscient l'est.
- Quel est le risque de changer de modèle en cours de projet ?
- Minimal si on change entre des modèles de niveau comparable. Le risque réel est de changer de modèle pendant une session longue — le style peut varier. La bonne pratique : changer de modèle uniquement en début de session, jamais en cours. Avec OpenCode, c'est une commande avant de démarrer.
- OpenRouter vs API directe provider : quand utiliser lequel ?
- OpenRouter si on veut accéder à plusieurs providers sans gérer plusieurs clés API et comptes de facturation. API directe si on utilise exclusivement un provider et que la latence est critique (OpenRouter ajoute ~50-100ms). Pour un workflow mixte multi-provider, OpenRouter simplifie suffisamment pour que la légère latence supplémentaire soit négligeable.
- L'optimisation des coûts vaut-elle l'investissement de configuration ?
- Pour un dev solo avec un usage modéré (~10-15€/mois), probablement pas — la complexité ajoutée ne justifie pas les économies. Pour une équipe de 3+ devs ou un usage intensif dépassant 30€/mois, oui clairement. Le break-even sur le temps de configuration (~2h) est atteint en quelques semaines. Voir plus bas : à partir de là, c'est un sujet d'équipe.