22. 비용·토큰 관리
🎯 이 장의 목표
- 토큰 비용이 어디서 생기는지(컨텍스트·MCP·서브에이전트·thinking) 이해한다
- 긴 세션이 왜 "기하급수적 비용 기계"인지 안다
- 비용을 줄이는 구체 기법들을 안다
- 사용량을 추적하고 한도를 관리한다
비용은 어디서 나오나
Claude Code는 결국 토큰 소비로 과금됩니다(구독이든 API든). 비용을 키우는 세 변수:
- 컨텍스트 크기 — 가장 큰 변수. Claude가 매 턴 처리하는 컨텍스트가 클수록 비싸집니다.
- 모델 선택 — 강한 모델일수록 토큰당 단가가 높습니다.
- 사용 패턴 — 멀티 인스턴스·자동화·서브에이전트 병렬 실행.
flowchart TB
subgraph Turn["매 턴 처리되는 것"]
Sys[시스템 프롬프트+도구 ≈ 18,000 토큰<br/>캐시됨]:::know
MCP[MCP 서버 도구 정의<br/>서버당 수천~수만 토큰]:::danger
CM[CLAUDE.md·규칙]:::know
Hist[대화 이력 전체 재전송<br/>턴이 쌓일수록 증가]:::danger
Think[extended thinking<br/>output 토큰=input의 약 5배]:::danger
end
classDef know fill:#CE93D8,stroke:#8E24AA,color:#000
classDef danger fill:#EF9A9A,stroke:#E53935,color:#000
📌 핵심 통찰: 매 턴 대화 이력 전체가 재전송됩니다. 1턴은 ~20K 토큰이지만 200턴 세션은 매 턴 ~200K를 보냅니다. 50번째 메시지가 5번째보다 비싼 건 더 어려운 질문이라서가 아니라, 앞의 49개를 다시 읽기 때문입니다. 긴 세션은 기하급수적 비용 기계입니다.
💡 팁
다행히 프롬프트 캐싱이 이 대부분을 거의 공짜로 만듭니다. 한 사례에서 170턴 Opus 세션이 캐싱 없이는 $168, 캐싱으로는 $21이었습니다(입력의 98%가 캐시 읽기). 그래서 5분 이상 쉬면 캐시가 만료되어 전체를 다시 캐시 생성(=비싼 입력 단가)하게 되니, 긴 휴식 전엔 문서로 체크포인트하고 /clear 후 재시작하는 게 낫습니다.비용 폭주의 8가지 패턴 (경고)
실제로 보고된 사고들 — 알아두면 피할 수 있습니다.
| 패턴 | 무슨 일 |
|---|---|
| 긴 세션 누적 | 매 턴 전체 이력 재전송. 단일 프롬프트가 5시간 예산의 30~90%를 먹기도 |
| 병렬 서브에이전트 | 각자 풀 컨텍스트. 23개 서브에이전트가 무인 분석을 계속해 3일간 $47,000 보고 사례 |
| MCP 과다 | 서버당 매 턴 수천~수만 토큰(예: 한 통합이 17,000 토큰) |
| 루트 CLAUDE.md 비대 | 루트 배치는 매 호출 주입. 규칙만으로 컨텍스트의 큰 비중 차지 |
| extended thinking 남용 | thinking 토큰은 output(=비싼) 단가. 단순 작업엔 낭비 |
| 컴팩션 폭주 | 비대해진 컨텍스트를 요약하며 회당 큰 비용 |
| auto-accept 남발 | 멈춤이 없으니 행동 수·세션 길이 증가 |
| 캐시 만료 | 휴식 후 전체 프리픽스 재과금 |
⚠️ 과거 캐싱 버그(2026년 3월)로 경고 없이 10~20배 토큰 인플레이션이 발생한 적도 있습니다. 비용은 능동적으로 모니터링해야 합니다.
비용 줄이기: 실전 기법
flowchart TB
A[비용 절감]:::result
A --> B[작업 사이 /clear<br/>무관한 컨텍스트 비우기]:::tool
A --> C[작업에 맞는 모델<br/>단순=경량, 추론=강한 모델]:::tool
A --> D[MCP는 쓰는 것만 연결]:::tool
A --> E[CLAUDE.md는 .claude/rules로<br/>필요 시만 로드]:::tool
A --> F[thinking 예산 낮추기<br/>단순 작업엔 끄기]:::tool
A --> G[작은 스코프·구체 프롬프트]:::tool
classDef result fill:#A5D6A7,stroke:#43A047,color:#000
classDef tool fill:#90CAF9,stroke:#1E88E5,color:#000
| 기법 | 방법 |
|---|---|
작업 사이 /clear | 무관한 작업 전환 시 컨텍스트 리셋. /rename 후 /clear, 나중에 /resume |
| 컴팩션에 초점 지정 | /compact 코드 변경과 테스트 출력에 집중 또는 CLAUDE.md에 compact 지침 |
| 모델 라우팅 | 단순·기계적 작업은 경량 모델, 큰 리팩터는 강한 모델. 서브에이전트 잡일도 경량으로 (13장) |
| MCP 절제 | 정말 쓰는 서버만. 일부는 도구 출력을 인덱싱해 컨텍스트를 아끼는 플러그인도 (14장) |
| CLAUDE.md 위치 | 루트 대신 .claude/rules/(필요 시만 로드). 80~120줄 유지 (9장) |
| thinking 조절 | 단순 작업은 thinking 예산을 낮추거나(MAX_THINKING_TOKENS) /effort로 낮춤 |
| 에이전트 팀 절제 | 팀원에 Sonnet급 사용, 작게 유지, 끝나면 종료. 3-에이전트 팀은 단일의 약 7배 토큰 (13장) |
| 구체적 프롬프트 | 경로·라인 지정으로 탐색 토큰 절약 (21장) |
⚠️ 흔한 실수
경량 모델 함정: 진짜 기계적 작업(이름 바꾸기·포맷팅)엔 경량 모델이 좋지만, "단순해 보여도 코드를 읽고 판단해야 하는" 작업엔 틀린 답을 빠르게 내놓아 교정 사이클로 오히려 더 비싸집니다. 판단이 필요하면 강한 모델을.사용량 추적과 한도
CODE
/usage : 현재 토큰 사용량 (상태 표시줄에 상시 표시 가능) /cost : API 빌링 토큰·예상 비용 (API 사용자) /stats : 구독 사용량 (Pro·Max·Team) /context : 컨텍스트 사용량 색상 그리드
📌 핵심
/cost는 API 빌링을 추적하고 구독 사용량은 추적하지 않습니다 — 구독자는 /stats를 보세요.구독 한도는 보통 5시간 롤링 윈도우 + 주간 캡의 이중 구조이고, 이 풀은 Claude Code·Claude.ai 채팅·Cowork가 공유합니다. 한쪽을 많이 쓰면 다른 쪽 여력이 줍니다. 한도에 닿으면 윈도우가 리셋될 때까지 새 프롬프트가 멈춥니다.
⚠️ 흔한 실수
요금·한도·모델 단가는 매우 자주 바뀝니다. 구체적 수치(플랜별 한도·토큰 단가)는 본문에 신뢰해 적지 마시고, claude.com/pricing·공식 비용 문서에서 확인하세요. 참고로 엔터프라이즈 평균은 활동일당 약 $13, 월 $150~250 수준으로 보고된 바 있습니다.💡 구독 vs API: 대략적 경험칙으로, 일관된 일일 사용이면 구독이 유리하고, 변동이 크거나 자동화 위주면 API 종량제가 나을 수 있습니다. 같은 출력이라도 빌링 경로·컨텍스트 관리에 따라 비용이 크게 갈립니다.
이 장에서 배운 것
- 비용은 컨텍스트 크기·모델·사용 패턴에서 나오며, 매 턴 대화 이력이 재전송돼 긴 세션이 기하급수적이다.
- 프롬프트 캐싱이 대부분을 거의 공짜로 만들지만, 5분 이상 쉬면 캐시가 만료된다.
- 비용 폭주 패턴: 긴 세션·병렬 서브에이전트·MCP 과다·루트 CLAUDE.md·thinking 남용·컴팩션 폭주 등.
- 절감: 작업 사이
/clear·모델 라우팅·MCP 절제·rules 분리·thinking 조절·구체 프롬프트. /usage·/cost·/stats로 추적하고, 한도는 5시간+주간 이중 구조에 채팅·Cowork와 공유됨을 기억한다. 수치는 공식 문서로 확인.
✍️ 확인 문제
- 200턴 세션의 50번째 메시지가 5번째보다 비싼 이유는 무엇인가요?
- 프롬프트 캐싱의 이점과, 그것이 깨지는 흔한 상황은 무엇인가요?
- "단순해 보이는" 작업에 무조건 경량 모델을 쓰면 안 되는 이유는?
다음 장: 23. 보안과 안전 — 자율 에이전트를 안전하게 부리기.