
J'ai accidentellement dépensé 1,5 million de yens sur Claude : les paramètres essentiels pour éviter une catastrophe de facturation liée à l'IA
AI features
- Views
- 1.2M
- Likes
- 778
- Reposts
- 149
- Comments
- 1
- Bookmarks
- 1.0K
TL;DR
Un développeur partage une mise en garde après avoir perdu 1,5 million de yens à cause d'une boucle infinie entre Claude Code Review et des agents IA, et propose une liste de garde-fous pour éviter des pics de facturation automatisés massifs.
Reading the FRANÇAIS translation
Pour éviter que des accidents similaires ne se reproduisent.
Je serais heureux que tout le monde lise ceci pour que nos 1,5 million de yens aient eu un sens !!! 🥺
À faire pour l'instant
- Définir les limites d'utilisation mensuelles de l'organisation Claude Team (évidemment)
- Définir des limites par service pour Claude Code Review
- Modifier les déclencheurs de Claude Code Review de « par push » à « une fois »
- Si vous pouvez diffuser les logs de transactions de carte de crédit vers un canal spécifique, gardez un œil dessus (c'est comme ça que je l'ai remarqué cette fois)
- Mettre en place des garde-fous et des mécanismes de sécurité complets
Paramétrage de la limite d'utilisation mensuelle de l'organisation Claude Team
Depuis https://claude.ai/admin-settings/usage

Dans Enterprise, vous pouvez définir des limites encore plus granulaires que simplement mensuelles, donc ça vaut le coup de les utiliser.
Limite par service de Claude Code Review
Depuis https://claude.ai/admin-settings/usage

Modifier le déclencheur de Claude Code Review de « par push » à « une fois »
Depuis https://claude.ai/admin-settings/usage

Ce qui s'est passé
Un samedi soir paisible, un sentiment de malaise a parcouru l'organisation.


1,5 million de yens étaient en train d'être engloutis par Claude Code Review. 😇
Pourquoi c'est arrivé
Pour aller droit au but, voici ce qui se passait :
Claude Code Review s'exécute
↓
Des commentaires de révision sont ajoutés
↓
L'agent IA (Codex/Claude, etc.) détermine si une correction est nécessaire
↓
L'agent IA corrige et commit/push si nécessaire
↓
Claude Code Review s'exécute à nouveau, déclenché par le push
↓
Le rebase/force push se propage aux PR empilées suivantes
↓
Claude Code Review s'exécute également sur les PR suivantes
↓
Répéter à l'infini ♾️
Dans le dépôt que nous développons, nous avons introduit Claude Code Review, qui révise automatiquement le code des PR GitHub. De plus, cette fois, nous utilisions des agents IA pour gérer des modifications relativement importantes en les divisant en plusieurs PR et en les empilant linéairement de l'amont vers l'aval. (Une série de telles PR s'appelle une PR empilée - Stacked PR). De plus, Claude Code Review est un service payant basé sur l'utilisation de tokens.
Stacked PR
feat/branch-1 (PR 1)
↓
feat/branch-2 (PR 2)
↓
feat/branch-3 (PR 3)
↓
…
↓
feat/branch-N (PR N)
En y repensant, le coût moyen de ces révisions était de 25,81 $ par révision 😱

Même sur le blog officiel d'Anthropic, il est expliqué que Code Review vise des révisions approfondies et sera plus cher que des options légères comme Claude Code GitHub Action, mais je n'aurais jamais imaginé que ce serait autant…
Cette fois, pour effectuer des modifications à grande échelle, nous avons créé plusieurs PR empilées tout en utilisant plusieurs agents IA localement. Claude Code Review s'exécute au moment où ces PR sont créées. Normalement, un humain vérifierait le contenu de la révision et déciderait s'il faut y répondre, mais cette fois, en supposant qu'un humain ferait la vérification finale, nous avions délégué la réponse principale — y compris le jugement de savoir s'il faut répondre à la révision — à l'agent IA.
Analyse approfondie du problème
1. Procéder à des fonctionnalités complexes en utilisant plusieurs PR empilées
Cette tâche impliquait des modifications relativement importantes. Nous les avons divisées en plusieurs PR car tout mettre dans une seule PR rend la révision difficile et il faut considérer l'ordre de publication. Diviser les PR n'était pas l'erreur. Le problème était qu'elles étaient des PR empilées linéaires.
Dans les PR empilées, si vous corrigez une PR amont, les PR aval doivent incorporer ces modifications. En d'autres termes, pousser vers l'amont provoque une propagation de rebase/push vers l'aval.
Cette structure était incompatible avec le paramètre de Claude Code Review qui se déclenche à chaque push.
2. Confier entièrement la réponse aux révisions à l'IA
Comme les révisions s'exécutaient à chaque push et que les commentaires de révision augmentaient, nous avons confié les tâches suivantes à l'agent IA :
- Vérifier les commentaires de révision non résolus
- Décider s'il faut y répondre ou les ignorer
- Si réponse, corriger et passer les tests locaux
- Commit/push
- Répondre aux commentaires de révision et les résoudre
- Surveiller les révisions supplémentaires pendant un moment après le push
L'objectif initial était que la réponse de l'IA aux suggestions soit terminée au moment où j'effectuais la vérification de fonctionnement et la révision.
Si nous avions veillé à ce qu'un humain prenne la décision finale sur la politique de réponse aux commentaires de révision, nous aurions probablement pu éviter cela.
3. Ça a continué de tourner même après les heures de travail
Je faisais tourner et surveillais le processus ci-dessus même après les heures de travail, mais j'aurais dû l'arrêter au moins en terminant le travail. C'est un point de réflexion complet.
Comme j'utilisais l'agent IA local sur abonnement, la sensation que les coûts API augmentaient à ce moment-là était faible. D'un autre côté, Claude Code Review tournant côté GitHub consommait l'utilisation de l'organisation Anthropic. Sur la console Anthropic, le coût moyen pour le dépôt cible était affiché à 25,81 $/révision. Sous-estimer cette sensation de coût a aussi été un point de réflexion.
J'ai créé une situation où l'IA à la carte a été exécutée longtemps alors qu'il y avait un écart entre le coût local perçu et le coût réel facturé.
Ce qui n'a pas fonctionné
1. Prendre à la légère le paramètre « déclenchement à chaque push » pour des révisions coûteuses
Cette fois, le paramètre de la console Anthropic était que les révisions s'exécutent à chaque push. Bien que la fonctionnalité de révision à chaque push soit pratique, les suggestions peuvent être fréquentes à chaque changement, donc les déclencheurs doivent être considérés avec soin.
2. Mauvaise évaluation de la compatibilité entre les PR empilées et les révisions automatisées
Les PR empilées sont un moyen efficace de diviser les PR en unités révisables. Cependant, corriger une PR amont nécessite un rebase des PR aval. Et pousser vers la PR aval déclenchait une révision là aussi. Ce qui aurait été une révision pour une PR s'est propagé à N PR dans une PR empilée, et des révisions ont été exécutées pour ce nombre.
3. Déléguer le jugement, la correction et le push à l'IA
Utiliser l'IA pour organiser les commentaires de révision ou les corrections locales est très pratique. Cependant, cette fois nous lui avons donné trop d'autorité. La boucle consistant à voir un commentaire de révision, y répondre, pousser, et surveiller à nouveau aurait dû être opérée avec une confirmation humaine explicite.
4. Faire de la limite de l'organisation la dernière ligne de défense
En conséquence, cela a atteint près de la limite de l'organisation, et c'est là que nous avons remarqué l'anomalie. Avoir une limite en soi était bien. Cependant, 10 000 $ était trop élevé pour une dernière ligne de défense. De plus, en raison de l'influence de l'utilisation supplémentaire activée et du moment de la réflexion, le coût mensuel cumulé de l'organisation a dépassé 10 000 $ en presque une seule journée. Nous avions besoin de garde-fous qui s'arrêteraient bien plus tôt.
Résumé
J'ai fait fondre 1,5 million de yens en une journée avec Claude Code Review. Je suis en train d'envoyer une demande de remboursement. La cause était que, alors que Claude Code Review était configuré pour se déclencher à chaque push, la combinaison des corrections/push de l'agent IA et de la chaîne de rebase des PR empilées a créé une boucle de révisions et de corrections.
Cette fois, nous avons trop profité de la commodité du développement piloté par l'IA et négligé les garde-fous de sécurité et de coût. Jusqu'à présent, c'était une phase où on nous laissait simplement utiliser l'IA, donc divers agents étaient fournis relativement à bas prix, mais je pense que nous entrons dans une phase où ils vont correctement nous prendre de l'argent en tant qu'entreprise maintenant que nous connaissons les avantages.
Nous réinventons maintenant l'organisation de développement pour l'ère de l'IA. https://supateam.com/ Nous veillerons à tirer parti de cette expérience.


