30일 동안 Claude Code에 514달러를 사용했습니다. 제가 배운 점은 다음과 같습니다.
50회 세션에서 추출한 실제 데이터. 좋은 점, 나쁜 점, 그리고 비싼 비용에 대하여.
설정 (The setup)
지난 한 달 동안, 저는 claudestat를 사용하여 모든 Claude Code 및 OpenCode 세션을 추적해 왔습니다. 이는 두 CLI(Command Line Interface) 전반의 토큰 사용량, 비용 및 패턴을 모니터링하기 위해 제가 직접 만든 오픈 소스 (open-source) 도구입니다.
이것은 가상의 연구가 아닙니다. 실제 프로젝트의 실제 작업에서 얻은 저의 실제 수치입니다.
수치 (The numbers)
30일 기간: 2026년 4월 12일 → 2026년 5월 12일
| 지표 (Metric) | 값 (Value) |
|---|
| 총 지출액 (Total spent) | $514.86 |
| ... | |
평균적으로 하루에 약 $18를 사용했습니다. 참고로, 저는 Max 5 플랜을 사용 중이므로 이는 저렴한 편이 아닙니다.
가장 비용이 많이 들었던 세션
2026년 4월 26일 — 저는 확인하지 않은 채 Claude가 리팩터링 (refactoring) 프로젝트를 몇 시간 동안 실행하도록 내버려 두었습니다:
- 비용 (Cost): $32.94
- 감지된 루프 (Loops detected): 31
- 효율성 점수 (Efficiency score): 35/100
- 발생한 상황: Claude가 파일을 수정하며 뱅뱅 돌았고, 각 수정이 더 많은 수정을 트리거(trigger)했습니다. 저는 지켜보고 있지 않았습니다.
단 한 번의 세션에 $33를 썼습니다. 한 달 치 일일 커피 예산보다 많습니다.
핵심 교훈: 루프 (Loops)는 비용이 많이 듭니다. 31번의 루프 × 평균 도구 호출 (tool call) 비용 = $33가 허공으로 날아갔습니다.
이제 claudestat은 세션이 종료될 때 비용, 토큰, 감지된 루프, 컨텍스트(context) % 등을 알림으로 보내주므로, 방금 무슨 일이 일어났는지 항상 알 수 있습니다.
프로젝트별 내역 (The project breakdown)
누가 가장 많이 소비했을까요?
| 프로젝트 (Project) | 지출액 (Spent) |
|---|
| claudetrace (사이드 프로젝트) | $326.44 |
| ... | |
제 지출의 63%가 하나의 사이드 프로젝트에 사용되었습니다. 이것은 제 본업이 아니라, 제 할당량(quota)을 태워 먹고 있는 취미 프로젝트입니다.
이것이 바로 추적을 통해서만 얻을 수 있는 통찰력(insight)입니다.
루프 문제 (The loop problem)
50개 세션 전체에서 375개의 루프가 감지되었습니다.
세션당 평균 약 7.5개의 루프입니다. 하지만 데이터가 편향되어 있습니다:
- 12개 세션에서 10개 이상의 루프가 발생했습니다.
- 9개 세션에서 효율성이 50% 미만이었습니다.
대부분의 루프는 다음과 같은 형태를 보입니다:
읽기 (Read) → 수정 (Edit) → 수정 (Edit) → 수정 (Edit) → 읽기 (Read) → 수정 (Edit) → 수정 (Edit) → 수정 (Edit)
Claude는 무언가를 시도하고, 작동하지 않으면 약간 다르게 다시 시도하며, 이를 반복합니다. 이것이 제 비용 낭비의 대부분이 발생한 지점이었습니다.
컨텍스트 제한 (Context limits)이 할당량 (Quota)보다 더 큰 타격을 주었습니다
33달러짜리 세션은 할당량 때문에 종료된 것이 아니라, 컨텍스트 (Context) 때문에 종료되었습니다. 컨텍스트 창 (Context window)이 95%에 도달하면 Claude의 성능이 저하되기 시작합니다. 저는 아무런 경고도 받지 못했습니다.
이제 claudestat은 50%, 75%, 90%, 그리고 100% 컨텍스트에서 알림을 보냅니다. 또한 동일한 임계값이 5시간 할당량 (Quota) 주기에도 적용됩니다. 벽에 부딪힌 후가 아니라, 부딪히기 전에 경고를 받게 됩니다.
claudestat status
Quota 5h 3.2h / 5h (64%) | reset in 1h 48m
...
제가 배운 점
1. 루프 (Loops)는 소리 없는 살인자입니다
데이터를 보기 전까지는 루프 (Loops)의 존재를 인지하지 못했습니다. 이제 저는 다음 사항들을 주시합니다:
- 동일한 도구 (Tool)가 연속으로 3회 이상 호출될 때
- 출력 (Output)은 정체되어 있는데 컨텍스트 (Context)가 계속 증가할 때
- Claude로부터 "Let me try..." (한번 해볼게요...) 라는 메시지가 올 때
2. 하나의 프로젝트가 지배적입니다
claudetrace 기준으로 63%를 차지했습니다. 기껏해야 40/60 정도일 것이라고 추측했을 것입니다. 추적 (Tracking)을 통해 진실이 드러났습니다.
3. 효율성은 극명하게 차이 납니다
- 최상의 세션: 100/100 (완벽함)
- 최악의 세션: 35/100 (그 32.94달러를 쓴 날)
이를 이해함으로써 제가 나쁜 세션을 갖게 될 것임을 미리 감지할 수 있습니다.
4. Edit은 저의 가장 비싼 도구입니다 (Bash가 아닙니다)
claudestat top을 실행해 보니 Edit이 총 비용의 21%, Bash가 20%를 차지했습니다. 거의 비슷하지만, Edit은 저를 놀라게 했습니다. 대규모 파일 재작성 (Rewrites)은 비용이 많이 듭니다.
5. 이제 Claude는 스스로 자신의 상태를 물어볼 수 있습니다
MCP 서버를 추가한 이후로, Claude는 세션 도중에 자신의 통계 (Stats)를 조회할 수 있습니다:
"What's my current quota status?" (현재 내 할당량 상태가 어때?)
→ 64% 사용됨, 리셋까지 1시간 48분 남음, 소모율 (Burn rate) 1,240 tok/min
...
이것은 제 작업 방식을 바꾸어 놓았습니다. 이제 Claude는 언제 압축 (Compact)해야 하는지, 언제 멈춰야 하는지, 언제 마무리해야 하는지를 스스로 압니다.
주간 보기 (Weekly view)
claudestat weekly
📊 Week of May 8 – May 13
...
주당 하나의 수치입니다. 제가 개선되고 있는가, 아닌가?
자신의 데이터를 추적하는 방법
npm install -g @statforge/claudestat
claudestat install
claudestat start
...
다음 단계
이제 이 데이터를 확보했으니:
- 50/75/90/100% 단계별 알림 (Alerts) — 컨텍스트 (context) 및 할당량 (quota) 확인을 통해 더 이상의 돌발 상황 방지
- 세션 종료 요약 (Session-close summary) — 방금 어떤 일이 일어났는지 항상 파악
- 주간 단위 상위 도구 점검 (Check top tools weekly) — 비용이 많이 드는 습관 포착
- 루프 (loops) 감시 — 루프를 조기에 차단
- Claude가 자신의 통계를 인지 — MCP 서버가 설치되어 스스로를 더 잘 관리함
블랙박스가 열렸습니다. 이제 당신에게 데이터가 있습니다.
사용해 보기
npm install -g @statforge/claudestat
Claude Code 및 OpenCode와 함께 작동합니다. 클라우드나 계정은 필요하지 않습니다 — 모든 데이터는 로컬 (local)에 유지됩니다.
질문이 있으신가요? 댓글로 남겨주세요.
실제 세션에서 추출한 데이터입니다. 추정치나 가설이 아닙니다.