Claude Code 토큰 비용, 어떻게 80% 줄였나: 15가지 실전 해법
핵심 요약
- claude.md 분리로 메시지당 최대 94% 절감
- npx 별칭으로 캐시 버그 우회 시 최대 20배 절감
- 모델 라우팅+에포트 low로 루틴 60% 절감
- 하이퍼스펙픽 프롬프트는 10배 저렴
- MCP 서버 정리만으로도 수만 토큰 절약
- Claude Code 토큰 비용, 어떻게 80% 줄였나: 15가지 실전 해법
- 핵심 요약
- 서론: 월 $300 청구서에서 시작된 문제
- Claude Code 토큰 폭주란 무엇인가?
- claude.md 슬림화와 skills 분리란 무엇인가?
- Pre-tool Use Hook과 서브 에이전트란 무엇인가?
- 모델 라우팅이란 무엇인가?
- 에포트 컨트롤이란 무엇인가?
- 오토컴팩트 튜닝과 전략적 /clear, /compact란 무엇인가?
- 프롬프트 캐시 버그와 MCP 서버 정리란 무엇인가?
- 베어 모드와 .claudeignore란 무엇인가?
- 하이퍼스펙픽 프롬프트란 무엇인가?
- 비용 폭주 방지 안전망과 플랜 모드란 무엇인가?
- Claude Code vs 다른 AI 코딩 도구: 무엇이 더 적합할까?
- 자주 묻는 질문 (FAQ)
- 지금 당장 무엇부터 할까?
- 결론: 토큰 최적화는 비용 절감이 아니라 “AI 습관”의 개선이다
서론: 월 $300 청구서에서 시작된 문제
Claude Code 토큰 비용이 폭증하는 이유는 “AI를 많이 써서”가 아니다. 개발자가 의식조차 못 하는 컨텍스트 오버헤드가 진짜 원인이다.
Related: AI 네이티브 조직 구축 사례: 오픈클로 뽀짝이 커뮤니티 자동화 가이드
Related: Claude Computer Use 완벽 가이드: macOS 데스크탑·RPA 자동화 혁신 | 사용법 정리
Related: Power BI Claude AI MCP 연동으로 DAX 모델링 자동화하기 | 실전 가이드
Related: Claude Code 소스 유출과 에이전트 하네스 설계 완전 분석 | 심층 가이드
Related: Claude MCP 완벽 가이드: Canva·Zapier·Stripe 워크플로우 자동화 | 실전 설정법
한 개발자가 청구서를 열었더니 월 $300이었다. 이상하다 싶어 뜯어보니, 단순 CSS 한 줄 수정 요청에도 매 대화마다 claude.md 42,000 토큰이 통째로 실려 나가고 있었다. CSS 한 줄짜리 요청이 거대한 기술 스펙 문서를 매번 함께 보내는 것과 비용 구조가 같았던 셈이다.
이 글은 그 개발자가 수 주간 구조를 뜯어고치며 정리한 15가지 토큰 최적화 기법이다. 직접 적용해보면 이 중 4~5개만 도입해도 체감 비용이 바로 줄어드는 걸 확인할 수 있다.
Claude Code 토큰 폭주란 무엇인가?
Claude Code 토큰 폭주란 실제 작업과 무관한 컨텍스트 오버헤드 때문에 토큰이 기하급수적으로 소모되는 현상이다. 설정, 대화 누적, MCP, 버그 등이 겹쳐져 발생한다.
가장 큰 원인은 claude.md처럼 자동으로 딸려오는 컨텍스트다. 대화가 길어질수록 이전 대화 전체가 계속 재전송되고, MCP 서버·플러그인·스킬·훅이 메시지마다 토큰을 누적 소모한다. 프롬프트 캐시 버그 하나로 비용이 10~20배까지 뛰기도 한다.
실제로 한 사례에서는 claude.md 하나가 대화당 42,000 토큰을 잡아먹고 있었다.
“내 Claude Code 청구서가 한 달에 $300까지 올라갔다. 나는 매 메시지마다 토큰을 태우고 있었지만, 그 사실조차 모르고 있었다.”
15가지 기법을 모두 적용한 결과, 이 개발자의 월 비용은 $300 → $60(80% 절감)까지 내려갔다.
claude.md 슬림화와 skills 분리란 무엇인가?
claude.md 슬림화와 skills 분리란 거대한 메인 설정 파일을 핵심 요약만 남기고, 세부 지시사항은 개별 스킬 파일로 쪼개는 구조 최적화 기법이다. Claude Code의 기본 컨텍스트 토큰을 가장 크게 줄여주는 방법이기도 하다.
1,000줄짜리 claude.md는 메시지당 수만 토큰을 고정 소모한다. claude/skills 디렉터리로 지시사항을 분리하면 필요할 때만 로드되고, 메인 claude.md를 200줄 이하로 유지하면 94% 절감이 가능하다. 실제로 한 사례에서 42,000 토큰이 2,400 토큰으로 줄었다.
무엇을 선택할까? 주요 구조 옵션 비교
| 항목 | 특징 | 언제 적합한가? |
|---|---|---|
거대 단일 claude.md |
설정 관리 쉬움, 메시지당 토큰 폭발 | 초기 실험 단계, 소규모 개인 프로젝트 |
슬림 claude.md + skills |
핵심만 상시 로드, 세부는 필요 시 명시 호출 | 장기 프로젝트, 팀 단위 사용, 비용 최적화 필수 |
기본 아이디어는 단순하다. 메인 claude.md는 “요약본”, 세부 규칙·워크플로우는 claude/skills/xxx.md로 분리한다.
- 메인 claude.md에는 기술 스택 요약, 핵심 규칙, 필수 명령 정도만 남긴다.
- 복잡한 온보딩, 팀 규칙, 긴 흐름 설명은 스킬 파일로 옮긴다.
- 스킬은 명시적으로 호출될 때만 컨텍스트에 로드된다.
직접 이 구조를 적용해 보면 “아무것도 안 했는데도 비싸던 메시지”가 갑자기 싸지는 느낌을 받는다. 42,000 → 2,400(94% 감소), 이게 구조 하나를 바꾼 결과다.
Pre-tool Use Hook과 서브 에이전트란 무엇인가?
Pre-tool Use Hook과 서브 에이전트란 도구 실행 전·후의 컨텍스트를 제어해, 쓸데없는 출력과 파일 읽기를 본 세션에서 분리하는 최적화 기법이다. “보이지 않는 잡음”을 잘라내는 데 특히 효과적이다.
- Pre-tool Hook은 테스트 출력 등 명령 결과를 필터링한다.
- 서브 에이전트는 파일 탐색·분석을 독립 컨텍스트에서 수행한다.
- 메인 세션에는 요약만 돌아와 대화 기록이 가벼워진다.
- Haiku 기반 탐색 에이전트는 Sonnet 대비 5분의 1 비용으로 운영 가능하다.
무엇을 선택할까? 주요 옵션 비교
| 항목 | 특징 | 언제 적합한가? |
|---|---|---|
| Hook 없이 직접 실행 | 설정 간단, 모든 출력이 그대로 포함 | 소규모 프로젝트, 비용보다 속도 우선일 때 |
| Pre-tool Hook 적용 | 실패한 테스트 등 필요한 출력만 남김 | 테스트 스위트가 큰 프로젝트, CI와 통합된 환경 |
| 서브 에이전트 활용 | 파일 읽기·분석을 분리 컨텍스트에서 처리 | 대규모 코드베이스, 분석/탐색이 많은 시나리오 |
테스트 스위트 200개가 모두 통과하면 그 출력만으로 8,000 토큰이 소모될 수 있다. Pre-tool Hook에서 “실패한 테스트만 남기기”로 필터링하면 매 테스트 실행마다 60% 이상을 절약할 수 있다.
서브 에이전트는 “탐색 전용 Claude 창”이라고 보면 이해하기 쉽다. 별도 컨텍스트 창을 가지므로 읽은 15개 파일의 내용이 메인 대화 기록에 남지 않는다. 탐색 결과 요약 텍스트만 메인 세션으로 돌아오고, Haiku 모델을 쓰면 Sonnet 대비 5분의 1 비용으로 처리된다. 이 구조로 전환하면 80,000 토큰 → 20,000 토큰(75% 절감)이 가능하다.
모델 라우팅이란 무엇인가?
모델 라우팅(Model Routing)이란 작업의 단계와 성격에 따라 Opus, Sonnet 등 서로 다른 모델을 자동으로 선택해 비용과 품질을 동시에 최적화하는 전략이다. 핵심 사고방식은 간단하다. 계획은 비싸도 되고, 실행은 싸게 돌린다.
보통 토큰의 20%는 계획에, 80%는 실행에 쓰인다. “Opus Plan” 설정을 쓰면 계획만 Opus, 실행은 Sonnet으로 자동 라우팅된다. 복잡한 설계·아키텍처에는 Opus, 반복적인 수정·생성에는 Sonnet이 맞다.
무엇을 선택할까? 주요 모델 조합 비교
| 항목 | 특징 | 언제 적합한가? |
|---|---|---|
| 전부 Sonnet | 비용 저렴, 복잡한 설계 품질은 다소 낮음 | 단순 CRUD, 실험용 프로젝트 |
| 전부 Opus | 품질 최고, 비용 매우 비쌈 | 예산 여유 있는 PoC, 핵심 설계 작업 위주 |
| Opus Plan + Sonnet Run | 설계는 Opus, 구현은 Sonnet 혼합 운영 | 장기 프로젝트, 품질·비용 둘 다 중요한 경우 |
실무에서 가장 현실적인 패턴은 “Opus Plan + Sonnet Execution“이다. 계획 단계에서 아키텍처와 전략을 잡고, 실제 코드 생성·수정은 Sonnet으로 밀어붙이는 방식이다. 고품질이 필요한 20% 지점에만 Opus를 쓰고 나머지는 Sonnet으로 흡수하면 전체 비용 구조가 크게 안정된다.
에포트 컨트롤이란 무엇인가?
에포트 컨트롤(Effort Control)이란 /effort low, /effort high 같은 명령으로 Claude가 내부적으로 사용하는 “생각 토큰(thinking tokens)” 양을 제어하는 기능이다. 쉽게 말하면, “얼마나 깊이 생각할지”를 토큰 단위로 조절하는 것이다.
/effort low: 간단한 포매팅·린팅·리팩터링에 적합/effort high: 복잡한 디버깅·성능 분석·아키텍처 논의에만 사용- low 모드는 최대 에포트 대비 10배 적은 사고 토큰을 사용
- 기본값을 low로 설정하면 루틴 작업 비용이 즉시 60% 절감
무엇을 선택할까? 에포트 모드 비교
| 항목 | 특징 | 언제 적합한가? |
|---|---|---|
/effort low |
빠르고 저렴, 깊이는 제한적 | 포매팅, 단순 리팩터링, 문서 정리, 반복 작업 |
| 기본(중간 수준) | 균형 잡힌 사고량 | 대부분의 일반적인 개발 작업 |
/effort high |
깊은 분석, 비용 많이 듦 | 난해한 버그 추적, 설계 리뷰, 복잡한 성능 튜닝 |
실무에서 “기본 low, 필요할 때만 high” 전략이 가장 합리적이다. 린팅·포매팅·주석 정리 같은 작업을 high 모드로 두면 비용이 아깝다. 모델 라우팅과 에포트 컨트롤을 함께 쓰면 “어떤 작업에 어느 정도 토큰을 쓸지”라는 결정을 거의 자동화할 수 있다.
오토컴팩트 튜닝과 전략적 /clear, /compact란 무엇인가?
오토컴팩트 튜닝과 전략적 /clear, /compact 사용이란 대화 컨텍스트 길이를 적절히 관리해 불필요한 과거 대화를 계속 재전송하지 않도록 하는 컨텍스트 관리 기법이다. 컨텍스트가 길어질수록 매 메시지당 토큰이 기하급수적으로 늘어난다.
- Claude Code 기본 오토컴팩션 발동 시점은 컨텍스트 83%
- 이 시점까지 이미 수십 번의 대화에 대한 큰 페이로드가 반복 전송됨
claude_autocompact_pct_override를 70으로 설정하면 더 일찍 압축 시작- 작업 전환에는
/clear, 특정 주제 보존에는/compact focus on ...
무엇을 선택할까? 컨텍스트 관리 옵션 비교
| 항목 | 특징 | 언제 적합한가? |
|---|---|---|
| 기본 83% 오토컴팩트 | 설정 불필요, 늦게 압축 시작 | 짧은 세션, 토큰 비용이 크게 걱정 안 될 때 |
| 70% 오토컴팩트 튜닝 | 더 일찍 압축, 전체 메시지 크기 감소 | 장기 세션, 여러 스레드 작업을 한 세션에서 할 때 |
수동 /clear 및 /compact |
불필요한 과거 대화를 강제로 잘라냄 | 서로 다른 작업 전환, 특정 주제만 남기고 싶을 때 |
“Claude Code에서는 10번째 메시지를 보낼 때 이전 9개의 대화 전체가 함께 전송된다.”
서로 전혀 다른 작업을 한 세션에서 계속하면 매번 불필요한 과거 기록까지 같이 내보내게 된다. 그래서 다음 습관이 중요하다.
- 작업 전환 시
/clear로 완전히 초기화 - “인증 관련 맥락만 남기고 싶다”면
/compact focus on authentication처럼 주제 지정 settings.json에서 오토컴팩트 임계값을 70으로 낮춰 더 자주 압축되도록 설정
이것만 해도 “말을 조금 더 주고받았을 뿐인데 비용이 두 배, 세 배 튀는” 현상을 눈에 띄게 줄일 수 있다.
프롬프트 캐시 버그와 MCP 서버 정리란 무엇인가?
프롬프트 캐시 버그 우회와 MCP 서버 정리는 프롬프트를 반복 사용할 때 매번 전체 컨텍스트를 재빌드하지 않도록 하고, 사용하지 않는 도구 스키마를 제거해 기본 오버헤드를 줄이는 작업이다. 둘 다 “눈에 잘 안 보이지만 크게 새는 부분”이다.
- Claude Code 독립 실행형 바이너리에 프롬프트 캐시를 망가뜨리는 알려진 버그가 있음
- 캐시가 작동하지 않으면 모든 요청마다 전체 컨텍스트를 새로 빌드해 비용 10~20배 증가
alias claude="npx @anthropic/claude-code"로 npx를 쓰면 이 버그 우회 가능- 사용하지 않는 MCP 서버는 매 메시지마다 거대한 도구 스키마를 주입해 수만 토큰 소모
무엇을 선택할까? MCP/실행 방식 비교
| 항목 | 특징 | 언제 적합한가? |
|---|---|---|
| 독립 바이너리 + 버그 미해결 | 설치 간편, 프롬프트 캐시 비활성, 비용 폭증 가능 | 단기 테스트, 비용 영향이 크지 않을 때 |
npx 실행(@anthropic/claude-code) |
캐시 정상 동작, 비용 10~20배 절감 가능 | 실무 사용, 장기 프로젝트, 반복 실행이 많은 경우 |
| 다수 MCP 서버 상시 활성 | 설정 편하지만 매 메시지당 스키마 토큰 대량 소모 | MCP를 항상 적극 활용하는 워크플로에 한정해야 함 |
| 최소 MCP + CLI 도구 우선 | 필요 MCP만 유지, CLI는 오버헤드 없음 | 비용 민감한 팀, MCP 사용 비율이 낮은 프로젝트 |
한 사례에서, Linear MCP 서버 하나가 전체 컨텍스트 창의 7%(14,000 토큰)를 상시 점유하고 있었다. 거의 쓰지도 않는 MCP였지만 매 메시지에 스키마를 주입하면서 토큰을 계속 태우고 있었다.
프롬프트 캐시 버그는 특히 위험한데, 캐시 상태를 눈으로 확인하기 어렵기 때문이다. npx로 실행 방식만 바꿔도 장기 세션에서 토큰 그래프 기울기가 완만해지는 걸 확인할 수 있다.
베어 모드와 .claudeignore란 무엇인가?
베어 모드와 .claudeignore 설정이란 인터랙티브 환경에서 자동으로 로드되는 훅·스킬·MCP·자동 메모리 등을 제거하고, 탐색 대상 파일을 최소화해 “아무것도 안 해도 드는 기본 비용”을 낮추는 방법이다. CI/CD, 스크립트 기반 작업에 특히 중요하다.
- 일반 세션은 훅, 스킬, 플러그인, MCP, claude.md, 오토메모리 등을 전부 로드
claude --bare -p "..."는 이 모든 것을 제거한 순수 결정론적 실행- 동일한 커밋 작업이 인터랙티브에서는 15,000 토큰, 베어 모드에서는 3,000 토큰
.claudeignore로node_modules,build,package-lock.json등을 탐색에서 제외
무엇을 선택할까? 실행/탐색 옵션 비교
| 항목 | 특징 | 언제 적합한가? |
|---|---|---|
| 일반 인터랙티브 세션 | 편리하지만 각종 오버헤드가 모두 포함 | 수동 코딩 보조, 짧은 실험, 인터랙티브 디버깅 |
--bare -p 베어 모드 |
오버헤드 최소, 결정론적, 스크립트/CI에 최적 | CI 파이프라인, 반복 작업 자동화, 비용 민감 작업 |
.claudeignore 미설정 |
코드베이스 전체를 읽어 비효율적 탐색 | 아주 작은 레포지터리에서만 허용 가능 |
.claudeignore 설정 |
거대한 잠재적 노이즈 파일을 탐색에서 제외 | 중대형 레포, 자동 생성·빌드 파일이 많은 프로젝트 |
package-lock.json만 해도 수만 줄에 이를 수 있고, build/, dist/, coverage/ 같은 빌드 아티팩트는 더 심각하다. 이것들이 열려 있으면 “프로젝트 구조를 알려달라” 한 마디에 수만 토큰이 날아간다.
“베어 모드(
--bare -p)는 CI 파이프라인에서 인터랙티브 세션 대비 토큰을 80% 이상 절감하며 결정론적 실행을 보장한다.”
반복적으로 Claude를 호출하는 스크립트라면, 베어 모드 전환만으로 비용 곡선이 평평해진다.
하이퍼스펙픽 프롬프트란 무엇인가?
하이퍼스펙픽 프롬프트(Hyperspecific Prompt)란 Claude가 추가 탐색 없이 바로 작업할 수 있도록 파일 경로, 줄 번호, 변수명, 에러 메시지 등 필요한 정보를 전부 프롬프트에 담는 방식이다. 프롬프트의 구체성은 곧 탐색용 파일 읽기 토큰과 직결된다.
- 모호한 프롬프트는 Claude가 관련 코드를 찾기 위해 10~15개 파일을 읽게 만든다.
- 파일 하나 읽는 데 1,000~5,000 토큰이 들 수 있어 탐색 비용이 치솟는다.
- “파일 경로 + 줄 번호 + 상황 설명”을 넣으면 파일 한 번 읽기로 끝난다.
- 구체적인 프롬프트는 모호한 프롬프트보다 10배 저렴하다.
무엇을 선택할까? 프롬프트 스타일 비교
| 항목 | 특징 | 언제 적합한가? |
|---|---|---|
| 모호한 프롬프트 | 쓰기 편하지만 Claude가 코드베이스를 폭넓게 탐색 | 급한 상황, 코드 위치를 전혀 모를 때 |
| 하이퍼스펙픽 프롬프트 | 작성에 30초 더 들지만 탐색 비용을 거의 제거 | 평소 워크플로, 비용이 걱정될 때, 반복 요청이 많을 때 |
“인증 버그 수정해줘”라고만 적으면 Claude는 인증 관련 코드를 찾기 위해 이 파일 저 파일을 전부 뒤진다. 반면 이렇게 쓰면 달라진다.
src/validate.ts42번째 줄의 JWT 만료 검증 로직을 수정해줘.expiry체크가Date.now()를 쓰고 있는데 토큰은 Unix 초 단위로 저장됨.
이렇게 쓰면 해당 파일 한 번만 읽고 바로 수정에 들어간다. @src/auth/validate.ts처럼 @ 멘션으로 파일을 직접 지목하면 추가 탐색 자체를 없앨 수 있다.
직접 써보면, 프롬프트를 구체적으로 쓴 날과 대충 쓴 날의 토큰 사용량 차이가 꽤 극적이다.
비용 폭주 방지 안전망과 플랜 모드란 무엇인가?
비용 폭주 방지 안전망과 플랜 모드는 오픈엔드 에이전트 루프가 계속해서 도구를 호출하는 상황에서 턴 수와 예산 한도를 강제로 제한하고, 저렴한 “계획 토큰”에 더 많은 무게를 두는 전략이다. 모호한 프롬프트 하나로 몇 달치 예산을 태우는 사태를 막는다.
- 어떤 세션에서는 모호한 프롬프트 하나로 47번의 에이전트 턴, 단일 세션 비용 $8 발생
--max-turns 10,--max-budget-usd ...플래그로 상한선 설정하면 예방 가능- 코드 인텔리전스 플러그인 설치 시, 함수 정의 찾기가 8,500 토큰 → 200 토큰(약 42배 효율)
- 플랜 모드를 활용하면 전체 작업의 80%를 저렴한 계획 토큰으로 처리
“30분의 계획이 10시간짜리 빌드를 3시간으로 줄이는 경우가 빈번하다. 계획 토큰은 싸고, 구현 토큰은 비싸다.”
무엇을 선택할까? 안전망·플랜 옵션 비교
| 항목 | 특징 | 언제 적합한가? |
|---|---|---|
| 안전망 없이 무제한 루프 | 구현은 편하지만, 비용 폭주 위험 큼 | 실험용, 짧은 테스트 세션에 한정해야 함 |
--max-turns, --max-budget |
단일 세션 비용 상한 보장 | 프로덕션 수준, 팀 공유 환경, 예산 관리가 필요한 경우 |
| 코드 인텔리전스 미사용 | Grep 기반 검색, 파일 여러 개 읽어야 함 | 아주 작은 코드베이스에만 견딜 수 있음 |
| 코드 인텔리전스 사용 | 언어 서버로 함수 정의를 직접 찾아 토큰 최소화 | 중대형 프로젝트, 함수/심볼 탐색이 잦은 개발 환경 |
| 플랜 모드 미사용 | 바로 구현에 들어가지만 시행착오가 많음 | 간단한 수정, 매우 짧은 작업 |
| 플랜 모드 적극 사용 | 구조를 먼저 세우고 구현으로 옮겨 토큰 낭비 감소 | 복잡한 기능 개발, 대규모 리팩터링, 새 아키텍처 설계 |
플랜 모드의 핵심은 “생각을 충분히 한 뒤, 최소한의 구현 토큰으로 밀어붙인다”는 것이다. 계획 단계에서 시나리오를 꼼꼼하게 좁혀 놓으면 코드를 여러 번 다시 짜는 일이 현저히 줄어든다.
Claude Code vs 다른 AI 코딩 도구: 무엇이 더 적합할까?
Claude Code와 다른 AI 코딩 도구의 적합성은 컨텍스트 제어 기능과 모델 라우팅·에포트 컨트롤 지원 여부에 따라 달라진다. 여기서 정리한 기법을 다른 도구에 얼마나 이식할 수 있는지 판단하는 기준이기도 하다.
| 항목 | Claude Code | 기타 AI 코딩 도구(일반적) |
|---|---|---|
| 컨텍스트 구조 제어 | claude.md/skills, .claudeignore 등 매우 세밀 |
일부만 지원하거나, 편집기 플러그인 설정에 의존 |
| 모델 라우팅/에포트 컨트롤 | Opus/Sonnet 라우팅, /effort로 생각 토큰 제어 |
모델 선택만 가능하고 “생각 수준”은 노출되지 않는 경우 많음 |
| MCP/도구 스키마 관리 | MCP 서버 기반, 각 서버별 스키마 토큰 관리 가능 | 통합 툴링에 따라, 도구 정의가 숨겨져 있는 경우 많음 |
| 베어 모드/CI 최적화 | --bare로 오버헤드 제거, CI에 특화 |
별도 API 모드 필요, 편집기 자동화와 분리된 경우가 많음 |
| 플랜 모드/계획 기능 | 전용 플랜 모드로 계획/구현 토큰 분리 | 도구별로 계획 기능 유무가 다름 |
15개 기법 중 상당수는 다른 AI 코딩 도구에도 그대로 쓸 수 있다. 특히 “하이퍼스펙픽 프롬프트”, “컨텍스트 슬림화”, “안전망 설정”은 어떤 도구를 쓰든 기본 원칙으로 유효하다.
자주 묻는 질문 (FAQ)
Q: claude.md 슬림화는 어느 정도까지 줄이는 것이 좋나요?
메인 claude.md는 200줄 이하, 핵심 규칙·기술 스택 요약·필수 명령어만 남기는 게 좋다. 나머지 긴 설명·워크플로우·팀 규칙은 모두 claude/skills/*.md로 옮겨 필요할 때만 불러오도록 구조화해야 메시지당 토큰을 크게 줄일 수 있다.
Q: 프롬프트 캐시 버그를 우회하는 가장 간단한 방법은 무엇인가요?
독립 실행형 바이너리 대신 npx @anthropic/claude-code를 쓰도록 쉘 alias를 설정하는 게 가장 간단하다. .zshrc나 .bashrc에 alias claude="npx @anthropic/claude-code"를 추가하면 캐시가 정상 동작해 요청당 비용이 최대 10~20배까지 줄어들 수 있다.
Q: 에포트 컨트롤 기본값은 어떻게 설정하는 것이 좋나요?
일반적인 프로젝트에서는 기본값을 /effort low로 두고, 필요할 때만 /effort high를 명시적으로 사용하는 패턴을 권장한다. 포매팅, 린팅, 간단한 수정이 전체 요청의 대다수이기 때문에, low를 기본으로만 두어도 루틴 작업 비용이 약 60% 절감된다.
Q: MCP 서버는 어느 정도까지 줄이는 것이 적당한가요?
“일주일에 한 번도 안 쓰는 MCP 서버”는 과감히 비활성화하는 게 맞다. 일부 MCP는 실제 호출 여부와 무관하게 매 메시지마다 거대한 도구 스키마를 주입하므로, 1~2개만 남겨도 수만 토큰의 상시 오버헤드를 제거할 수 있다.
Q: 하이퍼스펙픽 프롬프트가 항상 좋은가요?
위치와 맥락을 알고 있는 작업에서는 거의 항상 더 효율적이다. 다만 코드 위치를 전혀 모를 때는 처음 한두 번은 다소 모호하게 물어보되, Claude가 알려준 파일과 줄 번호를 바탕으로 이후부터 구체적인 프롬프트로 전환하는 게 좋다.
지금 당장 무엇부터 할까?
- 프롬프트 캐시 버그 우회: 쉘 설정 파일에
alias claude="npx @anthropic/claude-code"를 추가해 독립 바이너리 대신 npx를 쓰도록 바꾼다. - claude.md 슬림화: 기존 claude.md를 열어 200줄 안팎으로 줄이고, 나머지 내용은
claude/skills디렉터리로 분리한다. .claudeignore생성: 프로젝트 루트에.claudeignore를 만들고node_modules,build,dist,coverage,*.log,package-lock.json등을 추가한다.- MCP 서버 감사: 현재 활성화된 MCP 서버 목록을 확인해 한 달에 몇 번 안 쓰는 서버는 모두 비활성화한다.
- 오토컴팩트와 에포트 기본값 조정:
settings.json에서claude_autocompact_pct_override를 70으로 바꾸고, 기본 에포트를 low로 설정한다. - CI에 베어 모드 도입: CI 스크립트에서 Claude 호출 부분을
claude --bare -p "..."형태로 변경해 오버헤드를 제거한다. - 하이퍼스펙픽 프롬프트 습관화: 버그 보고 시 항상 “파일 경로 + 줄 번호 + 변수명 + 현재 동작/기대한 동작”을 포함하도록 개인·팀 규칙으로 정한다.
결론: 토큰 최적화는 비용 절감이 아니라 “AI 습관”의 개선이다
15가지 기법을 종합 적용한 결과, 앞서 언급한 개발자의 Claude Code 비용은 월 $300에서 $60(80% 절감)으로 내려갔다. 단순히 돈을 아낀 것뿐 아니라 응답 속도는 빨라지고 컨텍스트 품질도 오히려 좋아졌다.
핵심을 정리하면 이렇다.
- claude.md 슬림화와 skills 분리로 메시지당 고정 토큰을 줄인다.
- 모델 라우팅과 에포트 컨트롤로 “어디에 얼마나 생각하게 할지”를 자동화한다.
- 오토컴팩트 튜닝,
/clear,/compact로 대화 기록 길이를 제어한다. - 프롬프트 캐시 버그 우회, MCP 서버 감사,
.claudeignore로 보이지 않는 오버헤드를 제거한다. - 하이퍼스펙픽 프롬프트와 플랜 모드로 탐색·시행착오 토큰을 최소화한다.
토큰 최적화는 단순한 비용 절감 기술이 아니다. AI와 협업하는 방식 자체를 더 명료하게 만드는 과정에 가깝다. 한 번 구조를 잡아두면 Claude Code뿐 아니라 다른 AI 코딩 도구에서도 같은 원칙을 재사용할 수 있다.
직접 적용해 보면 이 최적화가 “조금 귀찮은 세팅”이 아니라 개발 환경을 한 단계 업그레이드하는 설계 작업이라는 걸 금방 느끼게 된다.
더 깊이 이해하고 싶다면 다음 문서들을 참고하면 좋다.
- Anthropic 공식 문서:
@anthropic/claude-code패키지 및 CLI 사용법 - https://docs.anthropic.com/
- MCP(Model Context Protocol) 사양 및 구현 가이드
- https://modelcontextprotocol.io/
- LLM 토큰과 컨텍스트 이해를 위한 OpenAI 토큰화 설명
- https://platform.openai.com/tokenizer
- Language Server Protocol 개요 (코드 인텔리전스 이해에 유용)
- https://microsoft.github.io/language-server-protocol/
Found this article helpful?
Get more tech insights delivered to you.

댓글 남기기