본문으로 건너뛰기

© 2026 Molayo

Zenn헤드라인2026. 05. 27. 10:50

claude -p를 122세션 실행하여 84.68유로를 낭비한 사례와 15분의 사전 검증(pre-flight)

요약

Claude Code의 `claude -p` 명령어를 자동화 봇으로 실행하던 중, 모델의 잘못된 과금 정보 안내로 인해 설정된 한도를 초과하는 비용이 발생한 사례를 분석합니다. 모델이 외부 과금 로직을 알지 못해 발생하는 할루시네이션 문제와 향후 Anthropic의 과금 체계 변경에 따른 주의사항을 다룹니다.

핵심 포인트

  • 모델은 실제 과금 백엔드 로직을 알 수 없어 잘못된 정보를 제공할 수 있음
  • Claude Code의 `-p` 실행 시 이용 한도 외 계좌 잔액이 차감될 위험 존재
  • Anthropic의 과금 체계 재분류로 인해 향후 비용 관리 난이도 상승 예상
  • 자동화 봇 구축 전 반드시 실제 과금 경로를 직접 검증하는 절차 필요

5월 23일, GitHub의 Claude Code 리포지토리에 문제 보고 번호 61704가 접수되었다. 보고자는 claude -p를 122세션 실행하는 bot 풀을 spawn_bot.py에 구축하여, OAuth 인증으로 기동해 issue backlog를 처리하려고 시도했다. 결과는 개인 계좌에서 84.68유로가 인출되었다. 설정해둔 60유로의 지출 한도(spending limit)를 24.68유로 초과한 금액이다.

보고자는 사전에 Claude Code에게 여러 차례 질문을 던졌다. "claude -p의 OAuth 기동은 계약된 이용 한도(utilization quota)만 소비하나요? 아니면 계좌 잔액도 사용하나요?" 약 10회의 독립적인 세션에서 동일한 질문을 했고, 모든 답변에서 "이용 한도만을 소비한다"라는 답변을 받았다. 그 결과에 기반하여 bot 풀을 구축했다. 내부 추적 결과로는 83.25달러로 추정되었으나, 실제로는 다른 경로(계좌 잔액)를 통해 청구되었다.

이것은 단 한 건의 우발적인 사고가 아니다. 구조적인 결함이며, 22일 후인 6월 15일 Anthropic의 과금 체계 재분류(reclassification) 이후 동일한 계통의 사고가 10배 규모로 발생할 여지가 있다. 본 기사는 그 구조를 3단계로 설명하고, 이용자가 지금 즉시 15분 내로 취할 수 있는 검증 절차(pre-flight protocol)를 정리한다.

왜 모델은 요금을 틀리게 말하는가

모델이 요금에 대해 자신 있게 대답할 때, 그 답변의 출처는 모델 자신의 훈련 데이터(training data)다. 공식 문서, 포럼, 블로그 포스트에 적힌 -p의 과금(billing) 설명을 모델이 통계적으로 보간(interpolation)하여 그럴듯한 답변을 생성하는 것이다.

문제는 Anthropic의 과금 백엔드(billing backend)의 실제 라우팅 로직(routing logic)은 모델의 추론 시간(inference time) 외부에 존재하며, 모델은 이를 읽을 수 없다는 구조적 특징에 있다. 모델은 "이것은 제가 확인할 수 없는 사항입니다"라고 말해야 할 상황에서, 훈련 데이터로부터 보간한 추측을 확신을 가지고 명확하게 표현(articulate)한다.

1. 모델의 주장: 훈련 코퍼스(training corpus)의 통계로부터 보간
2. 실제 동작: Anthropic의 과금 백엔드(billing backend)의 라우팅 로직(routing logic)
3. 검증 단계: 1과 2를 비교하는 메커니즘이 모델의 런타임(runtime)에 존재하지 않음
...

이는 Claude Code의 다른 상황에서도 반복적으로 관찰되는 공통된 구조다. 주 작업자(primary worker)의 PreToolUse-Bash 상황에서는, 이용자의 프롬프트(prompt)로부터 추측한 범위(scope)의 주장과, harness로부터 발화하는 실제 argv 사이에서 동일한 비대칭이 발생한다. 부 작업자(secondary worker)의 디스패치(dispatch) 상황에서는, 내러티브(narrative) 속의 "파견 완료"라는 주장과, 세션 로그(session log) 속의 Agent / Task 도구 호출의 실태 사이에서 동일한 비대칭이 발생한다. 122세션의 과금 사례는 동일한 클러스터(cluster) 내의 과금 축(billing-axis) 상의 행(row)에 해당한다.

6월 15일의 재분류(reclassification)가 상황을 악화시킨다

2026년 6월 15일에 Anthropic은 Agent SDK의 과금 경로를 분리할 예정이다. claude -p를 포함한 Agent SDK의 경로는 대화형 Claude Code와는 별개의 월간 크레딧(monthly credit, Pool 2)에서 차감된다. 플랜 티어(plan tier)별로 상한이 정해져 있으며, 초과분은 (extra-usage가 활성화되어 있다면) 표준 API 요율(API rate)로 과금되고, (비활성화되어 있다면) 중단된다.

공식 설명: support article 15036540

이용자 측에서 일어나는 일은 두 가지다.

첫째, 6월 15일 이후에 "claude -p는 어떻게 과금되나요?"라고 모델에게 물으면, 모델의 훈련 데이터는 6월 15일 이전의 과금 방식을 반영하고 있으므로, 답변은 구조적으로 틀리게 된다.

둘째, 자동화된 경로(claude -p...

뿐만 아니라, Agent SDK, cron, CI, GitHub Actions, 제3자 커넥터(third-party connectors) 전체를 Pool 2의 credit ceiling 범위 내에서 운용할지에 대한 판단이 필요하다. ceiling을 초과했을 때의 동작(extra-usage 과금 또는 중지)은 plan 설정에 따라 달라진다.

22일 후의 과금 변경 이전에, 내가 지금 어떤 credit bucket에서 -p를 소비하고 있는지, 6월 15일 이후에 무엇이 변하는지를 15분의 자기 점검(self-check)을 통해 확정하고 싶다.

15분 만에 할 수 있는 pre-flight protocol

#!/usr/bin/env bash
# claude-print-billing-preflight.sh
# 1회의 test invocation으로 자신의 환경의 billing routing을 확정한다
...

-p를 호출할 때마다 pre-flight가 오래되지 않았는지 점검하는 wrapper를 한 단계 끼워 넣으면, 122 세션의 bot 풀(pool) 사례를 자동으로 예방할 수 있다.

#!/usr/bin/env bash
# claude-p-wrapper.sh
# 30일 이내의 marker가 없으면 block
...

cron, CI/CD, GitHub Actions 중 어느 것이든, claude -p 호출의 전단(pre-step)을 wrapper로 교체하는 것만으로 marker file이 오래되었을 때 자동화가 중지된다. 6월 15일의 reclassification 직후에 marker가 일제히 invalid 취급을 받으므로, 6월 16일에 재 pre-flight를 강제하는 자연스러운 경로다.

정리 페이지

protocol, 레퍼런스 스크립트(reference script), 4가지 자동화 패턴(bot 풀 / CI/CD / scheduled jobs / autonomous loops)별 통합 방법, 검증 체크리스트(checklist), 관련 과제(issues)에 대한 링크를 하나의 페이지에 정리했다.

영어 단독 Gist 버전도 있다 (MIT-licensed 레퍼런스 스크립트를 복사/붙여넣기 가능): https://gist.github.com/yurukusa/f936ba845af7a004f966be452afa894a

6월 15일 이후에 무엇을 볼 것인가

reclassification 직후(6월 16일)에 재 pre-flight를 수행할 때, 확인하고 싶은 항목은 3가지다:

1. SDK credit의 per-plan ceiling
공식 설명(support article 15036540)에서 plan tier별로 명시된(articulated) ceiling을 자신의 dashboard에서 확인할 수 있는가
...

3가지 항목 전체를 marker file에 기록하고 wrapper의 만료(expiry)를 재계산한다. 이를 통해 6월 15일을 넘긴 이후의 자동화 billing 동작이, 모델의 주장이 아닌 자신의 dashboard 수치로 확정되는 상태가 된다.

관련 자료

22일 후의 과금 변경을 다루는 서적과 무료 자료 (각 utm을 포함하여 효과를 측정):

저자의 재무적 이해관계 공개: 위의 서적 (Migration Playbook, 19 달러)은 저자의 저서이며, 링크에는 utm이 포함되어 있습니다. 본 기사의 pre-flight protocol과 스크립트만으로도 많은 이용자의 판정이 완료됩니다. 서적은 plan 판정 (유지 / 전환 / 혼합)의 구조적인 프레임워크가 필요한 이용자를 위한 것이며, 자동화가 없거나 월 사용료가 100 달러 미만인 이용자에게는 불필요합니다.

22일 후의 과금 변경은 자동화된 Claude Code를 운영 중인 모든 이용자에게 확실히 영향을 미칩니다. 그 영향의 크기는 이용자마다 다르지만, 자신의 영향을 확정하는 데 필요한 것은 15분의 pre-flight입니다. 122개 세션의 bot 풀에서 발생한 84.68유로를 사후에 확인하는 것보다, 단 한 번의 test invocation을 통한 차이(delta)를 먼저 파악하는 것이 훨씬 저렴합니다.

Discussion

AI 자동 생성 콘텐츠

본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0