La facture d’un agent a une propriété vicieuse : elle grandit quadratiquement avec la longueur de la conversation (chaque tour renvoie tout l’historique), se multiplie à chaque pattern empilé, et une seule boucle emballée peut brûler le budget du jour en une heure. La maîtrise des coûts n’est pas quelque chose que la compta ajoute après — elle se conçoit dans l’architecture.
L’analogie
Le compteur et le disjoncteur. Le compteur dit quel appareil mange l’électricité — sans compteur, aucune idée. Le disjoncteur coupe avant que le câblage prenne feu — on ne découvre pas un court-circuit sur la facture. Un agent a besoin des deux : la visibilité par étape, et des limites dures qui sautent automatiquement.
Le principe
flowchart LR
R([requête]) --> C{"préfixe stable en cache ?"}
C -->|oui| CHEAP["lecture ~90 % moins chère"]
C -->|non| FULL["traitement plein tarif"]
CHEAP --> LLM["modèle taillé pour l'étape"]
FULL --> LLM
LLM --> B{"budget & plafonds OK ?"}
B -->|oui| OUT([continue])
B -->|dépassé| STOP([stoppe & signale])
Les quatre grands leviers, par ordre d’impact :
- Le prompt caching — placez le contenu stable (prompt système, docs, schémas d’outils) en premier, le variable en dernier : le préfixe répété coûte jusqu’à ~90 % de moins.
- Le bon modèle par étape — le routage et le chaînage laissent un modèle pas cher faire les 80 % faciles et réservent le costaud à l’étape dure.
- Un contexte maigre — élaguez l’historique, résumez (voir la mémoire), désactivez les outils inutilisés : vous payez tout le contexte à chaque tour.
- Des limites dures — tours max, tokens max par réponse (
max_tokens), dépense max par tâche. Une boucle d’agent sans disjoncteur est une facture à ciel ouvert.
Un exemple concret
Un pipeline de traitement de documents, avant / après :
avant → un gros appel de modèle par document, contexte complet
10 000 docs/mois ≈ 2 300 $
après → routage : un petit modèle classe (90 % s'arrêtent là)
le gros modèle seulement pour les 10 % complexes
instructions statiques en cache
10 000 docs/mois ≈ 410 $
Même qualité de sortie sur le jeu d’éval — c’est tout l’intérêt de mesurer les deux (voir évaluer & observer).
La checklist de départ
- Le compteur d’abord : journalisez tokens et coût par étape, pas seulement par mois — on ne coupe pas ce qu’on ne voit pas.
- Ordonnez votre prompt pour le cache : stable d’abord, variable ensuite. C’est de l’argent gratuit.
- Posez les disjoncteurs dès le premier jour : tours max, coût max par tâche, timeout. Généreux, d’accord ; absents, non.
- Regardez le coût par résultat, pas le coût par appel : une tâche à 0,40 $ qui remplace 20 minutes humaines est bon marché ; une réponse à 0,02 $ que personne ne peut utiliser est chère.
Le piège classique
Optimiser le prix de la mauvaise chose. Des équipes grattent des tokens d’entrée pendant qu’une boucle de retry triple le volume en silence, ou passent à un modèle moins cher qui échoue 15 % plus souvent — et les reprises mangent l’économie. Lisez toujours le coût à côté des scores d’éval : le système le moins cher, c’est celui qui réussit du premier coup.