
안녕하세요, 자바파커입니다.
"Claude Code 쓰다가 요금 폭탄 맞았어요..."
이런 이야기, 한두 번 들은 게 아닙니다. 저도 처음에는 대화 몇 번 했을 뿐인데 토큰이 순식간에 사라져서 당황했습니다.
결론부터 말씀드리면 — 기본적인 습관 몇 가지만 들이면 토큰 소모량을 절반 이하로 줄일 수 있습니다. 오늘은 Claude Code를 막 시작한 분들도 바로 적용할 수 있는 토큰 절약법 5가지를 정리합니다.
이 글은 [초급 → 중급 → 고급] 시리즈의 첫 번째 편입니다.
먼저 알아야 할 것 — 토큰이란?
토큰은 AI가 텍스트를 처리하는 최소 단위입니다. 한국어 기준으로 대략 한 글자가 1~2토큰, 영어는 한 단어가 1토큰 정도입니다.
Claude Code에서 토큰이 소모되는 구조를 정리하면:
| 구분 | 설명 | 토큰 소모 |
|---|---|---|
| 입력 토큰 | 내가 보낸 메시지 + 컨텍스트(파일, 대화 기록) | 대화가 길어질수록 증가 |
| 출력 토큰 | Claude가 생성한 응답 | 응답이 길수록 증가 |
| 컨텍스트 토큰 | 매 턴마다 누적되는 전체 대화 내용 | 가장 큰 비중 |
핵심은 컨텍스트 토큰입니다. Claude Code는 매번 대화 전체를 다시 읽기 때문에, 대화가 길어질수록 같은 질문이라도 토큰 소모가 기하급수적으로 늘어납니다.
비유하자면, 매번 대화할 때마다 지금까지의 회의록을 처음부터 끝까지 다시 읽는 것과 같습니다. 회의록이 10페이지면 10페이지, 100페이지면 100페이지를 매번 읽습니다.
현재 토큰 사용량 확인하는 법
절약하려면 먼저 얼마나 쓰고 있는지 알아야겠죠? Claude Code에서 토큰 사용량을 확인하는 방법은 간단합니다.
방법 1: 대화 중 확인
Claude Code 하단 상태바에 현재 세션의 토큰 사용량이 표시됩니다. ↑는 입력 토큰, ↓는 출력 토큰입니다.
방법 2: /cost 명령어
/cost현재 세션의 누적 비용과 토큰 사용량을 확인할 수 있습니다.
방법 3: 대시보드에서 확인
Anthropic Console에서 API 사용량을 확인할 수 있습니다. Max 요금제 사용자는 Claude 사용량 페이지에서 확인 가능합니다.
토큰 절약법 1 — /compact로 대화 압축하기
가장 즉각적이고 효과적인 방법입니다.
/compact이 명령어를 입력하면 Claude가 지금까지의 대화를 요약해서 컨텍스트를 줄여줍니다. 10,000토큰짜리 대화가 2,000~3,000토큰으로 압축됩니다.
언제 쓰면 좋을까?
- 대화가 20턴 이상 길어졌을 때
- 주제가 바뀌었을 때
- 상태바의 토큰 수가 급격히 늘었을 때
커스텀 압축도 가능
특정 내용을 유지하면서 압축하고 싶다면:
/compact 파일 수정 내역은 유지하고 나머지 압축해줘이렇게 지시를 추가할 수 있습니다.
자동 압축 설정
매번 수동으로 입력하기 귀찮다면, 자동 압축을 설정할 수 있습니다.
// ~/.claude/settings.json
{
"preferences": {
"autoCompact": true
}
}이렇게 설정하면 컨텍스트가 일정 크기를 넘으면 자동으로 압축됩니다.
토큰 절약법 2 — /clear로 깨끗하게 시작하기
/clear작업 주제가 완전히 바뀔 때는 압축보다 초기화가 낫습니다. /clear는 대화 기록을 완전히 지우고 새로 시작합니다.
/compact vs /clear 비교
| /compact | /clear | |
|---|---|---|
| 동작 | 대화 요약 후 유지 | 대화 기록 완전 삭제 |
| 이전 맥락 | 요약본으로 유지 | 완전히 사라짐 |
| 사용 시점 | 같은 작업 계속할 때 | 새 작업 시작할 때 |
| 토큰 절약 | 중간 (60~70% 감소) | 최대 (100% 초기화) |
팁: 하나의 작업이 끝나면 습관적으로 /clear 후 다음 작업을 시작하세요. 이것만으로도 토큰 낭비를 크게 줄일 수 있습니다.
토큰 절약법 3 — 프롬프트를 간결하게 쓰기
같은 요청이라도 프롬프트 길이에 따라 토큰 소모가 달라집니다.
나쁜 예 (불필요하게 긴 프롬프트)
안녕하세요. 저는 지금 React 프로젝트를 하고 있는데요,
src/components 폴더에 있는 Header.tsx 파일을 좀 봐주실 수 있을까요?
거기에 네비게이션 메뉴가 있는데, 메뉴 항목을 추가하고 싶습니다.
Home, About, Contact 세 개가 있는데 Blog를 추가해주세요.
스타일은 기존과 동일하게 맞춰주시면 감사하겠습니다.좋은 예 (핵심만 담은 프롬프트)
Header.tsx 네비게이션에 Blog 메뉴 항목 추가해줘. 기존 스타일 유지.두 프롬프트의 결과는 동일하지만, 토큰 소모량은 5배 이상 차이납니다. Claude Code는 코드베이스를 직접 읽기 때문에 파일 경로나 구조를 장황하게 설명할 필요가 없습니다.
간결한 프롬프트 작성 원칙
- 인사 생략 — "안녕하세요" 같은 인사는 토큰 낭비입니다
- 배경 설명 최소화 — Claude가 코드에서 파악할 수 있는 내용은 생략
- 핵심 동작만 명시 — "무엇을" "어디에" "어떻게" 세 가지만
- 한 번에 하나 — 여러 작업을 한 프롬프트에 넣으면 응답도 길어짐
토큰 절약법 4 — CLAUDE.md로 반복 설명 줄이기
매번 같은 규칙을 설명하고 계신가요?
// 매번 이렇게 말하고 있다면...
"TypeScript로 작성해줘. strict 모드로.
함수는 화살표 함수로.
테스트는 vitest로."이런 반복 지시를 CLAUDE.md 파일에 한 번만 적어두면, 매 대화에서 자동으로 적용됩니다.
<!-- 프로젝트 루트에 CLAUDE.md 생성 -->
## 코딩 규칙
- TypeScript strict 모드 사용
- 함수는 화살표 함수로 작성
- 테스트 프레임워크: vitest
- 에러 핸들링: try-catch 필수CLAUDE.md는 프로젝트를 열 때 자동으로 읽히기 때문에, 매번 같은 지시를 타이핑하는 토큰을 절약할 수 있습니다.
CLAUDE.md도 토큰을 소모한다
주의할 점이 있습니다. CLAUDE.md 자체도 매 턴마다 컨텍스트에 포함되므로, 너무 길게 쓰면 오히려 역효과입니다.
| CLAUDE.md 길이 | 권장 여부 |
|---|---|
| 10줄 이내 | 적극 권장 |
| 30줄 이내 | 괜찮음 |
| 100줄 이상 | 비효율 — 분리 필요 |
팁: 핵심 규칙만 간결하게 적으세요. 길어지면 중급편에서 다룰 Skill이나 Memory로 분리하는 것이 좋습니다.
토큰 절약법 5 — 작업 단위를 쪼개기
가장 많은 사람이 놓치는 부분입니다.
나쁜 패턴: 하나의 대화에서 모든 것을 처리
"로그인 기능 만들어줘"
→ (50턴 대화)
→ "그리고 회원가입도 추가해줘"
→ (30턴 추가)
→ "마이페이지도..."이러면 마지막 요청 시점에는 80턴 분량의 컨텍스트를 매 턴마다 다시 읽게 됩니다.
좋은 패턴: 작업별로 새 세션
[세션 1] "로그인 기능 만들어줘" → 완료 → /clear
[세션 2] "회원가입 기능 추가해줘" → 완료 → /clear
[세션 3] "마이페이지 만들어줘" → 완료작업이 독립적이라면 반드시 세션을 나누세요. 각 세션이 짧을수록 토큰 효율이 높아집니다.
이상적인 세션 길이
| 세션 길이 | 토큰 효율 | 권장 |
|---|---|---|
| 1~10턴 | 매우 높음 | 권장 |
| 10~30턴 | 보통 | 중간에 /compact |
| 30턴 이상 | 낮음 | /clear 후 재시작 |
초급편 요약 — 체크리스트
지금 바로 적용할 수 있는 토큰 절약 체크리스트입니다.
| # | 방법 | 절약 효과 | 난이도 |
|---|---|---|---|
| 1 | /compact로 대화 압축 |
★★★★★ | 쉬움 |
| 2 | /clear로 세션 초기화 |
★★★★★ | 쉬움 |
| 3 | 프롬프트 간결하게 쓰기 | ★★★☆☆ | 쉬움 |
| 4 | CLAUDE.md로 반복 지시 제거 | ★★★★☆ | 보통 |
| 5 | 작업 단위 쪼개기 | ★★★★★ | 쉬움 |
이 다섯 가지만 습관화해도 체감 비용이 절반 이하로 줄어드는 걸 느끼실 겁니다.
FAQ
Q. /compact를 너무 자주 하면 Claude가 이전 작업을 까먹나요?
네, 압축 과정에서 세부 디테일은 사라질 수 있습니다. 중요한 결정 사항이 있다면 /compact 전에 CLAUDE.md나 코드 주석으로 남겨두는 게 안전합니다. 하지만 코드에 이미 반영된 변경 사항은 파일을 다시 읽으면 되므로 크게 걱정하지 않아도 됩니다.
Q. Claude Code에서 토큰을 가장 많이 잡아먹는 건 뭔가요?
컨텍스트 누적입니다. 대화가 길어질수록 매 턴마다 이전 대화 전체를 다시 읽기 때문에, 50턴 대화의 마지막 메시지는 첫 메시지보다 수십 배의 토큰을 소모합니다. 세션을 짧게 유지하는 것이 가장 효과적인 절약법입니다.
Q. Max 요금제를 쓰면 토큰 절약이 의미 없나요?
Max 요금제도 사용량 제한이 있습니다. 토큰을 아끼면 같은 요금으로 더 많은 작업을 할 수 있고, 속도 제한(rate limit)에 덜 걸립니다. 절약 습관은 어떤 요금제든 유용합니다.
다음 편에서는 .claudeignore, 서브에이전트, 모델 선택 등 설정과 워크플로우 차원의 토큰 최적화를 다룹니다.
궁금한 점이나 여러분만의 토큰 절약 팁이 있다면 댓글로 공유해주세요!