### 핵심 요약: Claude 토큰 소비를 줄이는 방법
Claude Code에서 토큰 사용량을 최대 75%까지 줄이려면 4가지 핵심 전략을 적용해야 합니다. 빌드 결과물과 락파일을 차단하는 엄격한
.claudeignore설정, Anthropic의 90% 프롬프트 캐시 할인 활용, Context Rot을 방지하는 Scout 서브에이전트 기반 하위 작업 격리, 그리고 일상적인 코드 탐색 작업 시 Opus 대신claude-3-7-sonnet또는 경량claude-3-5-haiku모델 우선 배치가 필수적입니다.
1. 서론: 터미널 에이전트의 보이지 않는 토큰 누수
Anthropic의 Claude Code와 같은 자율형 터미널 코딩 에이전트는 소프트웨어 엔지니어링 패러다임을 혁신했습니다. 단순한 IDE 자동 완성을 넘어, Claude Code는 디렉터리 구조를 분석하고 수천 줄의 소스코드를 검토하며, 셸 명령어를 실행하고 컴파일러 오류를 분석하여 정밀한 패치를 적용하는 자율 실행 루프를 수행합니다.
그러나 이러한 자율성에는 높은 API 비용이 수반됩니다. 사전 최적화가 이루어지지 않은 상태에서 "JWT 갱신을 지원하도록 인증 미들웨어 리팩터링"과 같은 일상적인 작업을 지시하면 단일 세션에서 150만~350만 토큰이 순식간에 소진될 수 있습니다. 이러한 토큰 인플레이션은 다음 4가지 요인에서 비롯됩니다.
- 컨텍스트 누적 및 오염 (Context Rot): 모든 Bash 명령 결과, Grep 검색 내역, 컴파일러 로그, 파일 전체 덤프가 활성 컨텍스트 창에 계속해서 쌓입니다.
- 캐시되지 않는 반복 입력: 대화 초기 턴을 수정하면 Anthropic의 5분 임시 프롬프트 캐싱(Prompt Caching) 경계가 손상됩니다.
- 불필요한 빌드 결과물 수집: 정규표현식 검색 시 빌드 아티팩트(
dist/,target/,.next/), 수만 줄에 달하는 락파일(package-lock.json,pnpm-lock.yaml), DB 덤프 파일이 무차별적으로 모델에 전달됩니다. - 모델 사양 과다 지정 (Overspecification): 단순한 파일 탐색이나 디렉터리 목록 조회에 최고 사양 추론 모델(
claude-3-opus또는 최대 Thinking 모드의 Sonnet)을 남용합니다.
.claudeignore 규칙 확립, 프롬프트 캐싱 메커니즘 활용, 서브에이전트 컨텍스트 격리, 세밀한 CLI 파라미터 설정을 결합하면 일일 Claude Code 토큰 사용량을 70%~80% 절감하면서 작업 성공률을 높일 수 있습니다.
2. 정량적 경제성: 토큰 비용 및 프롬프트 캐싱 구조
토큰 누수를 방지하기 위해 Anthropic API의 가격 구조와 캐시 계층(2026년 기준)을 검토합니다.
| Claude 모델 버전 | 기본 입력 ($/1M) | 캐시 쓰기 ($/1M) | 캐시 읽기 ($/1M) | 출력 ($/1M) | SWE-bench Verified | 터미널 추천 역할 |
|---|---|---|---|---|---|---|
| Claude 3.5 / 3.7 Haiku | $0.80 | $1.00 | $0.08 | $4.00 | 41.2% | 심볼 탐색, 정규표현식 필터링, 커밋 메시지 작성 |
| Claude 3.7 Sonnet (Standard) | $3.00 | $3.75 | $0.30 | $15.00 | 70.3% | 핵심 리팩터링, 멀티 파일 수정, 단위 테스트 보완 |
| Claude 3.7 Sonnet (Extended Thinking) | $3.00 (입력) | $3.75 (쓰기) | $0.30 | $15.00 (사고+출력) | 72.8% | 복잡한 아키텍처 버그, 동시성 레이스 컨디션 해결 |
| Claude 3 Opus / Opus 4.6 | $15.00 | $18.75 | $1.50 | $75.00 | 74.1% | 고위험 보안 감사, 전사적 시스템 아키텍처 재설계 |
75% 비용 및 토큰 절감 계산 모델
15만 줄 규모의 TypeScript 프로젝트에서 REST API 엔드포인트를 리팩터링하는 일반적인 15턴 세션을 비교합니다.
[최적화되지 않은 세션]
1턴: 레포지토리 맵 + package-lock.json + 스키마 전체 로드 (180,000 토큰)
2-5턴: Grep 원시 로그, 빌드 출력, 전체 파일 덤프 (누적 240,000 토큰/턴)
캐시 미스율: 45% (동적 헤더 및 도구 변경으로 캐시 잦은 파기)
총 처리 입력 토큰: 3,250,000
실제 발생 비용 (Sonnet 기준): 약 $9.75
[최적화 세션: .claudeignore + Prompt Cache + 서브에이전트]
1턴: 압축된 AST 요약본 (18,000 토큰) -> 1턴에서 캐시 확정
2-5턴: 증분 Diff 패치, Scout 서브에이전트의 요약 보고서 (22,000 토큰/턴)
캐시 히트율: 92% ($0.30/1M 할인 단가 적용)
총 처리 입력 토큰: 410,000 (물리적 토큰 87.3% 절감)
실제 발생 비용 (Sonnet 기준): 약 $0.82 (실제 비용 91.5% 절감)
3. 핵심 원칙 1: 불필요한 컨텍스트를 차단하는 .claudeignore
모든 코드 저장소에서 가장 높은 투자 대비 효과를 내는 작업은 프로덕션 수준의 정교한 .claudeignore를 구성하는 것입니다.
Claude Code는 기본적으로 .gitignore 규칙을 따르지만, 일반적인 .gitignore에는 LLM의 컨텍스트 창을 심각하게 오염시키는 대용량 파일들이 다수 포함되어 있습니다. 패키지 잠금 파일, 문서 에셋, 빌드 결과물, 번들 파일은 에이전트 컨텍스트에 절대 포함되어서는 안 됩니다.
프로덕션 .claudeignore 템플릿
프로젝트 루트 디렉터리에 아래 파일을 생성합니다.
# ==============================================================================
# .claudeignore - 프로덕션 토큰 절감 필터링 매트릭스
# Glob 및 Grep 탐색 시 Claude Code가 불필요한 아티팩트를 수집하는 것을 방지
# ==============================================================================
# 패키지 잠금 파일 (AST 구조 파악에 불필요한 대용량 JSON/YAML)
package-lock.json
pnpm-lock.yaml
yarn.lock
bun.lockb
composer.lock
Gemfile.lock
Cargo.lock
poetry.lock
# 빌드 산출물 및 번들
dist/
build/
out/
.next/
.nuxt/
.astro/
.svelte-kit/
storybook-static/
target/
*.min.js
*.min.css
*.map
# 테스트 커버리지, 로그 및 프로파일링 데이터
coverage/
.nyc_output/
*.lcov
*.log
npm-debug.log*
yarn-debug.log*
pnpm-debug.log*
*.heapsnapshot
*.cpuprofile
# 미디어 파일 및 바이너리
public/assets/
public/images/
*.png
*.jpg
*.jpeg
*.gif
*.svg
*.webp
*.avif
*.ico
*.pdf
*.zip
*.tar.gz
*.wasm
# 프로젝트 문서 및 외부 API 스펙
docs/
*.mdx
specs/swagger/
*.postman_collection.json
# 환경 변수 및 보안 키
.env*
!.env.example
*.pem
*.key
*.cert
# 데이터베이스 마이그레이션 및 덤프
*.sql
*.dump
prisma/migrations/
.claudeignore 적용 효과
Claude Code가 재귀적 디렉터리 검색을 수행할 때, 제외되지 않은 package-lock.json(25,000~80,000줄)을 한 번만 읽어도 즉시 120,000 토큰 이상이 낭비됩니다. 잠금 파일과 빌드 폴더를 블랙리스트에 추가하면 초기 컨텍스트 스냅샷이 180k 토큰에서 15k 토큰 미만으로 급감합니다.
4. 핵심 원칙 2: 프롬프트 캐싱(Prompt Caching)과 90% 할인 극대화
Anthropic의 프롬프트 캐싱 메커니즘은 입력 토큰을 최대 5분간 서버에 유지합니다(캐시 히트 발생 시 5분 갱신). 캐시에서 토큰을 읽을 때 비용은 기본 입력 비용의 10%($3.00/1M 대신 $0.30/1M)에 불과합니다.
+-------------------------------------------------------------------------+
| Anthropic Prompt Caching 라이프사이클 |
+-------------------------------------------------------------------------+
|
v
+-------------------------------------------------------------------------+
| [시스템 프롬프트 및 도구 정의] (정적 프리픽스 - 상시 캐싱 유지) |
+-------------------------------------------------------------------------+
|
v
+-------------------------------------------------------------------------+
| [레포지토리 아키텍처 맵 및 코딩 규칙] (캐시 체크포인트) |
+-------------------------------------------------------------------------+
|
v (캐시 무효화 분기점!)
+-------------------------------------------------------------------------+
| [동적 사용자 지시어 및 도구 호출 결과] (캐시되지 않는 동적 테일) |
+-------------------------------------------------------------------------+
프롬프트 캐시 유지 3대 수칙
- 시스템 지침에 동적 타임스탬프 삽입 금지:
CLAUDE.md에 날짜나 동적 세션 ID를 추가하지 마세요. 프리픽스의 글자 하나만 바뀌어도 뒤따르는 모든 캐시가 무효화됩니다. - 5분 골든 타임 내 연속 실행: 캐시 TTL은 300초입니다. 코드 검토로 6분 이상 대기하면 다음 요청 시 전체 캐시 쓰기 비용($3.75/1M)이 청구됩니다.
- 정적 지시어 우선 배치: Claude Code는 요청 페이로드의 앞부분에 정적 지침을 정렬합니다.
CLAUDE.md의 규칙이 항상 결정론적으로 유지되도록 관리하세요.
5. 핵심 원칙 3: 서브에이전트 활용과 작업 컨텍스트 격리
터미널 코딩 에이전트에서 가장 흔히 발생하는 비효율은 단일 장기 세션의 덫(Monolithic Session Trap)입니다. 하나의 대화창에서 버그 분석, 테스트 작성, 코드 리팩터링, 통합 테스트 실행, 문서 작성을 모두 연속해서 지시하는 방식입니다.
12번째 턴에 도달할 무렵에는 컨텍스트 창이 실패한 테스트 로그, 컴파일 경고, 구버전 코드 조각으로 가득 차게 됩니다. 이후의 모든 요청은 이 무거운 더미 데이터를 매번 API에 재전송합니다.
2단계 에이전트 아키텍처: Scout(정찰)와 Worker(실행)
코드 탐색과 코드 수정을 완전히 분리하여 토큰 낭비를 차단합니다.
[사용자 요청]
|
v
+---------------------------------------------+
| 1단계: 읽기 전용 Scout 서브에이전트 |
| - claude-3-5-haiku 또는 경량 모델 기반 |
| - Glob, Grep, 라인 범위 읽기 수행 |
| - 500,000 토큰 분량을 2KB 요약본으로 압축 |
+---------------------------------------------+
|
v (압축된 컨텍스트 전달)
+---------------------------------------------+
| 2단계: 메인 실행 에이전트 |
| - claude-3-7-sonnet 기반 |
| - 정확한 파일 경로 및 핵심 AST 심볼만 수신 |
| - 라인 앵커 기반의 외과적 패치 적용 |
+---------------------------------------------+
서브태스크 격리 실전 적용법
대규모 작업을 수행할 때는 작업을 단계별 세션으로 분리합니다.
# 비효율적인 방식: 단일 세션에서 컨텍스트 폭증 유발
claude "구버전 인증을 사용하는 모든 엔드포인트를 찾아 OAuth2로 바꾸고 테스트를 통과시킨 뒤 문서화해줘"
# 권장 방식: 사전 정찰 분리 -> 정밀 수정
# 1단계: 최소 토큰으로 정찰
claude --model claude-3-5-haiku -p "구버전 인증 미들웨어를 사용하는 파일 경로와 해당 라인 번호를 JSON 목록으로만 출력해줘" > auth-audit.json
# 2단계: 깨끗한 컨텍스트에서 정밀 수정
claude --model claude-3-7-sonnet "auth-audit.json에 명시된 파일들만 OAuth2 미들웨어로 리팩터링해줘. 다른 파일은 건드리지 마."
6. 핵심 원칙 4: 모델 최적화 — 어떤 Claude 모델이 토큰을 덜 쓸까?
동일한 작업이라도 모델의 특성에 따라 토큰 소비량이 크게 달라집니다.
- Thinking(추론) 토큰 예산: 확장 추론(Extended Thinking) 모델은 내부적으로 수천 개의 사고 토큰을 생성하며, 이는 모두 출력 토큰 요율(Sonnet 기준 $15.00/1M)로 청구됩니다.
- 도구 호출 장황도: 일부 모델은 도구를 호출하기 전에 불필요하게 긴 사전 설명을 덧붙여 생성 토큰을 낭비합니다.
- 검색 효율성: 숙련된 모델은 1~2회의 정밀 Grep으로 심볼을 찾아내는 반면, 하위 모델은 수천 줄의 파일을 통째로 읽어 들이는 경향이 있습니다.
작업 유형별 토큰 소비량 실측 비교
| 작업 유형 | Claude 3.5 Haiku | Claude 3.7 Sonnet (일반) | Claude 3.7 Sonnet (8k Thinking) | Claude 3 Opus |
|---|---|---|---|---|
| 코드베이스 심볼 검색 | 12k 토큰 / $0.01 | 14k 토큰 / $0.04 | 24k 토큰 / $0.18 | 18k 토큰 / $0.27 |
| 단일 함수 버그 수정 | 28k 토큰 / $0.03 | 22k 토큰 / $0.07 | 35k 토큰 / $0.24 | 30k 토큰 / $0.45 |
| 다중 파일 리팩터링 (5개 파일) | 실패율 높음 | 140k 토큰 / $0.48 | 190k 토큰 / $1.25 | 220k 토큰 / $3.30 |
| 복잡한 동시성 경쟁 상태 해결 | 해결 불가 | 320k 토큰 (실패) | 240k 토큰 (성공) / $1.60 | 280k 토큰 / $4.20 |
모델 추천 가이드
- 일상적인 주력 모델: 일상적인 개발 작업의 80%에는 일반 모드의
claude-3-7-sonnet을 기본값으로 사용합니다. - 사전 정찰 및 스크립트 작성: 파일 검색, 정규표현식 추출, 셸 스크립트 작성에는
claude-3-5-haiku를 배치합니다. - 추론 모드 제한 적용: 첫 번째 시도에서 실패한 복잡한 알고리즘이나 컴파일 오류에만 제한적으로 확장 추론(
thinking: { budget_tokens: 4000 })을 활성화합니다.
7. Claude Code 고급 설정 및 config.json 최적화
Claude Code는 세부적인 동작 제어가 가능합니다. 전역 설정은 ~/.claude.json, 프로젝트 전용 설정은 .claude/config.json에 저장합니다.
고효율 .claude/config.json 예시
{
"$schema": "https://json.schemastore.org/claude-code-config.json",
"model": "claude-3-7-sonnet",
"maxThinkingTokens": 2048,
"autoCompactContext": true,
"contextCompactionThreshold": 0.65,
"allowedTools": [
"Edit",
"Bash",
"Glob",
"Grep",
"Read"
],
"toolLimits": {
"bashOutputMaxLines": 150,
"readFileMaxLines": 300
},
"enableTelemetry": false
}
주요 파라미터 상세 분석
maxThinkingTokens: 2048: 확장 추론 토큰에 상한을 설정합니다. 이를 제한하지 않으면 단순한 작업에서도 턴당 8k~16k 토큰($0.12~$0.24)이 불필요하게 낭비될 수 있습니다.autoCompactContext: true: 컨텍스트 창이 65%에 도달하면(contextCompactionThreshold: 0.65) 자동으로 과거 대화 내역을 압축 요약본으로 대체합니다.bashOutputMaxLines: 150: 테스트 실행 로그나 패키지 설치 내역 등 수천 줄의 stdout이 컨텍스트 창에 그대로 유입되는 것을 차단합니다.
8. 토큰 낭비를 막는 터미널 프롬프트 실전 패턴
프롬프트 작성 습관만으로 세션 토큰 소비의 최대 40%를 아낄 수 있습니다.
패턴 1: 라인 번호 범위를 지정한 부분 읽기
전체 파일을 읽게 하지 말고, 검토할 라인 범위를 명시적으로 지정합니다.
# 비권장: 1,800줄 전체 로드 (약 14,000 토큰 낭비)
"src/auth/session.ts 파일을 읽고 토큰 검증이 실패하는 원인을 찾아줘"
# 권장: 60줄만 로드 (약 450 토큰 소진)
"src/auth/session.ts 파일의 120-180번째 라인에 있는 verifyJwt() 구현부를 검토해줘"
패턴 2: 터미널 실행 출력 축약 및 필터링
테스트나 빌드를 실행시킬 때는 실패한 로그만 간결하게 출력하도록 강제합니다.
# 비권장: 통과한 테스트 로그 수천 줄이 컨텍스트에 쏟아짐
"npm test 실행하고 에러 고쳐줘"
# 권장: 출력 최소화
"npm test -- --reporter=dot을 실행하거나 실패 부분만 grep으로 필터링해줘. 통과 로그는 출력하지 마."
패턴 3: 내장 명령어를 통한 컨텍스트 정리 (/compact, /clear)
Claude Code의 내장 제어 명령어를 적극 활용하세요.
/compact: 현재까지의 대화 히스토리를 즉시 압축 요약본으로 변환합니다./clear: 다른 작업을 시작하기 전 터미널 재시작 없이 컨텍스트 창을 완전히 초기화합니다.
9. 토큰 절감 전략 종합 비교 매트릭스
| 최적화 전략 | 평균 토큰 절감률 | 적용 난이도 | 코드 품질 리스크 | 핵심 작동 기제 |
|---|---|---|---|---|
엄격한 .claudeignore |
40% – 60% | 낮음 (5분) | 없음 | 락파일, 미디어, 빌드 폴더 완전 차단 |
컨텍스트 압축 (/compact) |
30% – 50% | 즉시 적용 가능 | 낮음 | 만료된 셸 로그와 구버전 코드 조각 제거 |
| 서브에이전트 기반 사전 탐색 | 35% – 55% | 중간 (작업 분리) | 매우 낮음 | 대용량 읽기 작업과 수정 작업을 분리 |
| Thinking 토큰 상한 설정 | 20% – 35% | 낮음 (설정 파일 수정) | 낮음~중간 | 단순 작업에서 과도한 사고 루프 억제 |
| 라인 단위 증분 패치 | 15% – 25% | 낮음 (프롬프트 규칙) | 낮음 | 전체 파일 재작성을 피하고 수정 라인만 교체 |
| 프롬프트 캐시 구조 정렬 | 10% – 20% (비용) | 중간 | 없음 | 정적 프리픽스를 유지하여 90% 할인 획득 |
10. 결론 및 5단계 실천 체크리스트
Claude Code에서 토큰 사용량을 75% 줄인다고 해서 코드의 품질이 떨어지지 않습니다. 오히려 컨텍스트 창을 군더더기 없이 간결하게 유지할 때 모델의 집중력 분산과 할루시네이션이 억제되어 더 높은 완성도의 코드를 얻을 수 있습니다.
5단계 실천 체크리스트:
- [ ]
.claudeignore배포: 프로젝트 루트에 프로덕션 템플릿을 배치하고 락파일과 빌드 폴더를 차단합니다. - [ ]
config.json최적화: Thinking 토큰을2048로 제한하고 자동 컨텍스트 압축을0.65로 활성화합니다. - [ ] 작업별 모델 분리: 코드 수정에는
claude-3-7-sonnet, 탐색에는claude-3-5-haiku를 쓰고 확장 추론은 난치성 버그에만 아껴둡니다. - [ ] 터미널 출력 제어: 테스트 러너에 미니멀 플래그(
--reporter=min)를 부여해 셸 출력을 100줄 이내로 유지합니다. - [ ] 주기적인 세션 초기화: 작업 단위가 바뀔 때마다
/compact또는/clear를 실행해 Context Rot을 차단합니다.
이러한 엔지니어링 습관을 터미널 작업에 정착시키면 Claude Code의 강력한 자율 코딩 역량을 100% 누리면서도 월간 API 청구 금액을 극적으로 낮출 수 있습니다.