Aller au contenu principal
En revueBaptiste2026-08-04

Quota et jauge d'usage

Mécanique de mesure, de plafonnement et de restitution de l'usage d'inférence pour les offres A2 et A3.

Objectifs​

Le dispositif doit :

  • isoler la consommation de chaque client ;
  • empêcher qu'un client consomme l'enveloppe d'un autre ;
  • rendre comparables des modèles dont les volumes et conditions diffèrent ;
  • permettre un quota A2 et A3 séparé ou groupé ;
  • suivre A3 par utilisateur et A2 par chantier ;
  • prévenir les dépassements avant interruption ;
  • permettre un dépassement convenu avec le client ;
  • préserver la confidentialité des prompts et réponses ;
  • fournir une jauge compréhensible sans exposer les coûts techniques.

Le quota est une règle d'exploitation. Les montants, tarifs et volumes vendus restent dans les documents commerciaux et contractuels, pas dans ce référentiel.

Définitions​

TermeDéfinition
PériodeMois civil, du premier au dernier jour, fuseau Europe/Paris
EnveloppeQuantité d'usage normalisé autorisée pendant la période
Consommation normaliséeMesure interne qui rend comparables les appels à différents modèles et fournisseurs
Quota clientPlafond global applicable au périmètre A2, A3 ou A2+A3
Plafond utilisateurLimite A3 identique pour tous les utilisateurs du client, définie pendant l'onboarding
Suivi par chantierVentilation A2 par processus automatisé déployé
JaugePourcentage consommé de l'enveloppe applicable
Dépassement autoriséUsage au-delà de l'enveloppe, explicitement convenu avec le client
BlocageRefus contrôlé d'un nouvel usage lorsque la limite applicable est atteinte

Le solde inutilisé n'est pas reporté sur le mois suivant. La remise à zéro intervient le premier jour du mois dans le fuseau Europe/Paris.

Périmètre du quota​

Au déploiement, Alpene et le client choisissent l'un des deux modes suivants.

Enveloppes séparées​

  • une enveloppe A2 pour les automatisations ;
  • une enveloppe A3 pour le chat et ses options ;
  • aucun transfert automatique entre les deux.

Ce mode facilite le contrôle des processus A2 critiques et évite qu'un usage conversationnel important n'affecte une automatisation métier.

Enveloppe groupée A2+A3​

  • une enveloppe client unique ;
  • une jauge globale ;
  • une ventilation interne conservée par offre, chantier, utilisateur et modèle ;
  • les plafonds utilisateurs A3 restent applicables à l'intérieur de l'enveloppe groupée.

Le regroupement simplifie l'expérience du client mais ne supprime jamais la capacité d'identifier la source d'une consommation anormale.

Le mode choisi est documenté dans la fiche de déploiement. Un changement de mode prend effet à une date convenue ; il ne réécrit pas les périodes clôturées.

Unité et mesure du quota​

Les tokens seuls ne constituent pas une unité suffisante : deux modèles peuvent consommer un même nombre de tokens avec des coûts et capacités très différents.

Alpene utilise donc une consommation normalisée calculée à partir de :

  • fournisseur ;
  • modèle ;
  • type d'opération ;
  • tokens d'entrée ;
  • tokens de sortie ;
  • éventuels frais propres à l'opération ;
  • coefficient interne associé au modèle et à la période.

Les coefficients sont maintenus dans la passerelle d'inférence et versionnés. Une évolution de tarif fournisseur ne modifie pas rétroactivement une période clôturée.

Le client voit :

  • pourcentage consommé ;
  • pourcentage restant ;
  • état du quota ;
  • date de remise à zéro ;
  • seuil ou dépassement autorisé lorsqu'il existe.

Le client ne voit pas dans la jauge :

  • coût d'achat du fournisseur ;
  • marge Alpene ;
  • détail des coefficients internes ;
  • clés ou identifiants techniques ;
  • contenu des prompts et réponses.

Opérations comptabilisées​

Sont comptabilisés lorsqu'ils déclenchent une consommation facturable ou mesurée chez le fournisseur :

  • génération de texte ou contenu ;
  • embeddings ;
  • OCR ou extraction par un modèle ;
  • traitement d'image, audio ou document ;
  • appel d'agent ou d'outil impliquant une nouvelle inférence ;
  • reprise d'historique et traitements batch ;
  • réindexation demandée par le client ou provoquée par un changement validé de modèle d'embedding.

Ne sont pas comptabilisés dans la jauge client :

  • consultation d'une conversation déjà stockée ;
  • recherche locale sans appel d'inférence ;
  • hit de cache qui ne génère aucune consommation fournisseur ;
  • vérification de santé technique ;
  • retry provoqué uniquement par un incident Alpene et n'ayant livré aucun résultat supplémentaire ;
  • tests internes Alpene hors environnement client.

Un appel partiellement exécuté est comptabilisé uniquement selon la consommation réellement remontée par le fournisseur. Un incident de mesure ou une double comptabilisation fait l'objet d'une correction traçable.

Architecture de mesure​

Tous les appels d'inférence A2 et A3 passent par une passerelle commune. Aucun client ou workflow ne doit appeler directement un fournisseur avec une clé de production hors de ce point de passage.

La référence candidate est LiteLLM Proxy, avec PostgreSQL pour les budgets et journaux d'usage.

Chaque appel transporte des identifiants ajoutés côté serveur :

IdentifiantUsage
client_idIsolation et quota du client
offer_idDistinction A2, A3 ou enveloppe groupée
project_idEnvironnement ou déploiement concerné
workflow_idChantier A2 concerné, si applicable
user_idUtilisateur A3 pseudonymisé, si applicable
model_idModèle demandé ou route logique utilisée
request_idDéduplication, diagnostic et rapprochement

Ces identifiants ne sont jamais acceptés directement depuis une valeur libre du navigateur. L'application authentifiée ou le backend A2 les injecte après contrôle de l'identité et du périmètre.

Une clé virtuelle ou équipe distincte est utilisée par client. Les clés de production ne sont pas partagées entre clients.

Règles A3 par utilisateur​

A3 possède deux niveaux de contrôle :

  1. l'enveloppe globale du client ;
  2. le plafond individuel de chaque utilisateur.

Pendant l'onboarding :

  • un même plafond initial est défini pour tous les utilisateurs ;
  • le client désigne les administrateurs autorisés à consulter le détail et demander un ajustement ;
  • le comportement à 100 % est documenté ;
  • les utilisateurs sont informés de la remise à zéro mensuelle.

Le plafond individuel est configurable avec le client. Il peut ensuite être augmenté, diminué ou remplacé par une règle spécifique pour un groupe ou une fonction.

Lorsqu'un utilisateur atteint son plafond :

  • ses nouvelles requêtes sont bloquées ou placées dans le dépassement autorisé selon la configuration ;
  • les autres utilisateurs continuent tant que leurs propres plafonds et l'enveloppe client le permettent ;
  • l'administrateur client et Alpene reçoivent une alerte ;
  • un ajustement temporaire ou permanent peut être appliqué après validation.

Un utilisateur voit sa propre jauge et la jauge globale du client. Il ne voit pas la consommation nominative des autres utilisateurs.

Règles A2 par chantier​

Chaque automatisation A2 possède un workflow_id stable. La consommation est ventilée par :

  • client ;
  • chantier ;
  • environnement ;
  • modèle ;
  • type d'opération ;
  • période.

Le suivi permet d'identifier :

  • une hausse de volume ;
  • une boucle ou répétition anormale ;
  • un changement de taille des documents ;
  • un modèle devenu disproportionné ;
  • une reprise d'historique ;
  • un chantier qui consomme l'essentiel de l'enveloppe.

La revue de cette ventilation fait partie du suivi A2.

Chaque chantier est classé :

  • non critique : arrêt contrôlé possible lorsque la limite applicable est atteinte ;
  • critique : poursuite possible au-delà du quota uniquement si une facturation à la consommation et une limite de sécurité ont été convenues avec le client.

Une automatisation critique ne bénéficie jamais d'un dépassement illimité. Le plafond de sécurité, les destinataires d'alerte et la procédure d'arrêt manuel sont définis pendant le déploiement.

Jauge côté client​

La jauge possède quatre états.

ÉtatConditionComportement
NormalEn dessous de 80 %Affichage simple, aucune alerte
VigilanceÀ partir de 80 %Alerte informative à Alpene et à l'administrateur client
AlerteÀ partir de 95 %Alerte renforcée et proposition d'ajustement
LimiteÀ partir de 100 %Blocage ou dépassement selon la règle convenue

La jauge est mise à jour après chaque consommation confirmée. Un léger délai peut exister lorsque le fournisseur transmet les métriques de manière différée ; l'interface l'indique si la valeur n'est pas encore consolidée.

Vue utilisateur​

  • jauge personnelle A3 ;
  • jauge globale applicable ;
  • état actuel ;
  • date de remise à zéro ;
  • message clair en cas de limitation ;
  • canal pour demander une révision.

Vue administrateur client​

  • jauge globale ;
  • ventilation A2/A3 lorsque l'enveloppe est groupée ;
  • consommation par utilisateur A3 ;
  • consommation par chantier A2 ;
  • seuils et dépassements actifs ;
  • historique mensuel ;
  • export des métriques d'usage.

Vue Alpene​

  • vues administrateur client ;
  • modèle et fournisseur ;
  • latence, erreurs et retries ;
  • coefficients de normalisation ;
  • rapprochement avec les données fournisseur ;
  • alertes techniques et anomalies de mesure.

Alertes​

Les alertes de quota sont distinctes des alertes de disponibilité.

Elles sont envoyées :

  • à Alpene ;
  • aux administrateurs désignés par le client ;
  • par email et dans le tableau de bord lorsque celui-ci est disponible.

Une alerte contient :

  • client et offre concernés ;
  • période ;
  • seuil franchi ;
  • jauge globale ;
  • utilisateur ou chantier concerné si nécessaire ;
  • comportement prévu à la limite ;
  • action possible.

Le système évite de renvoyer la même alerte à chaque requête. Une nouvelle notification est produite lors du franchissement d'un seuil, d'un changement de règle ou d'une anomalie significative.

Dépassement​

Le comportement au-delà de 100 % est convenu avec le client pendant l'onboarding ou lors d'une révision :

  • blocage immédiat ;
  • dépassement temporaire avec plafond ;
  • facturation à la consommation ;
  • augmentation durable de l'enveloppe ;
  • exception limitée à certains chantiers A2 critiques.

La règle précise :

  • périmètre concerné ;
  • plafond maximal ;
  • date de début et de fin ;
  • responsables autorisés à l'activer ;
  • comportement une fois le plafond atteint ;
  • information des utilisateurs.

Aucun dépassement illimité n'est activé par défaut. Une augmentation ne modifie pas rétroactivement les périodes clôturées.

Ajustement du quota​

Une révision peut être déclenchée par :

  • demande du client ;
  • ajout d'utilisateurs ;
  • nouveau chantier A2 ;
  • évolution de volumétrie ;
  • changement de modèle ;
  • dépassement répété ;
  • anomalie ou sous-utilisation durable.

Avant modification, Alpene présente :

  • consommation observée ;
  • principale source d'usage ;
  • risque de blocage ;
  • options d'optimisation ;
  • nouvelle enveloppe ou nouveau plafond proposé ;
  • date de prise d'effet.

L'ajustement est tracé avec le client. Les anciennes valeurs restent associées aux périodes auxquelles elles s'appliquaient.

Optimisation avant augmentation​

Une hausse de quota n'est pas la seule réponse possible. Alpene vérifie d'abord :

  • boucles et retries excessifs ;
  • prompts ou contextes inutilement longs ;
  • documents dupliqués ;
  • modèle surdimensionné ;
  • cache réutilisable ;
  • batch possible ;
  • archivage d'anciens contenus ;
  • erreur d'attribution client, utilisateur ou chantier.

Une optimisation ne doit pas diminuer silencieusement la qualité ou modifier le résultat métier attendu.

Données conservées​

Les métriques d'usage sont conservées pendant 12 mois :

  • identifiants pseudonymisés ;
  • client, offre et chantier ;
  • modèle et fournisseur ;
  • tokens d'entrée et de sortie ;
  • consommation normalisée ;
  • statut ;
  • latence ;
  • horodatage ;
  • identifiant de requête ;
  • seuils et ajustements applicables.

Ne sont pas conservés dans les journaux de quota :

  • prompts ;
  • réponses ;
  • documents sources ;
  • pièces jointes ;
  • clés API ;
  • email en clair lorsque l'identifiant pseudonymisé suffit.

La correspondance entre user_id pseudonymisé et identité réelle reste dans l'application cliente ou le système d'identité, pas dans le journal central de consommation.

Les métriques expirées sont supprimées ou agrégées de manière irréversible. Les exports remis au client respectent le même périmètre de données.

Résilience de la mesure​

La passerelle ne doit pas être contournée lorsque la mesure est indisponible.

  • A3 refuse temporairement une nouvelle requête si son attribution fiable est impossible.
  • A2 non critique suspend le chantier et alerte.
  • A2 critique peut continuer uniquement si un dépassement à la consommation a été convenu et si les événements sont enregistrés dans une file durable pour rapprochement ultérieur.
  • La consommation rejouée est dédupliquée par request_id.
  • Toute correction manuelle conserve un motif, un auteur et un horodatage.

Un incident de mesure ne doit jamais entraîner la divulgation du contenu des requêtes dans les logs techniques.

Rapprochement et revue​

Alpene contrôle périodiquement :

  • somme des consommations par client ;
  • correspondance avec les métriques fournisseur ;
  • appels sans client_id, workflow_id ou user_id attendu ;
  • doublons ;
  • coefficients obsolètes ;
  • clients proches des seuils ;
  • chantiers ou utilisateurs atypiques ;
  • périodes et remises à zéro.

Un écart est corrigé avant d'être présenté comme une consommation définitive au client. La correction ne supprime pas la trace de la valeur initiale et de son motif.

Pilote interne LiteLLM​

Avant d'adopter LiteLLM Proxy comme référence définitive, Alpene réalise un pilote interne avec PostgreSQL.

Le pilote doit vérifier :

  1. isolation par client et équipe ;
  2. quota partagé et budget individuel ;
  3. attribution A2 par workflow_id ;
  4. attribution A3 par user_id pseudonymisé ;
  5. remise à zéro mensuelle dans le fuseau Europe/Paris ;
  6. alertes à 80 % et 95 % ;
  7. blocage et dépassement plafonné ;
  8. changement temporaire de plafond ;
  9. accès multi-modèles et coefficients de normalisation ;
  10. absence de prompts et réponses dans les journaux de quota ;
  11. export, sauvegarde et restauration des métriques ;
  12. comportement lorsque PostgreSQL ou un fournisseur est indisponible.

Le pilote utilise des identités et contenus fictifs. Il ne reçoit aucune donnée client.

Checklist de déploiement​

  • Mode séparé ou groupé A2/A3 choisi.
  • Enveloppe client configurée.
  • Plafond individuel A3 commun défini.
  • Chantiers A2 identifiés avec un workflow_id stable.
  • Chantiers A2 critiques classés et règle de dépassement documentée.
  • Clé virtuelle ou équipe client créée dans la passerelle.
  • Identifiants ajoutés côté serveur et non modifiables par l'utilisateur.
  • Coefficients des modèles utilisés contrôlés.
  • Remise à zéro mensuelle vérifiée.
  • Alertes 80 % et 95 % testées.
  • Comportement à 100 % testé.
  • Administrateurs et destinataires d'alerte configurés.
  • Jauges utilisateur et administrateur contrôlées.
  • Journaux exempts de prompts et réponses.
  • Export et sauvegarde des métriques testés.
  • Règles expliquées pendant la livraison du nouveau client.

Décisions validées​

  • Le quota peut être séparé entre A2 et A3 ou groupé, selon le choix du client.
  • La consommation est normalisée en interne ; la jauge client affiche uniquement un pourcentage.
  • La période est le mois civil en Europe/Paris, sans report du solde inutilisé.
  • Les seuils d'alerte sont fixés à 80 % et 95 %.
  • Le comportement au-delà de 100 % est convenu avec le client et toujours plafonné.
  • A3 utilise un plafond individuel identique pour tous les utilisateurs, défini pendant l'onboarding et modifiable avec le client.
  • A2 est ventilé par chantier dans le cadre du suivi.
  • Un chantier A2 critique peut continuer avec une facturation à la consommation convenue et une limite de sécurité.
  • Tous les utilisateurs voient leur jauge et la jauge globale ; le détail nominatif est réservé aux administrateurs.
  • Les métriques sont conservées 12 mois sans prompt ni réponse.
  • Une hausse de quota s'applique à compter de sa validation et ne modifie pas les périodes précédentes.

Point de validation​

  • À VALIDER (Baptiste) : adopter LiteLLM Proxy avec PostgreSQL après réussite du pilote interne et documentation des limites découvertes.