Claude 사용 중 실수로 150만 엔을 지출했습니다: AI 요금 폭탄을 방지하기 위한 필수 설정

Claude 사용 중 실수로 150만 엔을 지출했습니다: AI 요금 폭탄을 방지하기 위한 필수 설정

@gogo_tanaka
일본어2일 전 · 2026년 5월 10일

AI features

1.1M
737
145
1
982

TL;DR

한 개발자가 Claude Code Review와 AI 에이전트 간의 무한 루프로 인해 150만 엔을 지출하게 된 경위를 공유하며, 대규모 자동 결제 사고를 방지하기 위한 안전장치 체크리스트를 제공합니다.

비슷한 사고가 다시 발생하지 않도록 하기 위해.

이 글을 모두가 읽어주셔서 우리의 150만 엔이 조금이라도 의미 있었으면 좋겠습니다! 🥺

지금 당장 해야 할 일

  • Claude Team 조직 월별 사용량 한도 설정 (당연히)
  • Claude Code Review 서비스별 한도 설정
  • Claude Code Review 트리거를 "푸시 시"에서 "한 번"으로 변경
  • 신용카드 거래 내역을 특정 채널로 스트리밍할 수 있다면, 가볍게 모니터링 (이번에 이렇게 발견했습니다)
  • 가드레일과 안전장치 철저히 구현

Claude Team 조직 월별 사용량 한도 설정

https://claude.ai/admin-settings/usage 에서 설정

gogotanaka / aisaac, inc. - inline image

Enterprise에서는 월별 외에도 더 세분화된 한도를 설정할 수 있으니 활용하는 것이 좋습니다.

Claude Code Review 서비스별 한도

https://claude.ai/admin-settings/usage 에서 설정

gogotanaka / aisaac, inc. - inline image

Claude Code Review 트리거를 "푸시 시"에서 "한 번"으로 변경

https://claude.ai/admin-settings/usage 에서 설정

gogotanaka / aisaac, inc. - inline image

무슨 일이 일어났나

평화로운 토요일 저녁, 조직에 불안감이 스며들기 시작했습니다.

gogotanaka / aisaac, inc. - inline image
gogotanaka / aisaac, inc. - inline image

150만 엔이 Claude Code Review로 빠져나가고 있었습니다. 😇

왜 이런 일이 발생했나

결론부터 말하자면, 다음과 같은 상황이 발생했습니다:

Claude Code Review 실행

리뷰 코멘트 추가

AI Agent (Codex/Claude 등)가 수정 필요 여부 판단

AI Agent가 수정 후 필요시 커밋/푸시

푸시로 인해 Claude Code Review 재실행

Rebase/force push가 후속 Stacked PR로 전파

후속 PR에서도 Claude Code Review 실행

무한 반복 ♾️

저희가 개발 중인 리포지토리에는 GitHub PR의 코드를 자동으로 리뷰하는 Claude Code Review를 도입했습니다. 또한, 이번에는 AI Agent를 사용하여 비교적 대규모 변경 사항을 여러 PR로 분할하고, 상류에서 하류로 선형적으로 쌓아서 처리했습니다. (이러한 PR 시리즈를 Stacked PR이라고 합니다). 게다가 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)

돌아보니, 이 리뷰들의 평균 비용은 리뷰당 $25.81이었습니다 😱

gogotanaka / aisaac, inc. - inline image

Anthropic 공식 블로그에서도 Code Review는 심층 리뷰를 목표로 하며 Claude Code GitHub Action 같은 가벼운 옵션보다 비용이 더 많이 든다고 설명되어 있지만, 이 정도일 줄은 상상도 못 했습니다...

이번에는 대규모 변경을 위해 로컬에서 여러 AI Agent를 사용하면서 여러 Stacked PR을 만들었습니다. Claude Code Review는 이러한 PR이 생성되는 시점에 실행됩니다. 일반적으로는 사람이 리뷰 내용을 확인하고 대응 여부를 결정하지만, 이번에는 사람이 최종 확인을 한다는 가정 하에 리뷰 대응 여부 판단을 포함한 주요 대응을 AI Agent에 위임했습니다.

문제 심층 분석

1. 여러 Stacked PR로 복잡한 기능 진행

이 작업은 비교적 큰 변경이 필요했습니다. 하나의 PR에 모든 것을 담으면 리뷰가 어렵고 릴리스 순서를 고려해야 하기 때문에 여러 PR로 분할했습니다. PR을 분할한 것 자체는 실수가 아니었습니다. 문제는 이것들이 선형적인 Stacked PR이었다는 점입니다.

Stacked PR에서는 상류 PR을 수정하면 하류 PR이 해당 변경 사항을 통합해야 합니다. 즉, 상류에 푸시하면 하류로 rebase/push가 전파됩니다.

이 구조는 모든 푸시 시 트리거되는 Claude Code Review 설정과 호환되지 않았습니다.

2. 리뷰 대응을 전적으로 AI에 위임

모든 푸시 시 리뷰가 실행되고 리뷰 코멘트가 증가함에 따라, AI Agent에 다음과 같은 작업을 할당했습니다:

  • 해결되지 않은 리뷰 코멘트 확인
  • 대응할지 건너뛸지 결정
  • 대응하는 경우 수정 후 로컬 테스트 통과
  • 커밋/푸시
  • 리뷰 코멘트에 답변 및 해결
  • 푸시 후 추가 리뷰가 있는지 잠시 모니터링

원래 목표는 제가 동작 확인과 리뷰를 수행할 때쯤 AI가 제안 사항에 대한 응답을 완료해 놓는 것이었습니다.

리뷰 코멘트 대응 정책에 대한 최종 결정을 사람이 하도록 보장했다면, 이를 막을 수 있었을 것입니다.

3. 업무 시간 이후에도 계속 실행

업무 시간 이후에도 위 프로세스를 실행하고 모니터링했지만, 최소한 업무를 마칠 때는 중단했어야 했습니다. 이 점은 완전히 반성할 부분입니다.

로컬 AI Agent를 구독 형태로 사용하고 있었기 때문에, 그 순간 API 비용이 증가하고 있다는 인식이 희미했습니다. 반면, GitHub 측에서 실행되는 Claude Code Review는 Anthropic 조직 사용량을 소비하고 있었습니다. Anthropic Console에서 대상 리포지토리의 평균 비용은 리뷰당 $25.81로 표시되었습니다. 이 비용 감각을 과소평가한 것도 반성할 점 중 하나입니다.

인지된 로컬 비용과 실제 청구 비용 사이에 괴리가 있는 상태에서 종량제 AI가 장시간 실행되는 상황을 만들었습니다.

무엇이 잘못되었나

1. 고가의 리뷰에 대한 "모든 푸시 시 트리거" 설정을 너무 가볍게 여김

이번에 Anthropic Console 설정은 모든 푸시 시 리뷰가 실행되도록 되어 있었습니다. 모든 푸시 시 리뷰하는 기능은 편리하지만, 변경 사항이 있을 때마다 제안이 빈번해질 수 있으므로 트리거는 신중하게 고려해야 합니다.

2. Stacked PR과 자동 리뷰의 호환성 오판

Stacked PR은 PR을 리뷰 가능한 단위로 분할하는 효과적인 방법입니다. 그러나 상류 PR을 수정하려면 하류 PR의 rebase가 필요합니다. 그리고 하류 PR에 푸시하면 거기서도 리뷰가 트리거되었습니다. 하나의 PR에 대해 한 번이었을 리뷰가 Stacked PR의 N개 PR로 전파되어, 그만큼 리뷰가 실행되었습니다.

3. 판단, 수정, 푸시를 AI에 위임

리뷰 코멘트 정리나 로컬 수정에 AI를 사용하는 것은 매우 편리합니다. 하지만 이번에는 너무 많은 권한을 부여했습니다. 리뷰 코멘트를 보고, 대응하고, 푸시하고, 다시 모니터링하는 루프는 명시적인 사람의 확인 하에 운영되었어야 합니다.

4. 조직 한도를 최후의 방어선으로 설정

결과적으로 조직 한도에 근접했고, 그 시점에서 이상 징후를 발견했습니다. 한도 자체를 설정한 것은 좋았습니다. 하지만 $10,000은 최후의 방어선으로는 너무 높았습니다. 또한, 추가 사용량 활성화와 반영 타이밍의 영향으로 월별 조직 누적 비용이 거의 하루 만에 $10,000을 넘었습니다. 훨씬 더 일찍 중단시킬 수 있는 가드레일이 필요했습니다.

요약

Claude Code Review로 하루 만에 150만 엔을 녹였습니다. 현재 환불 요청을 보내고 있습니다. 원인은 Claude Code Review가 모든 푸시 시 트리거되도록 설정된 상태에서, AI Agent의 수정/푸시와 Stacked PR의 rebase 체인이 결합되어 리뷰와 수정의 루프가 생성되었기 때문입니다.

이번에는 AI 기반 개발의 편리함을 너무 많이 취하고, 안전과 비용 가드레일을 소홀히 했습니다. 지금까지는 AI를 그냥 사용하게 해주는 단계였기 때문에 다양한 Agent가 상대적으로 저렴하게 제공되었지만, 이제는 이점을 알았으니 비즈니스로서 제대로 비용을 청구하는 단계에 접어들었다고 생각합니다.

저희는 현재 AI 시대에 맞춰 개발 조직을 재창조하고 있습니다. https://supateam.com/ 이 경험을 반드시 활용하겠습니다.

More patterns to decode

Recent viral articles

Explore more viral articles

크리에이터를 위해.

𝕏의 바이럴 기사에서 콘텐츠 아이디어를 찾고, 왜 터졌는지 분석해 다음 크리에이터용 앵글로 바꿔보세요.