DEV Community

김이더
김이더

Posted on

Claude Code가 Pro에서 사라진 12시간 - Anthropic의 조용한 하향과 명시적 제거 사이

원문 이슈는 GitHub #42796에, 관련 보도는 The Register에서 볼 수 있다.
더 많은 글은 radarlog.kr에서.


2026년 4월 21일 오후, Anthropic이 Claude Pro 요금제 페이지에서 Claude Code를 조용히 지웠다.

가격 페이지의 "Claude Code 포함" 문구가 사라졌고, 지원 문서의 "Using Claude Code with your Pro or Max plan"이 "Using Claude Code with your Max plan"으로 바뀌었다. 몇 시간 뒤 전부 원복됐지만, 이건 단발성 실수가 아니다.

2월의 adaptive thinking 도입, 3월의 effort 기본값 하향, 4월 6일 AMD 디렉터의 공개 분석 보고서, 그리고 4월 21일의 Pro 제거 실험까지 — 서로 떨어진 사건처럼 보이는 이 네 개의 점은 하나의 선으로 이어진다.

Anthropic은 long-running agent 시대의 경제학을 감당하지 못하고 있고, 감당하기 위해 여러 가지를 동시에 시도하고 있다.

그 시도들이 어떻게 연결되는지, 그리고 회사에 AI 코딩 도구를 도입하는 입장에서 이 시그널을 어떻게 읽어야 하는지를 정리해본다.


4월 21일 오후에 정확히 무슨 일이 있었나

Ed Zitron이 가장 먼저 포착했다. Anthropic의 가격 페이지에서 Pro 요금제의 "Claude Code 포함" 체크 표시가 빨간 X로 바뀌어 있었다. 지원 문서도 수정됐다. Claude Code 제품 페이지는 여전히 Pro를 언급하고 있었지만, 핵심 과금 페이지는 명확하게 "Max 전용"으로 돌아서 있었다.

The Register가 취재에 들어가자 Anthropic의 Head of Growth인 Amol Avasare가 X에 해명을 올렸다. "신규 prosumer 가입자의 약 2%를 대상으로 한 작은 테스트고, 기존 Pro/Max 구독자는 영향 없다."

그런데 그 해명의 뒷부분이 더 흥미롭다.

"우리가 1년 전 Max를 출시했을 때, Claude Code도 Cowork도 없었고 몇 시간씩 돌아가는 에이전트도 없었다. Max는 헤비한 채팅 사용을 위해 설계된 플랜이다, 그게 전부였다."

"그 뒤로 Claude Code를 Max에 번들링했고 Opus 4 이후 폭발적으로 성장했다. Cowork가 나왔다. 장시간 비동기 에이전트가 일상적인 워크플로우가 됐다. 사람들이 Claude 구독을 실제로 쓰는 방식이 근본적으로 바뀌었다."

2% 테스트라는 해명과 이 발언을 같이 놓고 보면, "작은 실험"이 아니다. 현재 요금제 구조 자체가 현재 사용 패턴을 감당 못 한다는 고백에 가깝다.

그리고 이 고백을 뒷받침하는 또 다른 사건이 2주 전에 이미 있었다.

2주 전: AMD AI 디렉터가 telemetry를 들고 나타났다

4월 2일, AMD의 AI 그룹 디렉터 Stella Laurenzo가 Claude Code GitHub 레포에 이슈 #42796을 올렸다. 제목: "Claude Code is unusable for complex engineering tasks with the Feb updates."

Laurenzo는 "요새 멍청해진 것 같다" 같은 감성 토크를 한 게 아니다. 자기 팀이 3개월간 쓴 Claude Code 세션 로그 6,852개, tool call 234,760개, thinking block 17,871개를 정량 분석해서 들고 왔다. 전 Google OpenXLA 리드이자 $200B급 반도체 기업 AI 그룹 수장이 GitHub 이슈를 여는 건, 그냥 감으로 하는 일이 아니다.

핵심 수치는 세 개다. 첫째, thinking depth가 2월 말부터 평균 67% 감소했다. 둘째, 파일 수정 전 코드를 읽는 비율(reads-per-edit)이 6.6에서 2.0으로 떨어졌다 — 70% 감소다. 셋째, "책임 회피, 중도 포기, 허락 요청" 같은 부적절 행동을 잡아내는 stop hook 스크립트가 3월 8일 이전엔 한 번도 발동하지 않았다가, 이후 17일간 173번 발동했다.

Laurenzo 본인의 문장으로 보면 그림이 더 선명해진다.

"Thinking이 얕아지면, 모델은 가장 싼 행동으로 기본값을 잡는다. 읽지 않고 수정하고, 끝내지 않고 멈추고, 실패의 책임을 회피하고, 올바른 수정 대신 가장 간단한 수정을 선택한다. 이것이 관찰된 증상과 정확히 일치한다."

게임 개발자 입장에서 이 데이터는 특히 아프다. read-to-edit 6.6이라는 숫자는 "헤더 읽고, 의존성 추적하고, grep으로 사용처 찾고, 테스트 읽고, 그제서야 수정한다"는 워크플로우의 서명이다. 복잡한 코드베이스 — 이를테면 UE5 C++처럼 헤더/cpp/USTRUCT/TMap이 얽힌 — 에서 이 워크플로우가 2.0으로 떨어진다는 건 사실상 "대충 고친다"는 뜻이다.

Laurenzo 팀은 결국 다른 프로바이더로 옮겼다고 썼다. 그러면서 남긴 말이 핵심이다.

"6개월 전, Claude는 추론 품질과 실행 능력에서 독보적이었다. 이제는 다른 경쟁자들을 매우 진지하게 고려하고 평가해야 한다."

Anthropic의 반박, 그리고 절반의 인정

Claude Code 팀의 Boris Cherny가 이슈에 등장했다. 그의 설명은 반박과 인정이 섞여 있어서, 양쪽을 나눠서 볼 필요가 있다.

반박 쪽은 이렇다. 3월에 도입된 redact-thinking 헤더는 UI-only 변경이고 실제 reasoning은 그대로 일어난다. 모델의 thinking budget이나 추론 실행 메커니즘에는 영향을 주지 않는다. Laurenzo가 분석한 지표는 redacted thinking block의 길이를 추정한 것이라, 실제 추론량이 아니라 측정 가능한 외부 신호가 끊긴 결과일 수 있다.

인정 쪽은 이렇다. 2월에 두 가지 실질적 변경이 있었다. 첫째는 2월 9일 Opus 4.6 출시와 함께 도입된 adaptive thinking — 고정된 thinking budget 대신 모델이 매 턴마다 얼마나 생각할지 스스로 결정하는 방식이다. 둘째는 3월 3일, 기본 effort level을 High에서 Medium(100점 만점에 85)으로 내린 것이다. Boris는 이를 "지능과 지연시간 곡선의 sweet spot"이라고 프레이밍했다.

사용자들이 실제 대화 로그를 공유하자 Boris는 한 발 더 물러섰다. adaptive thinking이 특정 턴에서 reasoning을 과소할당하는 것 같다고 인정했다. 해결책으로 제시한 건 /effort high/effort max 명령어, 환경변수 CLAUDE_CODE_EFFORT_LEVEL=max, 그리고 CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1이다.

요약하면 이렇다. 모델 자체가 멍청해진 건 아니지만, 기본 설정이 조용히 내려갔고, 사용자는 매뉴얼하게 되돌려야 한다. 자동차 회사가 엔진 출력을 낮춰놓고 "액셀을 더 세게 밟으라"고 하는 것과 구조적으로 같다.

그리고 바로 이 프레임이, 4월 21일 Pro 제거 실험과 하나의 선으로 연결된다.

하나의 선: 조용한 하향 → 명시적 제거 실험

Laurenzo 이슈와 Pro 제거 사건을 따로 보면 각각 그냥 짜증나는 사고처럼 보인다. 같이 놓으면 패턴이 보인다.

2월 9일   Opus 4.6 + adaptive thinking 도입
3월 3일   기본 effort level: High → Medium
3월 초    thinking content redaction 전면 적용
4월 2일   Laurenzo 이슈 #42796 공개
4월 6일   Boris의 공식 답변 (UI-only 주장 + 기본값 하향 인정)
4월 21일  Pro 요금제에서 Claude Code 제거 (~12시간 후 롤백)
Enter fullscreen mode Exit fullscreen mode

이 타임라인이 말하는 건 분명하다. Anthropic은 두 개의 다른 방식으로 비용을 누르려 시도 중이다. 하나는 조용한 하향 — 같은 가격에 덜 생각하게 만드는 것. 다른 하나는 명시적 제거 — 같은 기능을 더 비싼 티어로 밀어 올리는 것.

조용한 하향은 발각되기 전까지 효과적이다. 발각되면 "이건 UI 변경이고 effort 설정을 바꾸면 됩니다"라고 해명할 수 있다. 하지만 Laurenzo 같은 사람이 telemetry를 들고 나타나면 반박이 어렵다.

명시적 제거는 더 강한 카드다. 구조를 바꾸면 앞으로의 사용량을 원천 차단할 수 있다. 그런데 단점은 즉시 눈에 띈다는 점이다. Pro 페이지에 X 표시가 뜨는 순간 X, Hacker News, Reddit이 동시에 터진다. 4월 21일에 정확히 그렇게 됐고, Anthropic은 반나절 만에 손을 뗐다.

두 카드를 같이 쓰는 게 이상한 일은 아니다. 정상적인 가격 실험이기도 하다. 문제는 조용한 카드가 먼저 시도됐고, 그게 안 먹힌 다음에 명시적 카드가 나왔다는 순서다. Avasare의 발언을 한 번 더 보자. "우리 플랜은 이런 사용량을 위해 설계된 게 아니다." 이건 "2% 테스트" 스케일의 문장이 아니다. 구조 개편 스케일의 문장이다.

에이전트 경제학: Netflix 모델이 깨지는 이유

왜 이런 일이 벌어지는지 이해하려면 한 단계 더 들어가야 한다. AI 구독 서비스는 Netflix가 아니다.

Netflix 같은 전통적 SaaS는 사용자가 늘어도 한계비용이 거의 0이다. 한 명이 더 가입해서 House of Cards를 다시 보는 건 서버 대역폭 조금 더 쓰는 거지, 콘텐츠 제작비가 새로 드는 게 아니다. 그래서 파워 유저는 자산이다. 입소문을 내주고, 이탈률을 낮춰주고, 번들 가치를 증명해준다.

AI 에이전트 서비스는 정반대다. 사용자가 에이전트를 한 번 돌릴 때마다 GPU 시간이 실제로 소모된다. Sonnet 응답 하나는 몇 센트, Opus는 더 비싸고, 장시간 에이전트가 tool call 200번을 돌리면 사용자 한 명에게서 하루에 몇 달러가 사라질 수 있다.

이 구조에서 파워 유저는 자산이 아니라 부채다. 많이 쓸수록 회사가 손해를 본다. $20 Pro 플랜으로 하루 8시간 Claude Code를 돌리는 사용자는, 구독료보다 훨씬 많은 compute를 소비한다. 그걸 다른 가벼운 사용자들의 구독료로 보조하는 구조인데, 장시간 에이전트 워크플로우가 일상화되면 "가벼운 사용자"의 비율이 줄어든다. 보조가 안 먹힌다.

이건 Anthropic만의 문제가 아니다. Sam Altman도 작년에 ChatGPT Pro $200 플랜이 사용량 때문에 적자라고 공개적으로 말했다. OpenAI도, Cursor도, Replit도 전부 같은 벽에 부딪히고 있다. Cursor는 크레딧 기반으로, Replit은 effort 기반으로, Google Gemini는 하드캡으로 — 업계 전체가 일제히 사용량 기반 과금으로 움직이는 중이다.

Anthropic의 선택지도 크게 보면 세 가지다. 플랜을 쪼개거나(Pro Plus $40~50 같은 중간 티어), 기존 플랜 기능을 축소하거나(Pro 제거 실험), 모델 자체의 기본값을 낮추거나(effort 하향). 지금까지는 뒤의 두 개를 동시에 시도 중이고, 커뮤니티 반응을 보면서 첫 번째를 만지작거리고 있다고 보는 게 합리적이다.

게임 개발자 관점에서: 이 시그널을 어떻게 읽어야 하나

회사에 AI 코딩 도구 도입을 주도하고 있는 입장에서, 이번 사건은 몇 가지 운영상의 결정을 새로 검토하게 만든다.

첫 번째는 측정을 돌려주는 것이다. Laurenzo가 이번 사건에서 남긴 진짜 교훈은 67%라는 숫자 자체가 아니라, 그 숫자를 뽑아낼 수 있는 인프라를 갖고 있었다는 점이다. 6,852개 세션 로그가 ~/.claude/projects/ 아래에 쌓여 있었고, JSONL을 파싱해서 thinking block의 signature 필드 길이와 실제 content 길이의 상관관계(Pearson r=0.971)를 계산할 수 있었다. 이게 없었으면 "요새 좀 이상한데"로 끝났을 거다.

팀에 Claude Code를 깔아두고 있다면, 최소한 세션 로그를 어딘가에 모으고 read-to-edit 비율 정도는 추적할 수 있는 구조를 만들어두는 게 낫다. Anthropic이 thinking token 지표를 API 응답에 노출하겠다는 공식 약속은 아직 없다. 지표를 주지 않으면 스스로 만들어야 한다.

두 번째는 프로바이더 단일 의존을 피하는 것이다. 이건 "Claude 싫어"가 아니라 리스크 헤징의 문제다. 지금 이 시점에 Claude Code만 쓰는 팀은, Anthropic의 요금제 실험 하나에 개발 프로세스가 흔들린다. Codex가 빠르게 따라붙고 있고, 로컬 모델 옵션도 — DeepSeek이나 Qwen Coder 같은 — coding 성능에서 의미 있게 좁혀왔다. 메인은 Claude로 가되, 백업 프로바이더 하나를 팀이 실제로 돌릴 수 있는 상태로 유지하는 게 안전하다.

세 번째는 effort/budget 설정을 명시적으로 고정하는 것이다. adaptive thinking이 기본값이 된 이상, 복잡한 작업을 돌릴 때는 /effort high 또는 CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1을 팀 표준에 박아두는 게 낫다. 기본값이 언제 다시 내려갈지 모르고, 내려가도 즉시 공지가 없을 수 있다.

네 번째는 "무제한" 마케팅을 불신하는 것이다. 이번 사건의 진짜 교훈은 이거다. 명시적 숫자 제한이 있는 계약이 오히려 안전하다. "Pro 플랜 무제한"은 약속이 아니라 마케팅 문구고, 사용 패턴이 바뀌면 언제든 재정의된다. Max 20x의 "하루 N회 Opus 호출" 같은 명시적 한도가 장기적으로는 더 방어 가능한 조건이다.

우리가 얻은 것과 잃은 것

이번 사건에서 얻은 게 하나 있다. Anthropic이 이제 무엇이 커뮤니티의 한계선인지를 알게 됐다. 12시간 만에 롤백한 건, 커뮤니티 반응이 그들의 모델링을 넘어섰다는 증거다. 다음 실험은 이 경험을 학습한 상태에서 나올 거고, 그건 더 부드러울 거다. 아마 Pro Plus 티어 형태로.

잃은 것도 있다. 신뢰의 계층 하나다. Laurenzo가 남긴 문장을 다시 본다.

"6개월 전, Claude는 추론 품질과 실행 능력에서 독보적이었다. 이제는 다른 경쟁자들을 매우 진지하게 고려하고 평가해야 한다."

이건 경쟁 구도 판단이면서 동시에 계약 관점의 판단이다. 도구 하나에 개발 프로세스를 의존하는 순간, 그 도구의 제공자가 요금제를 어떻게 실험할지가 자기 팀의 생산성을 좌우한다. 그게 받아들일 만한 위험인지 아닌지는, 이번 같은 사건이 한 번씩 터질 때마다 재계산해야 한다.

4월 21일의 12시간은 Anthropic이 움직일 수 있는 범위를 테스트한 시간이었고, 동시에 우리가 어디까지 의존할 수 있는지를 재보는 시간이었다.

두 숫자를 모두 기억해둘 가치가 있다.

"우리 플랜은 이런 사용량을 위해 설계된 게 아니다." — 이건 가격 실험의 끝이 아니라 시작이다.

Top comments (0)