클로드 코드(Claude Code)를 쓰다 보면 클로드 코드 토큰이 예상보다 빠르게 소진된다. CLAUDE.md 설정 파일, MCP(Model Context Protocol) 서버 연결, hook 설정이 매 대화마다 컨텍스트를 채우고 있어서다. 어떤 설정이나 작업이 토큰을 쓰고 있는지 알면 불필요한 소진을 줄일 수 있다.
세션 초반에는 사용량이 천천히 줄었다. 그런데 시간이 지날수록 소진이 빨라졌다. 어디에서 토큰이 과하게 소비되는지 알 수가 없었다.
CLAUDE.md, MCP, hook이 대화마다 토큰을 쓴다

CLAUDE.md는 메시지를 보낼 때마다 통째로 올라간다
클로드 코드는 CLAUDE.md를 시스템 프롬프트로 읽어들인다. 세션 안에서 메시지를 주고받을 때마다 이 파일 전체가 토큰으로 소비된다.
실제로 CLAUDE.md 하나가 42,000 토큰을 소비했다는 사례가 있다.(출처) 규칙, 지시문, 프로젝트 설명이 쌓이다 보면 어느새 수만 토큰짜리 파일이 된다. 50줄 이하를 유지하는 게 일반적으로 권장되고, 기능별로 파일을 분리하면 60~70%까지 줄일 수 있다고 알려졌다.
# 분리 전
CLAUDE.md (600줄, 전체 규칙 혼재)
# 분리 후
CLAUDE.md (핵심만 50줄)
src/api/CLAUDE.md
src/components/CLAUDE.md
기능별로 분리하면 CLAUDE.md 자체는 최소화하고 필요한 규칙만 그때그때 불러올 수 있다.
MCP 서버는 연결만 해도 툴 정의가 메시지에 붙는다
MCP 서버를 연결하면 그 서버가 제공하는 툴 목록이 모든 메시지에 자동으로 포함된다. 서버 하나당 최대 18,000의 클로드 코드 토큰이 매 턴마다 올라간다는 측정치가 있다.
툴 호출을 50번 하는 세션이라면 MCP 오버헤드만으로 수십만 토큰이 쌓인다. `/mcp` 명령을 치면 현재 연결된 서버 목록이 나오고, 필요 없는 것은 그 자리에서 개별로 끄고 켤 수 있다. 세션마다 실제로 쓸 서버만 켜두는 습관이 중요하다.
hook이 터미널에 출력하는 내용은 그대로 토큰이 된다
hook은 클로드 코드 이벤트에 자동으로 반응하는 스크립트다. 파일 저장, 툴 실행 전후 같은 시점에 원하는 명령을 끼워 넣을 수 있다. 문제는 hook이 터미널에 출력하는 내용이 그대로 컨텍스트에 추가된다는 것이다.
로그, 진단 결과, 파일 목록 같은 것을 hook으로 자동 출력하도록 설정했다면 매 이벤트마다 누적된다. hook 출력을 최소화하거나, 꼭 필요한 정보만 짧게 내보내도록 설정하는 것이 좋다.
컨텍스트가 쌓일수록 소진 속도가 빨라진다
클로드 코드의 컨텍스트 윈도우는 기본 200,000 토큰이며, 최대 100만 토큰까지 확장된다. 세션이 길어질수록 대화 히스토리가 쌓이고, 한 번 입력할 때마다 이 히스토리 전체가 모델에 전달된다. 입력 하나의 비용이 세션 초반보다 후반에 훨씬 크다.
컨텍스트가 90%를 넘으면 자동 압축(auto-compact)이 발동하지만, 그 전에 수동으로 `/compact` 명령을 쓰면 대화를 요약해 압축할 수 있다. `/clear`는 히스토리를 완전히 지운다. 맥락이 필요 없는 새 작업을 시작할 때는 `/clear`가 낫고, 흐름을 이어가야 할 때는 `/compact`를 쓴다.
Max 요금제로 올리기 전에 알았으면 좋았을 것

Pro 플랜에서 한도를 자주 초과하다 보면 Max 플랜으로 업그레이드하는 게 낫겠다 싶어진다. 그런데 Max 플랜에서도 토큰 사용량을 관리하지 않으면 한도에 금방 도달한다.
에이전트를 여러 개 동시에 돌리면 특히 빠르다. 병렬 에이전트는 각자의 컨텍스트를 독립적으로 쌓기 때문에 클로드 코드 토큰이 에이전트 수만큼 곱해진다. 쓰는 패턴을 바꾸지 않으면 요금제를 올려도 같은 속도로 소진된다.
사용량 체크가 습관이 됐다

새 작업을 시작할 때마다 /clear로 새 세션을 연다
새 작업을 시작할 때마다 `/clear`를 실행했다. 이전 대화가 뒤섞이면 엉뚱한 방향으로 흘러가는 경험이 있어서였다. 나중에 알고 보니 히스토리를 초기화해서 토큰을 아끼는 효과도 있었다.
에이전트를 여러 개 돌리면 빠르게 소진된다
병렬로 에이전트 여러 개를 돌리면 사용량이 눈에 띄게 빨리 줄었다. 에이전트마다 자신의 컨텍스트를 가지고 독립적으로 모델을 호출하기 때문이다.
병렬 실행은 속도 면에서 유리하지만, 토큰은 에이전트 수만큼 곱해진다. 단순 반복 작업이 아니라면 에이전트 수를 줄이고 순차로 처리하는 쪽이 토큰을 더 아낄 수 있다.
사용량이 신경쓰이면 /context부터 본다
`/context` 명령을 실행하면 시스템 프롬프트, MCP 툴, 메모리 파일, 메시지 히스토리 등 카테고리별로 토큰 사용량이 나온다. 어디서 토큰을 과하게 쓰고 있는지 한눈에 확인할 수 있다.
CLAUDE.md 비중이 크다면 파일을 정리하고, 쓰지 않는 MCP 서버가 켜져 있다면 그 자리에서 끄면 된다. 원인을 알면 줄이는 건 어렵지 않다.
짧게 정리
토큰이 많이 소비되는 것 같으면 아래를 확인해 본다.
- CLAUDE.md: 50줄 이하로 유지하고 기능별로 분리한다
- MCP 서버: `/mcp`로 쓰지 않는 것을 개별로 끈다
- hook: 출력을 최소화하고 필요한 것만 짧게 설정한다
- 세션 관리: 새 작업 시작 시 `/clear`, 흐름을 이어갈 때는 `/compact`
- 토큰 분포 확인:`/context`로 어디서 많이 쓰는지 본다
클로드 코드도 도구다. 잘 쓰는 습관을 들일수록 같은 비용으로 더 많이 할 수 있다. AI를 전략적으로 쓰는 것, 어렵지 않다.