ClOr

ClOr

백엔드 실무 트러블슈팅과 AI 에이전트 구조 분석을 기록합니다.

Claude Code 해부학 (완결)

51만 줄 소스코드를 19편에 걸쳐 분석한 완결 시리즈

전체 시리즈 보기 →

백엔드 트러블슈팅

실무에서 겪은 장애와 해결 과정 기록

전체 시리즈 보기 →

최신 글

article thumbnail

Claude Code 평균 비용은 하루 $6, 90%의 사용자가 $12 이하다. 공식 문서에 명시된 수치다.

하지만 모델을 잘못 고르거나, 컨텍스트 관리를 안 하거나, 팀을 과하게 돌리면 이 수치를 훌쩍 넘긴다. 이 글은 공식 문서와 검증된 커뮤니티 사례에서 가져온 비용 절약 전략 7가지를 정리한 것이다.

목차

  • 먼저 요금 체계
    • 구독 플랜
    • API 토큰 단가 (1M 토큰)
    • Max vs API: 어느 쪽이 유리한가
  • 전략 1: 컨텍스트를 적극적으로 관리하라
    • /compact — 대화 요약
    • /clear — 작업 전환 시 즉시 실행
  • 전략 2: 모델을 전환하라
  • 전략 3: Effort 레벨을 조절하라
  • 전략 4: Hooks로 불필요한 토큰 유입을 차단하라
  • 전략 5: 서브에이전트에 장황한 작업을 위임하라
  • 전략 6: CLAUDE.md를 200줄 이하로 유지하라
  • 전략 7: 프롬프트를 구체적으로 쓰라
  • 비용 추적 도구
  • Agent Teams 비용 주의
  • 요약

먼저 요금 체계

구독 플랜

플랜 가격 기본 모델 용량
Pro $20/월 Sonnet 기본
Max 5x $100/월 Opus Pro의 5배
Max 20x $200/월 Opus Pro의 20배

API 토큰 단가 (1M 토큰)

모델 Input Output
Haiku 4.5 $1 $5
Sonnet 4.6 $3 $15
Opus 4.6 $5 $25

프롬프트 캐시 히트 시 입력 비용 90% 할인. Batch API 사용 시 50% 추가 할인.

Max vs API: 어느 쪽이 유리한가

실사용 사례: 한 개발자가 Max $200 플랜으로 월 440세션, 18,000턴을 사용했다. 같은 사용량을 API로 환산하면 $1,588. 구독이 8배 저렴했다.

결론: 하루 $612 쓰는 패턴이면 Max 5x($100)가 API 대비 22.5배 저렴. 하루 $20 이상이면 Max 20x($200)가 압도적. API가 유리한 경우는 간헐적/저빈도 사용뿐이다.

전략 1: 컨텍스트를 적극적으로 관리하라

토큰 비용은 컨텍스트 크기에 비례한다. 컨텍스트가 클수록 매 메시지마다 더 많은 토큰을 소비한다.

/compact — 대화 요약

/compact Focus on code samples and API usage

auto-compact는 컨텍스트의 95%에서 작동한다. 그때는 이미 늦다. 70% 정도에서 수동 실행을 권장한다. 뒤에 키워드를 붙이면 요약 시 보존할 내용을 지정할 수 있다.

CLAUDE.md에 압축 규칙을 상시 적용할 수도 있다:

# Compact instructions
When you are using compact, please focus on test output and code changes

/clear — 작업 전환 시 즉시 실행

오래된 컨텍스트가 매 메시지마다 토큰을 낭비한다. 작업이 바뀌면 /clear로 즉시 비워라. /rename으로 세션 이름을 지어두면 나중에 /resume으로 돌아올 수 있다.

전략 2: 모델을 전환하라

일상 코딩의 90%는 Sonnet으로 충분하다. Opus는 복잡한 아키텍처 판단에만 쓰면 60~80% 비용 절감이 가능하다.

claude --model sonnet          # Sonnet으로 시작

# 세션 중 전환
/model opus                    # 복잡한 아키텍처 판단
/model haiku                   # 단순 반복 작업

환경변수로 기본값을 고정할 수도 있다:

export ANTHROPIC_MODEL=sonnet

핵심 팁: /model opusplan — Plan 단계만 Opus, 실행은 Sonnet으로 자동 전환. 설계 품질과 비용 효율을 동시에 잡는 조합이다.

전략 3: Effort 레벨을 조절하라

Extended thinking이 기본 활성화되어 있다. thinking 토큰은 output으로 과금된다. 단순한 작업에 deep reasoning은 과잉이다.

/effort low       # 단순 작업 (thinking 토큰 대폭 절감)
/effort medium    # 일반 코딩
/effort high      # 복잡한 디버깅

더 세밀하게 제어하려면:

export MAX_THINKING_TOKENS=8000

전략 4: Hooks로 불필요한 토큰 유입을 차단하라

10,000줄 로그를 Claude가 읽으면 수만 토큰이 소비된다. PreToolUse 훅으로 에러만 추출하면 수백 토큰으로 줄일 수 있다.

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "~/.claude/hooks/filter-test-output.sh"
          }
        ]
      }
    ]
  }
}
#!/bin/bash
# filter-test-output.sh
input=$(cat)
cmd=$(echo "$input" | jq -r '.tool_input.command')

if [[ "$cmd" =~ ^(npm test|pytest|go test) ]]; then
  filtered_cmd="$cmd 2>&1 | grep -A 5 -E '(FAIL|ERROR|error:)' | head -100"
  echo "{\"hookSpecificOutput\":{\"hookEventName\":\"PreToolUse\",\"permissionDecision\":\"allow\",\"updatedInput\":{\"command\":\"$filtered_cmd\"}}}"
else
  echo "{}"
fi

테스트 실행 시 실패한 부분만 Claude에게 보여준다. 성공한 수천 줄의 출력은 컨텍스트에 들어가지 않는다.

전략 5: 서브에이전트에 장황한 작업을 위임하라

테스트 실행, 문서 조회, 로그 분석 같은 작업을 서브에이전트에 위임하면, 상세 출력은 서브에이전트 컨텍스트에 머물고 메인 대화에는 요약만 반환된다.

서브에이전트에 model: haiku를 지정하면 비용을 더 줄일 수 있다.

전략 6: CLAUDE.md를 200줄 이하로 유지하라

CLAUDE.md는 세션 시작 시 컨텍스트에 로드된다. 500줄짜리 CLAUDE.md는 관련 없는 작업에서도 매번 토큰을 소비한다.

특정 워크플로우 지침은 Skills로 분리하라. Skills는 호출될 때만 로드된다.

.claude/skills/
├── pr-review/SKILL.md      # PR 리뷰 시에만 로드
├── db-migration/SKILL.md   # DB 마이그레이션 시에만 로드
└── deploy/SKILL.md         # 배포 시에만 로드

전략 7: 프롬프트를 구체적으로 쓰라

# 나쁜 예: 넓은 스캔 유발
이 코드베이스를 개선해줘

# 좋은 예: 정확한 타겟
auth.ts의 login 함수에 입력 검증을 추가해줘

모호한 요청은 광범위한 파일 탐색을 유발한다. 구체적인 요청은 최소한의 파일 읽기로 작업을 끝낸다.

비용 추적 도구

도구 용도
/cost 현재 세션 토큰/비용 표시 (API 사용자용)
/stats 구독자용 사용 패턴 확인
ccusage 로컬 JSONL 로그 분석, 월별/세션별 리포트
claude-usage 로컬 대시보드, Pro/Max 진행률 바
Statusline 실시간 컨텍스트 사용률 표시

Agent Teams 비용 주의

Agent Teams는 단일 세션의 약 7배 토큰을 사용한다. 팀원마다 별도 컨텍스트 윈도우를 갖기 때문이다.

  • 팀원에 Sonnet 사용
  • 팀 크기 3~5명 제한
  • 작업 완료 후 반드시 cleanup
  • idle 팀원도 토큰을 소비하므로 빠른 종료 필요

요약

전략 예상 절감
모델 전환 (Opus → Sonnet 기본) 60~80%
/compact 수동 실행 (70%에서) 매 메시지당 토큰 감소
/effort low (단순 작업) thinking 토큰 대폭 절감
Hooks로 출력 필터링 수만 → 수백 토큰
서브에이전트 위임 메인 컨텍스트 오염 방지
CLAUDE.md → Skills 분리 베이스 컨텍스트 축소
구체적 프롬프트 불필요한 파일 탐색 제거

가장 임팩트 큰 것은 모델 전환이다. Sonnet을 기본으로 쓰되, Opus는 정말 필요할 때만 꺼내라. 나머지는 습관의 문제다.


관련글:

profile

ClOr

@ClOr

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

ClOr · 백엔드 트러블슈팅과 AI 에이전트 구조 분석을 기록합니다.