AIDive

영상 팩

Claude Code 주간 한도 삭감: 측정한 레버, 캐시 표, 월요일 체크리스트

읽는 데 10분

TL;DR

  • Claude Code의 주간 한도는 기준 100에서 프로모션 수준 150으로 올랐다가, 2026년 9월 14일에 영구 수준 125로 확정됐습니다. 프로모션 수준과 비교하면 17% 삭감이고, 예전 기준과 비교하면 25% 인상입니다. 두 말이 동시에 맞습니다.
  • 한 달치 로컬 로그에서 서브에이전트가 전체 토큰의 48.1%, 가중 비용의 55.3%를 차지했습니다. 가장 큰 레버는 서브에이전트를 덜 띄우고, 남기는 것에는 작은 모델을 고정하는 것입니다.
  • 서브에이전트는 5분 캐시를, 메인 세션은 1시간 캐시를 씁니다. 식은 간격 뒤의 후속 요청은 따뜻한 요청보다 약 19배 많은 캐시를 다시 씁니다.
  • 메인 세션에서 60분을 넘는 휴식은 다음 요청에서 캐시 재기록에 중앙값 130,332 토큰이 듭니다. 간격이 5분 미만이면 1,176입니다.
  • 이 로그에서는 effort를 낮춰도 요청당 출력이 줄지 않았습니다(메인 세션에서 high 평균 778 토큰, medium 837). 공짜 절약이 아니라 품질 트레이드오프로 보세요.
  • 프롬프트 제안을 끄는 것과 셸 출력 필터링은 실제로 효과가 있지만 작은 레버입니다. 마지막에 따지세요.

측정이 말해 주는 것

헤드라인 뒤의 산수입니다. 기준 100, 프로모션 수준 150, 영구 수준 125. 125 / 150 = 0.8333이므로 삭감은 16.67%, 반올림해 17%입니다. 잘못된 해석은 증분(50%에서 25%)을 빼서 25% 삭감이라고 부르는 것입니다. s2

프로모션은 2026년 5월 13일부터 2026년 9월 13일까지 진행됐고, Claude Code에서만 주간 한도를 50% 올렸으며, 5시간 한도는 건드리지 않았습니다. Pro, Max, Team, 좌석 기반 Enterprise 플랜에 적용됐습니다. s1

아래 측정은 한 대의 머신에 있는 Claude Code 로그에서 나왔습니다. 2026-09-03부터 2026-10-03까지 메인 세션 455개, 서브에이전트 실행 2,631회, 중복을 제거한 요청 63,398건입니다. 첫 번째 발견은 집계 방식 자체에 관한 것입니다. 요청 하나가 로그에서 평균 1.96줄로 나타나므로, 모든 줄을 합산하면 총 토큰이 99.3% 부풀려집니다. 이 로그를 읽는 스크립트는 먼저 (message.id, requestId)로 중복을 제거해야 합니다. s11

서브에이전트가 가장 큰 항목입니다. 중복 제거 후 총 토큰의 48.1%, 출력 토큰의 63.9%, 가중 비용의 55.3%를 차지합니다. 서브에이전트 실행의 첫 요청은 아무것도 하기 전에 중앙값 47,117 토큰의 프롬프트를 지니고 있습니다. p90은 52,681, 최대는 126,769입니다. 도구 세트를 제한한 에이전트는 훨씬 낮게 시작합니다(최소 5,295). s8

모델 선택이 이를 키웁니다. 서브에이전트는 model 프론트매터, 호출별 model 매개변수, 또는 CLAUDE_CODE_SUBAGENT_MODEL이 따로 지정하지 않는 한 메인 대화의 모델을 상속하며, v2.1.251부터는 환경 변수만으로는 프론트매터를 덮어쓰지 못하고 CLAUDE_CODE_SUBAGENT_MODEL_FORCE=1이 필요합니다. 로그에서 claude-opus-5 하나가 전체 토큰의 31.5%, 가중 비용의 35.8%였고, 그중 63.2%가 서브에이전트 안에서 쓰였습니다. s3

캐시 티어는 요청이 어디서 실행되느냐로 정해집니다. 이 데이터에서 서브에이전트 캐시 쓰기의 100.0%는 5분, 메인 세션 캐시 쓰기의 100.0%는 1시간이었고, 섞인 요청은 없었습니다. 서브에이전트 실행 안에서는 후속 요청 41,790건 중 5분을 넘는 간격 뒤에 도착한 것이 95건(0.2%)뿐이었지만, 그 요청들은 평균 74,582 cache_creation 토큰을 썼고 따뜻한 요청은 3,886이었습니다. subagentPromptCacheTtl 설정과 CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL 환경 변수는 5m 또는 1h를 받으며 Claude Code v2.1.242 이상이 필요합니다. s4

독립적으로 돌린 실험도 같은 분리를 봤습니다. 서브에이전트 요청은 모두 ephemeral_5m_input_tokens로 기록됐고 부모는 ephemeral_1h_input_tokens를 썼으며, 한 에이전트는 5분 창이 지난 뒤의 요청에서 프리픽스 20,971 토큰 전부를 다시 썼습니다. s6

메인 세션에서 이에 해당하는 것이 긴 휴식입니다. 이전 요청 후 5분 미만에 도착한 요청은 중앙값 1,176 cache_creation 토큰을 썼습니다(n = 18,029). 5분에서 60분 사이는 1,327(n = 414). 60분 초과는 130,332(n = 79)이고, 프롬프트 중앙값은 175,523 토큰, p90은 674,348입니다. 문서에 따르면 초과 과금 상태에서는 메인 대화도 5분 티어로 떨어집니다. s3

세션 시작은 고정 비용입니다. 메인 세션의 첫 요청은 중앙값 55,989 토큰(p90 72,000)이었고, CLAUDE.md와 메모리 크기에 따라 프로젝트별로 15,764에서 105,020까지 차이가 났습니다. 앞서 공개된 측정은 빈 디렉터리에서 약 29k, MCP 서버 3개에서 30.4k, 실제 레포에서 38.8k를 바닥으로 제시했습니다. s9

effort는 문서가 밀어주지만 로그는 보상하지 않는 레버입니다. 메인 세션에서 high 요청은 평균 778 출력 토큰, medium은 837이었습니다. 서브에이전트는 high가 323, medium이 642였습니다. 이 비교는 교란 요인이 있어서(작업, 모델, 프로젝트가 다름) 증거가 아니라 의심할 이유일 뿐입니다. Claude Code 팀의 가이드는 effort를 예산 다이얼이 아니라 추론을 어디에 쓸지의 문제로 봅니다. s10

널리 퍼진 팁 두 가지는 효과가 작았습니다. 프롬프트 제안은 추가 요청을 쓰며, 널리 공유된 "약 10% 절약"은 상한이지 일반적인 절약이 아닙니다. 설정은 promptSuggestionEnabled: false 또는 CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=false입니다. s12 20일간의 셸 출력 필터링은 출력을 6,670만 토큰에서 2,410만 토큰으로 줄였지만, 그 6,670만은 같은 기간에 소비된 새 토큰의 7.4%였습니다. s11

측정값

서브에이전트 시작 비용, 첫 요청 프롬프트(토큰), 모델별:

모델 n min median p90 max
전체 2,631 5,295 47,117 52,681 126,769
claude-opus-5 1,262 36,864 43,905 48,032 50,398
claude-sonnet-5 633 5,916 52,409 53,961 126,769
claude-opus-5-5 426 39,408 47,189 48,362 48,883
claude-sonnet-5-5 165 44,471 47,348 50,197 50,863
claude-fable-5-1 102 36,551 42,593 44,286 47,385
claude-haiku-4-5 42 5,295 29,636 36,714 79,190

재개 시 캐시 재기록, 메인 세션, 요청 전 간격별:

간격 n cache_creation median mean cache_read median prompt median
< 5 min 18,029 1,176 2,391 184,169 186,412
5 ~ 60 min 414 1,327 5,575 221,857 225,168
> 60 min 79 130,332 241,499 25,264 175,523

절차: 모든 메인 세션 ~/.claude/projects/*/<uuid>.jsonl과 모든 서브에이전트 실행 */<uuid>/subagents/agent-*.jsonl을 읽고, 요청은 2026-09-01부터 봅니다. assistant 줄을 (message.id, requestId)로 중복 제거하고 요청당 usage 레코드 하나만 남깁니다. 총 토큰 = input + output + cache_read + cache_creation, 프롬프트 크기 = input + cache_read + cache_creation입니다. 간격 = 같은 세션 또는 실행 안에서 이전 요청의 마지막 로그 줄부터 이 요청의 첫 줄까지의 시간입니다. 가중 비용은 상대 가중치 input 1, 캐시 쓰기 5m 1.25, 캐시 쓰기 1h 2, 캐시 읽기 0.1, output 5를 씁니다. 이 가중치는 가정이며 공표된 요금이 아닙니다.

월요일에 할 일

  • 내 플랜에서 /usage를 실행해 스킬, 서브에이전트, 플러그인, MCP별 내역과 최근 사용량의 10% 이상에서 제기된 동작 플래그를 읽는다.
  • 서브에이전트 정의를 나열하고, 검색, 확인, 요약만 하는 것마다 model: haiku 또는 model: sonnet 프론트매터를 추가한다.
  • 프론트매터와 상관없이 모든 서브에이전트에 한 모델을 쓰고 싶다면 CLAUDE_CODE_SUBAGENT_MODEL과 CLAUDE_CODE_SUBAGENT_MODEL_FORCE=1을 설정한다.
  • Claude Code 버전이 2.1.242 이상인지 확인한 뒤, subagentPromptCacheTtl: "1h"가 이득인지 워크플로별로 판단한다. 도구 호출 사이에 놀고 있는 서브에이전트에는 도움이 되고, 짧은 것에는 아니다.
  • 한 시간을 넘는 휴식 전에는 현재 세션에서 작업을 끝내고 인수인계 파일을 쓴다. 돌아오면 175k 토큰 프롬프트를 재개하지 말고 새 세션을 연다.
  • 내 로그에 대해 (message.id, requestId)로 중복 제거하는 읽기 전용 스크립트를 쓰고, 다른 것을 바꾸기 전에 메인 대 서브에이전트 비중을 비교한다.
  • 제안을 전혀 안 쓴다면 promptSuggestionEnabled: false로 설정하고, 절약은 많아야 몇 퍼센트로 본다.

더 읽기

  • Max 5x 대 Max 20x: 삭감 후 사용자들이 잰 용량 비율은 영상에서 다루지 않은 플랜 선택의 문제입니다. s7
  • 캐시 TTL의 전체 우선순위 체인(force 환경 변수, 버킷 환경 변수, 버킷 설정, 서브에이전트 experimental.cacheTtl)과 초과 과금에서 달라지는 것. s4
  • 세션 도중 effort를 바꾸면 대부분의 모델에서 캐시 적중 없이 전체 히스토리를 읽을 수 있는 이유와, 예외인 모델. s3
  • 내 세션 로그에서 usage 필드와 캐시 티어를 읽는 법, 그리고 일별 예산 뷰를 위한 ccboard 방식. s11
  • 서브에이전트 파일 세 개, 모델 세 개, 그리고 각 시작이 실제로 캐시에 쓴 것. 저자 본인의 정정이 덧붙어 있습니다. s8
  • 지연되는 MCP 도구 정의와, 도구 스키마가 컨텍스트에 로드되는 시점을 제어하는 ENABLE_TOOL_SEARCH=auto:N. s3

출처

FAQ

17% 삭감인가요, 25% 인상인가요?

둘 다입니다. 기준점이 다를 뿐입니다. 프로모션 이전 기준 100과 비교하면 영구 수준 125는 25% 인상입니다. 2026년 5월 13일부터 9월 13일까지 사용자가 누렸던 프로모션 수준 150과 비교하면 17% 삭감입니다.

subagentPromptCacheTtl을 어디서나 1h로 설정해야 하나요?

서브에이전트가 요청 사이에 5분 넘게 놀 때만 그렇습니다. 로그에서 후속 요청의 0.2%만 그런 경우였으므로, 일괄 1h 티어는 대부분 얻는 것 없이 더 비싼 쓰기 가격만 냅니다. 먼저 내 간격 분포를 측정하세요.

effort를 낮추면 토큰이 절약되나요?

이 로그에서는 눈에 띄지 않습니다. 메인 세션 요청은 high에서 평균 778 출력 토큰, medium에서 837이었습니다. 데이터에 교란이 있으므로, 솔직한 답은 effort가 품질 다이얼이고 그 절약은 내 작업에서 직접 재야 한다는 것입니다.

점심 뒤 첫 프롬프트는 왜 이렇게 비싼가요?

메인 세션은 1시간 캐시를 씁니다. 60분을 넘는 간격 뒤에는 다음 요청이 프리픽스를 다시 씁니다. 로그에서 중앙값 130,332 cache_creation 토큰이고, 따뜻한 요청은 1,176입니다. 긴 휴식 전에 작업을 끝내고 이후에는 새로 시작하세요.