Comment analyser votre fichier d’utilisation de LLM
Derrière chaque facture de LLM il y a un fichier : l’export d’utilisation que votre fournisseur vous remettra, ligne par ligne, modèle par modèle, jour par jour. La plupart des gens ne l’ouvrent jamais, parce qu’un export brut est un mur de comptes de jetons sans totaux ni verdicts. Ce guide montre où obtenir ce fichier, ce qu’il contient réellement, et les trois motifs qui valent la peine d’être cherchés une fois qu’on peut le voir clairement — avec l’analyseur d’utilisation de LLM de ce site, qui lit le fichier dans votre navigateur et nulle part ailleurs.
Dernière mise à jour:
Où exporter l’utilisation
Commencez là où le fournisseur garde les chiffres. OpenAI expose l’utilisation à deux endroits : la page d’utilisation de la console du fournisseur, qui résume l’activité par jour et par modèle pour la période de facturation en cours, et l’API d’utilisation, qui renvoie les mêmes données en JSON — des tranches de temps, chacune contenant des résultats par modèle avec des jetons de contexte, des jetons générés et des comptes de requêtes. Cette forme JSON vaut la peine d’être connue parce que c’est celle que vous pouvez archiver, comparer et alimenter à des outils sans captures d’écran. Une habitude qui vaut la peine d’être commencée aujourd’hui : tirez la réponse de l’API une fois par mois et gardez-la. Les fournisseurs ne conservent qu’une fenêtre limitée d’historique dans la console ; votre propre archive est le seul enregistrement complet de ce que vous avez réellement dépensé, mois par mois.
Anthropic expose les rapports d’utilisation et de coût via sa console et ses API de rapport dans le même esprit : agrégés par jour et par modèle, exportables sous forme de données tabulaires. D’autres fournisseurs varient en finition mais pas en nature — un téléchargement CSV depuis une page d’utilisation ou de facturation, ou un point de terminaison d’API renvoyant des lignes datées. La forme générique est tout ce dont toute analyse a besoin : une date, un nom de modèle, des jetons d’entrée, des jetons de sortie et, avec de la chance, des jetons en cache, des comptes de requêtes et une colonne de coût. Si votre fournisseur offre plusieurs exports, prenez le plus granulaire qu’il offre — quotidien par modèle bat mensuel par projet, parce qu’une agrégation que vous faites vous-même peut toujours être défaite, et celle que le fournisseur a faite ne le peut pas.
Ce que le fichier contient réellement
Une ligne d’utilisation est une affirmation petite et dense : à cette date, ce modèle a servi tant de requêtes, lu tant de jetons d’entrée — dont tant étaient en cache — et écrit tant de jetons de sortie. Lisez un fichier avec ces colonnes et vous pourrez reconstruire presque tout de la forme d’une charge : si les invites sont longues ou courtes, si les réponses sont verbeuses, si le trafic est stable ou en rafales, et quels modèles font le vrai travail. Ce que le fichier ne contient délibérément pas est tout aussi important : aucun texte d’invite, aucune complétion, aucun contenu d’utilisateur. Ce sont des comptes et des noms, et c’est pourquoi il peut être manié plus librement que le trafic qu’il décrit — même si, comme l’argumente la dernière section, « plus librement » n’est pas « n’importe où ».
Deux colonnes méritent la suspicion avant toute analyse. La première est le coût : certains exports portent le coût facturé, d’autres une estimation au prix catalogue, et d’autres aucun, et le fichier étiquette rarement lequel. Traitez une colonne de coût comme le chiffre du fournisseur, mais vérifiez la plage de dates et les lignes ignorées ou partielles avant de faire confiance à un total. La seconde est la colonne de jetons en cache, que les fournisseurs nomment d’au moins cinq manières différentes et plient parfois dans le compte d’entrée au lieu de la détailler. Si les jetons d’entrée semblent invraisemblablement bon marché ou chers pour le modèle, les en-têtes sont le premier endroit où regarder — et c’est pourquoi l’analyseur vous montre sa correspondance de colonnes, détectée depuis les en-têtes, et vous laisse la corriger avant que quoi que ce soit soit calculé.
Quoi chercher : trois motifs
D’abord, la proportion de jetons en cache. Divisez l’entrée en cache par l’entrée totale, par modèle. Les charges avec n’importe quelle structure répétée — une invite système, un préfixe de document, un schéma d’outils fixe — devraient mettre en cache une grande part de leur entrée, parce que ce préfixe est identique à chaque appel. Une proportion proche de zéro sur une telle charge signifie que la mise en cache est éteinte, que le cache expire entre les appels, ou que quelque chose dans le préfixe change à chaque requête — un horodatage, un identifiant aléatoire, un champ réordonné — et la défait en silence. Corriger ce seul chiffre vaut couramment plus que renégocier le modèle, parce que l’entrée en cache est facturée à une fraction du tarif complet chez chaque grand fournisseur.
Ensuite, le mélange de modèles. Triez les modèles par coût, pas par requêtes : le mélange est sain quand la part de coût du niveau cher correspond à peu près à la part du travail qui en a vraiment besoin. La dérive à surveiller est la part de coût d’un modèle phare qui monte mois après mois alors que sa part de requêtes reste stable — des invites plus longues, des sorties plus longues, ou un trafic nouveau routé en silence vers le grand modèle par un réglage par défaut dont personne ne se souvient. Troisièmement, la concentration et les pics : une clé d’API, un projet ou un modèle qui domine le fichier est un fait de rayon d’explosion autant que de coût, et un pic quotidien — surtout le week-end ou la nuit, quand personne ne travaillait — est la signature d’une boucle de réessais, d’un agent incontrôlé ou d’une clé divulguée en usage. Le tableau quotidien existe pour rendre ce pic impossible à manquer.
Tarifer un fichier qui ne porte pas de coûts
Beaucoup d’exports n’ont aucune colonne de coût, et alors l’analyse doit tarifer le fichier elle-même. L’analyseur le fait de la manière transparente : chaque ligne est tarifée depuis la table des tarifs des LLM de ce site — les tarifs catalogue vérifiés que le calculateur de coûts utilise aussi — avec la propre formule du fournisseur : entrée non mise en cache au tarif d’entrée, entrée en cache au tarif de cache quand il en existe un, sortie au tarif de sortie. Les noms de modèles sont appariés strictement : exactement, après retrait d’un préfixe de fournisseur, ou après suppression d’un suffixe final de date ou « latest ». Cette rigueur est le point. Un appariement plus lâche et flou finirait par tarifer un réglage fin comme son modèle de base ou un aperçu comme la version finale, et le total gagnerait une confiance qu’il n’a pas méritée.
C’est pourquoi les modèles qui ne correspondent à rien sont listés, pas devinés. Leurs jetons et requêtes comptent toujours — vous pouvez voir leur volume et juger si le trou compte — mais leur coût est laissé vide, et le résultat est étiqueté avec l’origine de son argent : le fichier lui-même, calculé depuis la table, un mélange, ou aucun. Tenez tout total calculé à cette norme quand vous le lisez : c’est une arithmétique au prix catalogue sans connaissance de vos remises, crédits, tarifs par lots ou tarification par paliers de contexte long, donc il ne se rapprochera pas au centime d’une facture. Ce qu’il fait de manière fiable, c’est ordonner : quels modèles, quels jours, quels motifs dominent la facture. Dans le travail de coûts, l’ordre est habituellement la partie pertinente pour la décision.
Vie privée, et une routine mensuelle
Un fichier d’utilisation ne contient aucun texte d’invite, mais il reste opérationnellement sensible : il nomme chaque modèle que vous exécutez, vos volumes par jour, votre courbe de croissance et vos dépenses — une empreinte compétitive et pertinente pour la sécurité de la manière dont un système est construit. C’est pourquoi l’analyseur d’utilisation de LLM analyse le fichier localement dans votre navigateur et ne le téléverse jamais. La règle générale voyage bien au-delà de cet unique outil : plus un fichier résume votre infrastructure, plus l’idée de le coller dans une discussion hébergée ou un convertisseur inconnu est mauvaise, même quand le fichier ne contient aucun secret au sens littéral. Les agrégats fuient aussi, seulement plus silencieusement.
Terminez par une routine assez petite pour arriver vraiment. Une fois par mois : exportez le fichier, analysez-le, et notez quatre chiffres — le coût total et sa source, la part de coût du modèle principal, la proportion de jetons en cache, et le plus grand jour unique. Comparez-les aux quatre chiffres du mois passé. Cette différence de cinq minutes attrape la dérive, le pic et le cache vaincu pendant qu’ils sont encore bon marché, et sur un an elle construit l’archive qu’aucune console de fournisseur ne gardera pour vous. Les factures surprennent les gens qui ne lisent que des factures. Elles surprennent rarement les gens qui lisent l’utilisation.
Questions fréquentes
Quel export devrais-je utiliser — le CSV de la console ou le JSON de l’API d’utilisation ?
L’un ou l’autre ; ils décrivent la même activité. Le CSV de la console est le plus rapide à obtenir et suffit pour un regard ponctuel. Le JSON de l’API est la meilleure habitude : il est complet, scriptable, archivable, et porte les champs de jetons par modèle (contexte, généré, cache quand présent, et comptes de requêtes) sous une forme stable. Si les deux sont en désaccord, vérifiez d’abord les plages de dates et les fuseaux horaires — les vues de console sont souvent affichées en heure locale tandis que les tranches de l’API sont en UTC, ce qui déplace une limite de jour et déplace les dépenses entre jours adjacents sans changer le total.
Ma proportion de jetons en cache est proche de zéro. Qu’est-ce qui casse la mise en cache des invites ?
Les causes habituelles, dans l’ordre : la mise en cache n’est pas activée ou pas offerte sur la route que prend le trafic ; l’écart entre les appels dépasse la durée de vie du cache, donc chaque entrée expire avant réutilisation ; ou le préfixe d’invite n’est pas réellement identique entre les appels — un horodatage injecté, un identifiant par requête, une liste d’outils mélangée ou un premier message spécifique à l’utilisateur changent tous le préfixe et ratent le cache. Comparez deux requêtes brutes octet par octet au début : ce qui diffère en premier est l’endroit où le cache cesse de correspondre. La correction est de déplacer tout ce qui est variable après un préfixe stable et partagé.
Pourquoi l’outil n’estime-t-il pas un prix pour certains de mes modèles ?
Parce qu’aucun prix honnête n’existe dans sa table pour ce nom. Les réglages fins héritent du moteur d’un modèle de base mais pas nécessairement de son prix, les aperçus sont souvent facturés différemment des versions finales, et les déploiements tiers suivent leurs propres contrats — deviner l’un quelconque d’entre eux ferait paraître le total complet en le rendant faux. L’outil liste plutôt ces modèles avec leurs volumes, pour que vous puissiez tarifer vous-même cette part depuis votre contrat ou votre facture, et l’ajouter au total calculé en gardant claire la source de chaque chiffre.