
Gastei acidentalmente 1,5 milhão de ienes no Claude: Configurações essenciais para evitar um desastre de cobrança com IA
AI features
- Views
- 1.1M
- Likes
- 737
- Reposts
- 145
- Comments
- 1
- Bookmarks
- 982
TL;DR
Um desenvolvedor compartilha um relato de advertência sobre a perda de 1,5 milhão de ienes devido a um loop infinito entre o Claude Code Review e agentes de IA, fornecendo uma lista de verificação de proteções para evitar picos massivos de cobrança automatizada.
Reading the PORTUGUÊS translation
Para evitar que acidentes semelhantes aconteçam.
Ficaria feliz se todos lessem isso para que nossos 1,5 milhão de ienes tenham tido algum significado!!! 🥺
Faça isso por enquanto
- Defina limites de uso mensal da organização Claude Team (obviamente)
- Defina limites por serviço para o Claude Code Review
- Altere o gatilho do Claude Code Review de "por push" para "uma vez"
- Se você conseguir transmitir os logs de transações do cartão de crédito para um canal específico, fique de olho neles (foi assim que percebi desta vez)
- Implemente barreiras de proteção e contenção completas
Configuração do Limite de Uso Mensal da Organização Claude Team
Em https://claude.ai/admin-settings/usage

No Enterprise, você pode definir limites ainda mais granulares do que apenas mensais, então vale a pena utilizá-los.
Limite por serviço do Claude Code Review
Em https://claude.ai/admin-settings/usage

Altere o gatilho do Claude Code Review de "por push" para "uma vez"
Em https://claude.ai/admin-settings/usage

O que aconteceu
Em um sábado à noite tranquilo, uma sensação de inquietação percorreu a organização.


1,5 milhão de ienes estavam sendo drenados para o Claude Code Review. 😇
Por que aconteceu
Para ir direto ao ponto, o seguinte estava ocorrendo:
Execuções do Claude Code Review
↓
Comentários de revisão são adicionados
↓
O AI Agent (Codex/Claude, etc.) determina se uma correção é necessária
↓
O AI Agent corrige e faz commit/push se necessário
↓
O Claude Code Review é executado novamente, acionado pelo push
↓
O rebase/force push se propaga para os Stacked PRs subsequentes
↓
O Claude Code Review também é executado nos PRs subsequentes
↓
Repita até o infinito ♾️
No repositório que estamos desenvolvendo, introduzimos o Claude Code Review, que revisa automaticamente o código para PRs do GitHub. Além disso, desta vez estávamos usando AI agents para lidar com mudanças relativamente grandes, dividindo-as em vários PRs e empilhando-os linearmente de upstream para downstream. (Uma série desses PRs é chamada de Stacked PR). Além disso, o Claude Code Review é um serviço pré-pago baseado no uso de tokens.
Stacked PR
feat/branch-1 (PR 1)
↓
feat/branch-2 (PR 2)
↓
feat/branch-3 (PR 3)
↓
…
↓
feat/branch-N (PR N)
Olhando para trás, o custo médio dessas revisões foi de $25,81 por revisão 😱

Mesmo no blog oficial da Anthropic, é explicado que o Code Review visa revisões profundas e será mais caro que opções leves como o Claude Code GitHub Action, mas nunca imaginei que seria tanto...
Desta vez, para fazer mudanças em grande escala, criamos vários Stacked PRs enquanto usávamos vários AI agents localmente. O Claude Code Review é executado no momento em que esses PRs são criados. Normalmente, um humano verificaria o conteúdo da revisão e decidiria se deveria abordá-lo, mas desta vez, assumindo que um humano faria a verificação final, delegamos a resposta principal — incluindo o julgamento de se deveria abordar a revisão — ao AI agent.
Aprofundando no problema
1. Prosseguindo com funcionalidades complexas usando vários Stacked PRs
Esta tarefa envolvia mudanças relativamente grandes. Nós a dividimos em vários PRs porque colocar tudo em um único PR dificulta a revisão e considerando a ordem de lançamento. Dividir os PRs não foi o erro. O problema é que eles eram Stacked PRs lineares.
Em Stacked PRs, se você corrigir um PR upstream, os PRs downstream devem incorporar essas mudanças. Em outras palavras, fazer push no upstream causa propagação de rebase/push para o downstream.
Essa estrutura era incompatível com a configuração do Claude Code Review que é acionado a cada push.
2. Deixando a resposta à revisão inteiramente para a IA
Como as revisões eram executadas a cada push e os comentários de revisão estavam aumentando, atribuímos as seguintes tarefas ao AI agent:
- Verificar comentários de revisão não resolvidos
- Decidir se deve abordá-los ou ignorá-los
- Se for abordar, corrigir e passar nos testes locais
- Fazer commit/push
- Responder aos comentários de revisão e resolvê-los
- Monitorar por revisões adicionais por um tempo após o push
O objetivo original era que a resposta da IA às sugestões fosse concluída no momento em que eu realizasse a verificação de operação e a revisão.
Se tivéssemos garantido que um humano tomasse a decisão final sobre a política de resposta para os comentários de revisão, provavelmente poderíamos ter evitado isso.
3. Continuou rodando mesmo após o horário de trabalho
Eu estava executando e monitorando o processo acima mesmo após o horário de trabalho, mas deveria tê-lo parado, no mínimo, ao terminar o trabalho. Este é um ponto de reflexão completo.
Como usei o AI agent local em regime de assinatura, a sensação de que os custos de API estavam aumentando naquele momento era pequena. Por outro lado, o Claude Code Review rodando no lado do GitHub estava consumindo o uso da organização Anthropic. No Anthropic Console, o custo médio para o repositório alvo era exibido como $25,81/revisão. Subestimar essa sensação de custo também foi um dos pontos de reflexão.
Criei uma situação onde a IA pré-paga foi executada por um longo período enquanto havia uma lacuna entre o custo local percebido e o custo real faturado.
O que deu errado
1. Levar muito levianamente a configuração "acionar a cada push" para revisões caras
Desta vez, a configuração do Anthropic Console era para que as revisões fossem executadas a cada push. Embora o recurso de revisar a cada push seja conveniente, as sugestões podem ser frequentes a cada mudança, então os gatilhos devem ser considerados com cuidado.
2. Julgamento equivocado da compatibilidade entre Stacked PRs e revisões automatizadas
Stacked PRs são uma maneira eficaz de dividir PRs em unidades revisáveis. No entanto, corrigir um PR upstream requer um rebase dos PRs downstream. E fazer push para o PR downstream acionava uma revisão lá também. O que seria uma revisão para um PR se propagou para N PRs em um Stacked PR, e as revisões foram executadas por essa quantidade.
3. Delegar julgamento, correção e push para a IA
Usar IA para organizar comentários de revisão ou correções locais é muito conveniente. No entanto, desta vez demos a ela muita autoridade. O loop de ver um comentário de revisão, abordá-lo, fazer push e monitorar novamente deveria ter sido operado com confirmação humana explícita.
4. Tornar o limite da organização a última linha de defesa
Como resultado, chegou perto do limite da organização, e foi aí que notamos a anomalia. Ter um limite em si foi bom. No entanto, $10.000 era muito alto para uma última linha de defesa. Além disso, devido à influência do uso adicional habilitado e do tempo de reflexão, o custo mensal acumulado da organização ultrapassou $10.000 em quase um único dia. Precisávamos de barreiras de proteção que parassem muito antes.
Resumo
Derreti 1,5 milhão de ienes em um dia com o Claude Code Review. Estou atualmente enviando uma solicitação de reembolso. A causa foi que, enquanto o Claude Code Review estava configurado para ser acionado a cada push, a combinação de correções/pushes do AI agent e a cadeia de rebase dos Stacked PRs criou um loop de revisões e correções.
Desta vez, aproveitamos demais a conveniência do desenvolvimento orientado por IA e negligenciamos as barreiras de segurança e custo. Até agora, era uma fase de apenas nos deixar usar IA, então vários agentes foram fornecidos relativamente baratos, mas acho que estamos entrando em uma fase em que eles vão nos cobrar adequadamente como um negócio agora que conhecemos os benefícios.
Estamos agora reinventando a organização de desenvolvimento para a era da IA. https://supateam.com/ Vamos garantir que utilizaremos essa experiência.


