<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Rate Limits on ICE-ICE-BEAR-BLOG</title><link>https://ice-ice-bear.github.io/ko/tags/rate-limits/</link><description>Recent content in Rate Limits on ICE-ICE-BEAR-BLOG</description><generator>Hugo -- gohugo.io</generator><language>ko</language><lastBuildDate>Mon, 13 Apr 2026 00:00:00 +0900</lastBuildDate><atom:link href="https://ice-ice-bear.github.io/ko/tags/rate-limits/index.xml" rel="self" type="application/rss+xml"/><item><title>Claude Code Hidden Problem Analysis 정독 — 11개의 버그, 프록시 데이터, 그리고 쿼터의 사각지대</title><link>https://ice-ice-bear.github.io/ko/posts/2026-04-13-claude-code-hidden-problems/</link><pubDate>Mon, 13 Apr 2026 00:00:00 +0900</pubDate><guid>https://ice-ice-bear.github.io/ko/posts/2026-04-13-claude-code-hidden-problems/</guid><description>&lt;img src="https://ice-ice-bear.github.io/" alt="Featured image of post Claude Code Hidden Problem Analysis 정독 — 11개의 버그, 프록시 데이터, 그리고 쿼터의 사각지대" /&gt;&lt;h2 id="개요"&gt;개요
&lt;/h2&gt;&lt;p&gt;&lt;a class="link" href="https://github.com/ArkNill/claude-code-hidden-problem-analysis" target="_blank" rel="noopener"
 &gt;ArkNill/claude-code-hidden-problem-analysis&lt;/a&gt;는 어떤 개발자 도구에 대해서도 본 적 있는 가장 철저한 커뮤니티 리버스 엔지니어링 중 하나다. &lt;strong&gt;11개의 확인된 클라이언트 사이드 버그&lt;/strong&gt;를 카탈로그하고, 그중 &lt;strong&gt;9개가 v2.1.92부터 v2.1.97까지 6번의 릴리스 동안 미수정 상태&lt;/strong&gt;라는 것을 추적하며, 가로챈 HTTP 헤더에서 서버 사이드 쿼터 시스템을 재구성한다. 이 글은 그 안에 실제로 무엇이 있는지 정리한다.&lt;/p&gt;
&lt;h2 id="버그의-위치"&gt;버그의 위치
&lt;/h2&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;graph TD
 A[Claude Code Client] --&gt; B[캐시 레이어]
 A --&gt; C[컨텍스트 매니저]
 A --&gt; D[레이트 리밋 핸들러]
 B --&gt; B1["B1 Sentinel &amp;lt;br/&amp;gt; (v2.1.91 수정)"]
 B --&gt; B2["B2 Resume &amp;lt;br/&amp;gt; (v2.1.91 수정)"]
 B --&gt; B2a["B2a SendMessage &amp;lt;br/&amp;gt; resume miss"]
 C --&gt; B4["B4 Microcompact &amp;lt;br/&amp;gt; 무음 삭제"]
 C --&gt; B8["B8 인플레이션"]
 C --&gt; B9["B9 /branch &amp;lt;br/&amp;gt; 6%→73% 점프"]
 C --&gt; B10["B10 TaskOutput &amp;lt;br/&amp;gt; 21배 주입"]
 D --&gt; B3["B3 가짜 레이트 리밋"]
 D --&gt; B5["B5 예산 강제"]
 A --&gt; B11["B11 Adaptive thinking &amp;lt;br/&amp;gt; 추론 0"]&lt;/pre&gt;&lt;p&gt;레포의 버그 분류는 세 레이어를 친다 — &lt;strong&gt;캐시&lt;/strong&gt;(B1, B2, B2a), &lt;strong&gt;컨텍스트&lt;/strong&gt;(B4, B8, B9, B10), &lt;strong&gt;레이트 리밋&lt;/strong&gt;(B3, B5, B11). Anthropic은 v2.1.91에서 B1과 B2 수정을 출시했고, 이후 6번의 릴리스 동안 다른 어떤 것도 움직이지 않았다. 메인테이너는 이 사례를 만들기 위해 변경 로그를 명시적으로 교차 참조한다.&lt;/p&gt;
&lt;h2 id="프록시-데이터셋"&gt;프록시 데이터셋
&lt;/h2&gt;&lt;p&gt;이 분석을 평범한 &amp;ldquo;Claude Code가 느려진 것 같다&amp;rdquo; 불평과 구분하는 것은 데이터다. 메인테이너는 Claude Code 클라이언트와 Anthropic API 사이의 모든 요청을 캡처하는 투명 HTTP 프록시(&lt;strong&gt;cc-relay&lt;/strong&gt;)를 운영한다. 4월 8일 데이터셋은 다음을 포함한다:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;17,610 요청&lt;/strong&gt;, &lt;strong&gt;129 세션&lt;/strong&gt; (4월 1-8일)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;532개 JSONL 파일&lt;/strong&gt; (158.3 MB)의 원본 세션 로그&lt;/li&gt;
&lt;li&gt;데이터셋 전체에서 &lt;strong&gt;자동화된 버그 감지&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;눈에 띄는 숫자들:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;B5 예산 강제 이벤트:&lt;/strong&gt; 261건(4/3 단일일 측정)에서 **72,839건(전체 주 4/1-8)**으로 — 데이터셋이 커지면서 감지량 279배 증가, 거의 모든 긴 세션에서 발생함을 시사&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;B4 microcompact 이벤트:&lt;/strong&gt; 3,782 이벤트가 세션 중간에 &lt;strong&gt;15,998 아이템&lt;/strong&gt;을 무음 삭제&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;B8 컨텍스트 인플레이션:&lt;/strong&gt; 10 세션 평균 2.37배, 최대 4.42배 — 보편적, 고립 사례 아님&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;합성 레이트 리밋(B3):&lt;/strong&gt; 532 파일 중 183개(34.4%)에 &lt;code&gt;&amp;lt;synthetic&amp;gt;&lt;/code&gt; 모델 항목 — 만연&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;캐시 효율은 v2.1.91의 모든 세션 길이에서 98-99%를 유지했고, 캐시 회귀가 진짜 수정되었음을 확인한다. 요청당 비용은 세션 길이에 따라 스케일한다 — 0-30분 세션 &lt;code&gt;$0.20/요청&lt;/code&gt; vs 5시간 이상 세션 &lt;code&gt;$0.33/요청&lt;/code&gt;. 메인테이너는 이를 버전 특정 버그가 아닌 구조적 컨텍스트 성장에 귀속한다.&lt;/p&gt;
&lt;h2 id="리버스-엔지니어링된-쿼터-아키텍처"&gt;리버스 엔지니어링된 쿼터 아키텍처
&lt;/h2&gt;&lt;p&gt;가장 흥미로운 단일 발견은 &lt;strong&gt;3,702 요청&lt;/strong&gt;(4월 4-6일)에서 &lt;code&gt;anthropic-ratelimit-unified-*&lt;/code&gt; 헤더로 재구성한 쿼터 시스템이다. 헤드라인:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;듀얼 슬라이딩 윈도우 시스템:&lt;/strong&gt; 두 개의 독립 카운터가 병렬로 — &lt;strong&gt;5시간&lt;/strong&gt; 윈도우(&lt;code&gt;5h-utilization&lt;/code&gt;)와 &lt;strong&gt;7일&lt;/strong&gt; 윈도우(&lt;code&gt;7d-utilization&lt;/code&gt;). 관측된 모든 요청에서 &lt;code&gt;representative-claim&lt;/code&gt; 필드가 &lt;code&gt;five_hour&lt;/code&gt;였다 — 즉 5시간 윈도우가 &lt;em&gt;항상&lt;/em&gt; 병목이고, 7일 윈도우는 그렇지 않다.&lt;/p&gt;
&lt;p&gt;Max 20x ($200/월)에서 1% 이용률당 측정값:&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;메트릭&lt;/th&gt;
 &lt;th&gt;1%당 범위&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Output 토큰&lt;/td&gt;
 &lt;td&gt;9K-16K&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Cache Read 토큰&lt;/td&gt;
 &lt;td&gt;1.5M-2.1M&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Total Visible&lt;/td&gt;
 &lt;td&gt;1.5M-2.1M&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;7일 누적 비율&lt;/td&gt;
 &lt;td&gt;0.12-0.17&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="thinking-토큰-사각지대"&gt;Thinking 토큰 사각지대
&lt;/h3&gt;&lt;p&gt;여기가 불편한 부분이다. Extended thinking 토큰이 API가 반환하는 &lt;code&gt;output_tokens&lt;/code&gt; 필드에 &lt;strong&gt;포함되지 않는다.&lt;/strong&gt; 1%당 9K-16K visible output이라면, 5시간 윈도우 100% 전체가 0.9M-1.6M visible output 토큰밖에 안 된다 — 몇 시간의 Opus 작업으로는 비현실적으로 낮다. 이 패턴은 thinking 토큰이 클라이언트 보고 없이 서버 사이드에서 쿼터에 카운트되고 있다는 가설과 일치한다. 메인테이너는 이를 클라이언트에서 미확인이라고 명시적으로 표시하고, thinking 비활성화 격리 테스트를 제안한다.&lt;/p&gt;
&lt;p&gt;이게 중요한 이유는 &lt;strong&gt;Max 플랜 사용자가 언제 한계에 부딪힐지 예측할 방법이 없다는 것&lt;/strong&gt;을 의미하기 때문이다 — visible 토큰 카운터는 모델이 얼마나 많이 thinking 하는지에 따라 달라지는 인자만큼 실제 소비를 과소평가하고, 사용자는 그것을 관찰할 수 없다.&lt;/p&gt;
&lt;h2 id="커뮤니티-교차-검증"&gt;커뮤니티 교차 검증
&lt;/h2&gt;&lt;p&gt;두 명의 독립 기여자가 자체 데이터로 분석을 뒷받침한다:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;@fgrosswig&lt;/strong&gt;: 듀얼 머신 18일 JSONL 포렌식이 3월 26일(32억 토큰, 무제한)과 4월 5일(8800만 토큰에 90%) 사이 &lt;strong&gt;64배 예산 감소&lt;/strong&gt;를 보여줌&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;@Commandershadow9&lt;/strong&gt;: 별도 캐시 수정 포렌식이 캐시 버그와 무관한 &lt;strong&gt;34-143배 용량 감소&lt;/strong&gt;를 보여주며, thinking 토큰 가설을 뒷받침&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Anthropic은 Hacker News에서 B11(adaptive thinking zero-reasoning → 사실 조작)을 인정했지만 후속 조치는 없었다.&lt;/p&gt;
&lt;h2 id="이-분석이-중요한-이유"&gt;이 분석이 중요한 이유
&lt;/h2&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;flowchart LR
 A[벤더가 쿼터를 &amp;lt;br/&amp;gt; 무음으로 변경] --&gt; B[사용자가 &amp;lt;br/&amp;gt; 느려짐 인지]
 B --&gt; C{프록시 데이터 없이는?}
 C --&gt;|일화| D[묵살 쉬움]
 C --&gt;|측정된 프록시| E[묵살 어려움]
 E --&gt; F[Anthropic, B11 인정]&lt;/pre&gt;&lt;p&gt;이 레포는 본질적으로 &lt;strong&gt;벤더 API의 투명한 옵저버빌리티가 왜 중요한가&lt;/strong&gt;의 워크드 예제다. &lt;code&gt;cc-relay&lt;/code&gt;가 실제 헤더와 JSONL 포렌식을 캡처하지 않았다면, 분석의 모든 주장은 &amp;ldquo;사용자 오류&amp;rdquo; 또는 &amp;ldquo;당신 프롬프트가 이전과 다르다&amp;quot;로 묵살될 수 있다. 17K 요청이 기록되면, 대화는 &amp;ldquo;서버가 실제로 무엇을 다르게 하고 있는가&amp;quot;로 옮겨간다.&lt;/p&gt;
&lt;p&gt;자매 레포 &lt;a class="link" href="https://github.com/ArkNill/claude-code-cache-analysis" target="_blank" rel="noopener"
 &gt;ArkNill/claude-code-cache-analysis&lt;/a&gt;는 캐시 특화 딥다이브를 갖고 있고, 분석을 건너뛰고 우회책만 적용하려는 사용자를 위한 &lt;a class="link" href="https://github.com/ArkNill/claude-code-hidden-problem-analysis/blob/main/09_QUICKSTART.md" target="_blank" rel="noopener"
 &gt;퀵스타트 가이드&lt;/a&gt;도 있다.&lt;/p&gt;
&lt;h2 id="인사이트"&gt;인사이트
&lt;/h2&gt;&lt;p&gt;이게 벤더가 불투명할 때 좋은 개발자 도구 QA가 어떻게 생겼는지를 보여준다. 패턴 — 투명 프록시 운영, 모든 헤더 로깅, 수백 세션에 걸쳐 자동화된 버그 감지, 변경 로그 교차 참조 — 은 모든 불투명 API 서비스에 이식 가능하다. Thinking 토큰 사각지대는 특히 &lt;strong&gt;벤더의 클라이언트 사이드 텔레메트리만으로는 충분하지 않다&lt;/strong&gt;는 케이스 스터디다 — 서버 사이드 헤더가 필요하거나, 그러지 않으면 병목을 볼 수 없다. Max 플랜의 Claude Code 사용자에게 실용적 함의는 구체적이다 — 세션을 로깅하고, &lt;code&gt;output_tokens&lt;/code&gt;가 진짜 비용을 반영한다고 가정하지 말고, 벽에 부딪히고 있다면 &lt;code&gt;5h-utilization&lt;/code&gt; 헤더를 보라. LLM API 위에 빌드하는 모두에게 교훈은 &lt;strong&gt;옵저버빌리티 인프라는 벤더가 알리지 않고 쿼터 동작을 바꾸는 첫 번째 순간 자기 비용을 회수한다&lt;/strong&gt;는 것이다.&lt;/p&gt;
&lt;h2 id="빠른-링크"&gt;빠른 링크
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/ArkNill/claude-code-hidden-problem-analysis" target="_blank" rel="noopener"
 &gt;ArkNill/claude-code-hidden-problem-analysis&lt;/a&gt; — 메인 레포&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/ArkNill/claude-code-cache-analysis" target="_blank" rel="noopener"
 &gt;ArkNill/claude-code-cache-analysis&lt;/a&gt; — 캐시 특화 딥다이브&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/ArkNill/claude-code-hidden-problem-analysis/blob/main/ko/README.md" target="_blank" rel="noopener"
 &gt;한국어 버전 (ko/README.md)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/ArkNill/claude-code-hidden-problem-analysis/blob/main/13_PROXY-DATA.md" target="_blank" rel="noopener"
 &gt;13_PROXY-DATA.md&lt;/a&gt; — 프록시 데이터셋 상세&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>