Imagine le dashboard Horizon un lundi à 07:42. Un job affiche 15 000 tentatives depuis vendredi soir, et il n'a jamais échoué d'une façon que quelqu'un aurait remarquée. Quelqu'un reçoit une alerte avant que le café soit prêt, un timeout atterrit dans la classe du job, et le postmortem tient en une ligne dans le canal de l'équipe. Alors pourquoi on est si nombreux à hausser les épaules quand un agent de code IA fait exactement la même chose sur notre abonnement ?

Ce chiffre est réel, au passage. Fin août, OpenAI a remis à zéro les quotas Codex des utilisateurs payants, après que l'équipe a remonté une pile de plaintes jusqu'à des bugs côté client qui brûlaient discrètement des tokens. Cette remise à zéro, c'est de l'histoire ancienne, et savoir si ton allocation a été rechargée ce week-end-là n'intéresse plus personne. La liste des bugs, elle, compte encore, parce qu'elle se lit comme une visite guidée de notre propre outil de suivi d'incidents. Dans un thread, une tâche mémoire en arrière-plan a vérifié plus de 15 000 fois si elle avait le droit de s'arrêter. Certaines exécutions de /goal ne s'arrêtaient pas une fois terminées, ou relançaient en boucle des appels d'outils cassés, ce qui a coûté aux utilisateurs les moins chanceux entre 15 et 70 pour cent de leur quota hebdomadaire. Une fonction d'historique résumait encore et encore une activité déjà résumée, et a avalé un cinquième de la semaine chez certains. Certains résultats d'outils MCP étaient encodés deux fois. D'après l'équipe, tout corriger a rendu aux utilisateurs environ 10 à 50 pour cent de quota utilisable en plus, selon leur façon de travailler.

Retire l'étiquette IA et il te reste quatre bugs que tout développeur PHP a livrés au moins une fois : la boucle de retry sans plafond, le worker qui ne se termine jamais, le job qui refait un travail déjà fait, et un json_encode appliqué à une chaîne qui était déjà du JSON. On les repère dans nos propres systèmes parce qu'on a appris, généralement à 3 h du matin, à mettre un timeout, une valeur de max tries et une ligne de log sur tout ce qui tourne sans personne pour surveiller. Un agent qui exécute une longue tâche, c'est exactement ce genre de chose : un processus en arrière-plan qui dépense de l'argent à ta place.

Pour être juste envers le fournisseur, il l'avait compris. L'équipe Codex a dit avoir ajouté des alertes automatiques pour ce type de gaspillage et a promis aux utilisateurs une ventilation de l'endroit où partent leurs tokens. Au moment où tu lis ces lignes, cette vue est peut-être déjà en ligne, et le fournisseur voit des choses que tu ne verras jamais, comme ce que le client et le modèle se disent réellement. Si un dashboard existe déjà, construire le tien a l'air redondant, et je prends cet argument au sérieux.

Je veux quand même mon propre registre. Une ventilation côté fournisseur te dit quelle fonctionnalité de l'outil a consommé les tokens. Elle ne peut pas te dire que le refactoring du ticket 4127 a coûté trois fois ce que valait le changement, ni que l'automatisation d'un développeur se déclenche toutes les dix minutes alors qu'elle devait tourner toutes les heures. Et le compteur appartient à l'entreprise qui t'envoie aussi la facture. Ce n'est pas une accusation. C'est la même raison pour laquelle personne ne traite l'export du prestataire de paiement comme sa seule comptabilité, même en lui faisant entièrement confiance.

En pratique, ça demande moins d'efforts qu'il n'y paraît. Traite chaque session d'agent comme une entrée cron : il lui faut un responsable nommé et une limite stricte en temps réel. Logue le nombre de tokens par branche ou par ticket, au même endroit que tes autres métriques de jobs. Ensuite, jette un œil rapide aux totaux une fois par semaine, comme tu parcourrais les logs de requêtes lentes. Nos voisins qui écrivent du Go te feront remarquer que context.WithTimeout règle la moitié du problème en une ligne, et c'est agaçant, mais sur cette moitié-là ils ont raison. L'autre moitié, c'est juste de l'attention. Et l'attention, c'est gratuit.

Alors je suis curieux de savoir comment ton équipe s'y prend vraiment. Quand un agent dépense la moitié de ton budget hebdomadaire sur une tâche que personne n'a demandée, qui s'en rend compte en premier : toi, grâce à tes propres logs, ou le dashboard du fournisseur, une fois le mal fait ?