
Claude で 150 万円を誤って浪費:AI の高額請求を防ぐための必須設定
AI features
- Views
- 1.1M
- Likes
- 737
- Reposts
- 145
- Comments
- 1
- Bookmarks
- 982
TL;DR
ある開発者が、Claude Code Review と AI エージェント間の無限ループにより 150 万円を失った教訓を共有します。自動化による予期せぬ高額請求を防ぐためのガードレール設定チェックリストを解説します。
Reading the 日本語 translation
同じような事故を防ぐために
この 150 万円の出費が少しでも意味のあるものになるよう、皆さんに読んでいただければ嬉しいです!🥺
今すぐやるべきこと
- Claude Team 組織の月間使用量制限を設定する(当然)
- Claude Code Review のサービス別制限を設定する
- Claude Code Review のトリガーを「プッシュごと」から「1 回」に変更する
- クレジットカードの取引ログを特定のチャンネルに流せるなら、軽く目を通す(今回気づいた方法)
- ガードレールとハーネスを徹底的に実装する
Claude Team 組織の月間使用量制限設定
https://claude.ai/admin-settings/usage から

Enterprise では月間だけでなく、さらに細かい制限も設定できるので、活用する価値があります。
Claude Code Review のサービス別制限
https://claude.ai/admin-settings/usage から

Claude Code Review のトリガーを「プッシュごと」から「1 回」に変更
https://claude.ai/admin-settings/usage から

何が起きたか
平穏な土曜の夕方、組織に不安が走りました。


150 万円が Claude Code Review に吸い込まれていました。😇
なぜ起きたか
結論から言うと、以下のような流れが発生していました。
Claude Code Review が実行される
↓
レビューコメントが追加される
↓
AI エージェント(Codex/Claude など)が修正が必要か判断する
↓
必要に応じて AI エージェントが修正し、コミット/プッシュする
↓
プッシュをトリガーに Claude Code Review が再実行される
↓
リベース/フォースプッシュが後続の Stacked PR に伝搬する
↓
後続の PR でも Claude Code Review が実行される
↓
無限ループ ♾️
私たちが開発しているリポジトリでは、GitHub PR のコードを自動レビューする Claude Code Review を導入していました。また、今回は比較的大規模な変更を複数の PR に分割し、上流から下流へ直線的に積み上げる形(Stacked PR)で、AI エージェントを使って対応していました。さらに、Claude Code Review はトークン使用量に応じた従量課金サービスです。
Stacked PR
feat/branch-1 (PR 1)
↓
feat/branch-2 (PR 2)
↓
feat/branch-3 (PR 3)
↓
…
↓
feat/branch-N (PR N)
振り返ると、これらのレビューの平均コストは 1 回あたり $25.81 でした😱

Anthropic の公式ブログでも、Code Review は深いレビューを目的としており、Claude Code GitHub Action のような軽量なオプションより高コストになると説明されていますが、ここまでとは思いませんでした…
今回、大規模な変更を行うために、ローカルで複数の AI エージェントを使いながら複数の Stacked PR を作成しました。Claude Code Review はこれらの PR 作成時に実行されます。通常は人間がレビュー内容を確認して対応を判断しますが、今回は最終チェックは人間が行う前提で、レビュー対応の判断も含めて AI エージェントに一次対応を任せていました。
問題の深掘り
1. 複数の Stacked PR で複雑な機能を進めたこと
このタスクは比較的大きな変更を伴いました。1 つの PR にまとめるとレビューが難しくなることと、リリース順を考慮して複数の PR に分割しました。PR を分割したこと自体は間違いではありません。問題は、それらが直線的な Stacked PR だったことです。
Stacked PR では、上流の PR を修正すると、下流の PR もその変更を取り込む必要があります。つまり、上流へのプッシュが下流へのリベース/プッシュの伝搬を引き起こします。
この構造は、すべてのプッシュでトリガーされる Claude Code Review の設定と相性が悪かったのです。
2. レビュー対応を完全に AI に任せたこと
すべてのプッシュでレビューが実行され、レビューコメントが増え続けたため、AI エージェントに以下のタスクを割り当てました。
- 未解決のレビューコメントを確認する
- 対応するかスキップするか判断する
- 対応する場合は修正し、ローカルテストを通過させる
- コミット/プッシュする
- レビューコメントに返信して解決する
- プッシュ後、追加レビューがないかしばらく監視する
本来の目的は、私が動作確認とレビューを行う頃には、AI による提案への対応が完了している状態にすることでした。
もし人間がレビューコメントへの対応方針を最終判断する仕組みを確保していれば、おそらく防げたはずです。
3. 業務時間外も動き続けていたこと
業務時間外も上記のプロセスを実行・監視していましたが、最低でも作業終了時には止めるべきでした。これは完全に反省点です。
ローカルの AI エージェントはサブスクリプションで使っていたため、その瞬間に API コストが増加している感覚が薄かったのです。一方、GitHub 側で動作する Claude Code Review は Anthropic 組織の使用量を消費していました。Anthropic Console では、対象リポジトリの平均コストが 1 レビューあたり $25.81 と表示されていました。このコスト感覚を過小評価していたことも反省点の 1 つです。
認識していたローカルコストと実際の請求コストに乖離がある中で、従量課金の AI が長時間実行される状況を作ってしまいました。
何が悪かったか
1. 高額なレビューで「プッシュごとにトリガー」の設定を軽く見ていたこと
今回、Anthropic Console の設定はすべてのプッシュでレビューが実行されるようになっていました。すべてのプッシュでレビューできる機能は便利ですが、変更のたびに提案が頻繁に発生するため、トリガーは慎重に検討すべきでした。
2. Stacked PR と自動レビューの相性を誤判断したこと
Stacked PR は PR をレビュー可能な単位に分割する効果的な方法です。しかし、上流の PR を修正すると下流の PR のリベースが必要になります。そして下流の PR へのプッシュがそこでレビューをトリガーしました。本来 1 つの PR で 1 回だったレビューが、Stacked PR では N 個の PR に伝搬し、その分だけレビューが実行されました。
3. 判断、修正、プッシュを AI に委任したこと
レビューコメントの整理やローカルでの修正に AI を使うのは非常に便利です。しかし、今回は権限を与えすぎました。レビューコメントを見て、対応し、プッシュし、再度監視するというループは、明示的な人間の確認のもとで運用すべきでした。
4. 組織の制限を最後の防御線にしていたこと
結果的に組織の制限に近づき、そこで異常に気づきました。制限自体は良かったのです。しかし、$10,000 は最後の防御線としては高すぎました。また、追加使用量の有効化と反映タイミングの影響で、月間の組織コストがほぼ 1 日で $10,000 を超えました。もっと早い段階で止まるガードレールが必要でした。
まとめ
Claude Code Review で 1 日で 150 万円溶かしました。現在、返金リクエストを送っています。原因は、Claude Code Review がすべてのプッシュでトリガーされる設定になっていたところに、AI エージェントによる修正/プッシュと Stacked PR のリベース連鎖が組み合わさり、レビューと修正のループが発生したことです。
今回は、AI による開発の利便性を享受しすぎて、安全性とコストのガードレールを軽視していました。これまでは「とりあえず AI を使わせてみる」フェーズで、各種エージェントが比較的安価に提供されていましたが、メリットを理解した今、ビジネスとしてきちんと課金されるフェーズに入ったのだと思います。
私たちは現在、AI 時代の開発組織を再発明しています。https://supateam.com/ この経験を必ず活かします。


