# 05 — Gouvernance des coûts

Guide §10 : « Aucun pilote ne devrait être autorisé sans une compréhension
du modèle de facturation, des principaux facteurs de consommation, des
seuils d'alerte, des responsabilités de suivi, du plafond de consommation
applicable et des mesures prévues en cas de dépassement. »

## 1. Modèle de facturation

| Élément | Mili |
|---|---|
| Devise | Les montants sont affichés en CAD (prix des modèles configurés en CAD dans la passerelle; les clés de configuration gardent leur suffixe historique `_usd`) |
| Unité de coût | Jetons traités (entrée + sortie) pour le modèle de langage et la vision; secondes d'audio (STT), caractères (TTS), images, incorporations, facturés par la passerelle d'inférence de Québec Agentique |
| Où le coût est connu | La passerelle rapporte le coût de chaque appel; Mili l'enregistre par exécution. Pour un fournisseur qui ne rapporte pas de coût (ex. voix tierce), une **grille de repli** (`agent.price_fallback`) est appliquée et le résultat est étiqueté « estimation » |
| Plafond de la période (par agent) | Budget de la clé de facturation, fixé dans la console; arrêt dur au dépassement |
| Plafond par exécution | `agent.turn_token_cap` (jetons, défaut 3 000 000) et `agent.turn_cost_cap_usd` (argent); l'exécution s'arrête avant le prochain appel d'outil, l'état est sauvegardé, l'utilisateur décide de poursuivre ou non |
| Seuils d'alerte | `agent.budget_alert_thresholds`, défaut [50, 80, 95] % du budget de la période; une fois par seuil et par période; journal `cost.budget_threshold`; avis au propriétaire; bandeau dans l'interface |
| Suivi par type de tâche | Chaque `cost.turn` détaille : tours du modèle principal, complétions d'arrière-plan, vision, vidéo, STT, TTS, images, incorporations, avec la source du coût (passerelle / estimation / partiel) |

## 2. Facteurs de consommation (§10) et comment les contenir

| Facteur | Effet | Levier Mili |
|---|---|---|
| Volume de contexte | Coût croît avec la taille des documents et de l'historique | Compression de contexte automatique; limiter les collections RAG au nécessaire |
| Nombre d'appels d'outils | Chaque tour d'outil relance le modèle | `tuning.MAX_TOOL_ROUNDS`, `MAX_TOTAL_TOOL_CALLS`; plafond par exécution |
| Répétition d'étapes | Boucles | Détection de boucles et d'idempotence intégrée; plafond par exécution |
| Modèle plus coûteux | | `models.default` verrouillable par politique |
| Traitements spécialisés (vision, vidéo image par image, voix) | Souvent plus chers que le texte | Comptés dans le plafond par exécution; `image_generation`, `video_analyze`, `voice_clone` peuvent être interdits (`agent.forbidden_tools`) |
| Longue durée / tâches planifiées | Consommation sans utilisateur présent | Contextes autonomes bloqués au niveau `propose`; seuils d'alerte; suspension |
| Orchestration multi-agents | Chaque agent pair consomme son propre budget | Lignage `subagent.*`, `mcp.*` au journal |

## 3. Valeurs retenues pour ce pilote

| | Valeur | Justification |
|---|---|---|
| Budget de la période | | |
| `agent.turn_token_cap` | | |
| `agent.turn_cost_cap_usd` | | |
| `agent.budget_alert_thresholds` | | |
| `agent.price_fallback` (fournisseurs sans coût rapporté) | | |
| Responsable du suivi | | |
| Fréquence de revue des coûts | | |

## 4. Mesures en cas de dépassement

| Événement | Mesure automatique | Mesure organisationnelle |
|---|---|---|
| Seuil 50 % | Journal + avis | Vérifier la tendance |
| Seuil 80 % | Journal + avis | Décider : restreindre (niveau `propose`, outils interdits) ou augmenter le budget |
| Seuil 95 % | Journal (critique) + avis | Préparer le retour manuel |
| 100 % | Arrêt dur de l'inférence par la passerelle | Décision du propriétaire |
| Plafond par exécution atteint | Arrêt de l'exécution, état sauvegardé, `cost.turn_cap` | Examiner la tâche : légitime ou dérive ? |
| Coûts imprévisibles répétés (§12) | — | Suspension et revue |

## 5. Preuves pour le dossier

- Extrait du journal `cost.turn` sur la période du pilote (coût par exécution et par type).
- `cost.budget_threshold` reçus.
- Tableau de bord des métriques (jetons, coût, latence par modèle).
- Comparaison avec l'indicateur de valeur du cas d'usage (`02`, section 3).
