본문으로 건너뛰기

© 2026 Molayo

r/ClaudeAI분석2026. 06. 15. 05:54

Claude Code 비용의 대부분은 컨텍스트 윈도우(Context Window) 때문입니다. 비용을 약 3분의 1로 줄인 6가지 방법

요약

Claude Code 사용 시 발생하는 컨텍스트 윈도우 비용을 약 1/3로 절감할 수 있는 6가지 실전 전략을 소개합니다. 자동 압축 설정, MCP 및 시작 파일 최적화, 서브 에이전트 활용 등을 통해 효율적인 비용 관리가 가능합니다.

핵심 포인트

  • CLAUDE_AUTOCOMPACT_PCT_OVERRIDE 환경 변수로 자동 압축 시점 조절
  • 시스템 프롬프트 및 MCP 서버 등 초기 로드 토큰 최소화
  • 대량 파일 읽기 시 서브 에이전트를 활용한 비용 격리
  • 캐시 효율을 위해 세션 중 모델 및 추론 수준 변경 지양

저는 돈이 어디로 나가는지 파악하기 위해 며칠 동안 Claude Code 트랜스크립트(transcripts)를 파헤쳤습니다. 다음은 실제로 큰 차이를 만들어낸 개념들이며, 이 중 사전에는 거의 예상하지 못했던 것들이 대부분입니다.

  1. 컨텍스트(Context)는 임대료와 같으며, 매 호출마다 지불해야 합니다. 모델은 메모리(memory)가 없습니다. 모든 동작(답변, 도구 호출(tool call), 도구 결과 읽기)은 전체 대화 내용을 다시 전송합니다. 캐시(cache)는 그 임대료에 대한 할인(~1/10 가격)이지만, 900k의 할인된 토큰을 다시 읽는 것은 150k의 할인된 토큰을 다시 읽는 것보다 여전히 6배의 비용이 듭니다. 또한 작업이 진행됨에 따라 컨텍스트가 커지기 때문에 비용은 가속화됩니다. 약 900k 규모였던 12개의 세션 전반에 걸쳐, 저는 제한된 체제(capped regime)와 비교했을 때 요청당 평균 3.2배를 지불했으며, 최고 4배 이상(동일한 가격표 기준, 요청당 비교)까지 치솟았습니다. 가장 큰 핵심 레버(lever)는 CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=25 (문서화되지 않은 환경 변수(env var), 윈도우의 백분율)입니다. 이를 통해 자동 압축(autocompact)이 100만 토큰에 가까워질 때가 아니라 약 250k에서 실행되도록 만듭니다. 압축(compact)은 적이 아닙니다. 그것은 더 작은 집으로 이사하는 것과 같습니다. 디스크(disk)에 있는 모든 것은 유지됩니다.

  2. 세션은 당신이 한 마디를 내뱉기도 전에 이미 로드된 상태로 시작됩니다. 시스템 프롬프트(System prompt), 도구(tools), MCP 서버 및 CLAUDE.md 파일은 약 50k 토큰의 무게를 가지며, 세션 전체 동안 매 호출마다 다시 지불됩니다. 사용하지 않는 모든 MCP와 시작 파일(startup files)에 있는 모든 중복된 지침은 빈 방에 대해 지불하는 임대료와 같습니다. 우리는 시작 시 읽히는 파일에 엄격한 제한(hard caps)과 템플릿을 적용했고, 그 외의 모든 것은 일기(diary)와 매뉴얼(manuals)로 옮겼습니다. 매뉴얼은 필요할 때만 열리고, 일기는 전체를 읽지 않으며 타겟팅된 검색(targeted searches)을 통해서만 조회됩니다.

  3. 프로젝트 메모리(Project memory)는 대화가 아닌 디스크에 존재합니다. 작고 덮어쓰기 가능한 상태 파일(state files), 컨텍스트에 절대 들어가지 않는 추가 전용(append-only) 일기 형태의 히스토리, 그리고 필요할 때 열리는 매뉴얼의 상세 내용들입니다. 후크(hook)는 압축(compact)이 임박했을 때 경고를 보냅니다. 상태를 저장한 다음, 작업을 계속 유지(KEEP working)하세요. 모델은 세션의 "끝" 근처에서 불안해하며 패닉에 빠지기 시작하기 때문에, 후크가 이를 명시적으로 알려줍니다.

  4. 대량 읽기(Heavy reads)는 일회성 비용이 아니라 반복되는 세금입니다.

20,000자(20k-char) 길이의 파일을 메인 컨텍스트 (Context)로 읽어들이면, 세션이 종료될 때까지 매 호출마다 다시 비용을 지불해야 합니다. 위임 (Delegation)을 사용하면 계산 방식이 달라집니다. 서브 에이전트 (Subagent)의 컨텍스트는 별도의 공간에 존재하며, Sonnet 또는 Haiku 가격으로 한 번만 비용을 지불한 뒤 폐기됩니다. 대신 최종 결론(Conclusions)만 메인 컨텍스트로 돌아옵니다. 우리는 메인 루프에서 대량 읽기를 차단하는 후크 (Hook)를 통해 이를 강제합니다. 명시된 규칙이 계속 무시된다면, 차단(Block)을 통해 교육해야 합니다.

  1. 세션 중간에 모델이나 노력 수준 (Effort level)을 변경하지 마세요. 캐시 (Cache)는 호출이 정확히 동일한 바이트로 시작될 때만 작동합니다. 모델이나 추론 수준을 변경하면 전체 컨텍스트를 다시 전체 쓰기 비용을 들여 소화해야 합니다. 추가로, 트랜스크립트 (Transcripts)를 통해 확인된 사실은 캐시 TTL (Time To Live)이 1시간(ephemeral_1h)이라는 점입니다. 따라서 짧은 휴식 후에는 워밍업된 상태로 재개되지만, 긴 휴식 후에 거대한 컨텍스트를 다시 여는 것이 실제 비용 누수의 원인입니다.

  2. 기본적으로 노력 수준을 '중간 (Medium)'으로 설정하고, 깊은 추론 (Deep reasoning)은 별도로 구매하세요. 높은 노력 (High effort) 설정에서는 모델이 많이 생각하게 되며, 그 생각 과정이 컨텍스트에 남아 매 턴마다 다시 비용이 발생합니다. 오케스트레이션 (Orchestrating)에는 '중간' 수준으로도 충분하며, 심도 있는 추론은 전용 서브 에이전트 (리뷰, 디버깅 등)에게 맡기세요. 그러면 비용은 한 번만 지불되고 해당 에이전트와 함께 소멸됩니다.

이 모든 것은 모델 내부에 존재하는 것이 아닙니다. 단 한 줄의 설정, 네 개의 후크, 그리고 몇 가지 마크다운 (Markdown) 템플릿만으로 구현됩니다. 이 방식은 이미 모델을 교체했을 때도 아무런 수정 없이 작동하며 살아남았습니다.

제출자: /u/DebateStreet2281
[link] [comments]

AI 자동 생성 콘텐츠

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

원문 바로가기
0

댓글

0