클로드 코드 토큰 사용량 줄이는 법
도구 없이 바로 할 수 있는 일이 네 가지 있습니다. 세션이 자동 압축에 걸리기 전에 직접 /compact를 실행하기, 관련 없는 작업으로 넘어갈 땐 이전 맥락을 그대로 끌고 가지 말고 /clear로 끊기, 탐색 작업은 서브에이전트로 분리해서 메인 컨텍스트에 탐색 토큰이…
도구 없이 바로 할 수 있는 일이 네 가지 있습니다. 세션이 자동 압축에 걸리기 전에 직접 /compact를 실행하기, 관련 없는 작업으로 넘어갈 땐 이전 맥락을 그대로 끌고 가지 말고 /clear로 끊기, 탐색 작업은 서브에이전트로 분리해서 메인 컨텍스트에 탐색 토큰이 쌓이지 않게 하기, 큰 첨부 파일(PDF, pptx, docx, xlsx)은 붙여넣기 전에 마크다운으로 바꾸기입니다. 이 네 가지만 해도 효과가 큽니다. 나머지는 이걸 자동화하는 방법입니다.
압축과 초기화는 타이밍이 중요합니다
클로드 코드는 세션 사용량이 컨텍스트 윈도우에 가까워지면 자동으로 압축합니다. 문제는 그 시점까지 쌓인 턴들이 이미 한 번 이상 전체 요금으로 청구됐다는 점입니다. 작업이 곧 바뀔 거란 걸 알면(새 기능, 다른 파일 트리, 다른 사람의 질문) 자동 압축 임계값을 기다리지 말고 직접 /compact나 /clear를 실행해서 이어지는 맥락을 원하는 크기로 줄이는 편이 낫습니다. /clear가 더 확실한 선택지입니다. 이전 히스토리와 공유하는 게 전혀 없는 다음 작업이라면 아예 지우는 쪽이 맞습니다.
자동 압축 시점을 결정하는 설정은 autoCompactWindow입니다. 100만 토큰 모델에서 이 값을 비워 두면 압축은 80만 토큰 근처에서야 시작되고, 그때까지는 매 요청마다 누적된 전체 맥락을 다시 청구합니다. 이 값을 낮게 고정하면(Sprag가 기준으로 삼는 범위는 40만~70만 토큰입니다) 긴 세션의 꼬리 부분을 줄이면서도 너무 자주 압축돼서 맥락 연속성을 잃는 일은 막습니다. 한 번만 바꿔 두면 되는 설정이라 매번 신경 쓸 필요가 없습니다.
탐색은 서브에이전트로 넘기세요
파일 열 개를 읽어서 답 하나를 찾는 서브에이전트는 그 열 개의 토큰을 자기 컨텍스트 안에서 소비하고 짧은 요약만 돌려줍니다. 같은 탐색을 메인 스레드에서 하면 파일 열 개 분량이 그대로 메인 컨텍스트에 남아서, 다음 압축 전까지 매 턴 다시 청구됩니다. 기준은 간단합니다. 읽을 게 많고 결과는 짧은 작업("이거 어디에 정의돼 있어", "이 에러가 무슨 뜻이야", "이 로그 요약해줘")은 메인 스레드가 아니라 서브에이전트 몫입니다.
모델 선택도 마찬가지지만 흔히 생각하는 방향과는 다릅니다. 세션 중간에 메인 모델을 싼 모델로 바꾸면 겉보기와 달리 절감이 안 됩니다. 프롬프트 캐시는 모델별로 따로 유지되기 때문입니다. 모델을 바꾸는 순간 캐시가 콜드 상태로 초기화돼서 전체 대화를 전체 요금으로 다시 읽습니다. 대화 히스토리가 대략 2만 토큰만 넘어도 한 번의 전환이 싼 모델로 절감하려던 금액을 다 까먹을 수 있습니다. 대신 범위가 정해진 작업을 싼 모델 서브에이전트에 맡기고 메인 세션의 모델과 캐시는 건드리지 않으면 이 함정을 피할 수 있습니다.
첨부하기 전에 문서를 변환하세요
PDF, 파워포인트, 엑셀, 워드 파일을 첨부하면 클로드 코드가 파일을 직접 읽을 수는 있지만, 그 비용은 내용이 아니라 파일의 원시 구조 크기에 비례해서 청구됩니다. 7페이지짜리 보고서 PDF 하나만 첨부해도 같은 프롬프트보다 토큰이 약 2만 개 더 듭니다. 31.8메가바이트짜리 pptx를 내부 XML 그대로 읽으면 태그와 스타일 속성까지 합쳐 약 54만 토큰에 달해서, 그것만으로 20만 토큰 컨텍스트 윈도우에 들어가지도 않습니다. 같은 파일을 마크다운으로 먼저 변환해서 붙이면 내용은 그대로 두고 포장만 걷어낼 수 있습니다. 실측으로 같은 pptx가 약 22,600토큰으로 줄었으니 23.8배 차이입니다.
프롬프트 캐시 TTL 안에서 이어가세요
클로드 코드의 프롬프트 캐시에는 만료 시간이 있습니다. 그 시간이 지난 뒤 세션으로 돌아오면 다음 턴은 캐시 적중 시 드는 비용의 약 10배인 전체 요금으로 누적 맥락을 다시 읽습니다. 잠깐 자리를 비웠다가 돌아올 계획이면 TTL이 끝나기 전에 메시지 한 번만 더 보내면 캐시가 유지됩니다. 시간 안에 못 돌아올 걸 알면 그냥 만료되게 둬도 손해는 아니지만, 오래 쉬다 온 다음 메시지가 평소보다 비싼 이유가 이것이라는 건 알아 두면 좋습니다.
Sprag가 이걸 자동으로 처리하는 부분
위의 것들을 손으로 챙기는 것도 되긴 하지만, 매 세션 기억해야 한다는 약점이 있습니다. Sprag는 한 번 설치하면 이걸 기억이 아니라 하네스에 걸어 둡니다.
- route-scan은 지난 세션 로그를 읽어서 비싼 모델이 반복해서 처리한 요청 유형을 찾아내고, 그 다음부터는 해당 패턴을 하이쿠나 소네트 서브에이전트로 보내는 위임 룰을 씁니다. 메인 세션의 모델은 그대로라 캐시도 안 깨집니다. 자세히: route-scan
- doc2md는 pptx, xlsx, pdf, docx, 피그마
.fig파일을 자동으로 마크다운으로 바꾸고, 변환본 첫머리에 원본과 변환 시각을 남깁니다. 자세히: doc2md - 스테이터스라인은 매 턴마다 캐시 적중률, TTL 카운트다운, 컨텍스트 사용량, 5시간·주간 사용 한도를 함께 보여줘서 캐시 미스나 컨텍스트 급증이 청구서로 놀라기 전에 눈에 띄게 합니다. 자세히: statusline
- 하네스는 반복된 실수를 매 세션 로드되는 한 줄 룰로 바꿔서, 같은 교정 비용을 두 번 치르지 않게 합니다. 자세히: harness
npm i -g sprag-cli
관련 문서: 클로드 코드 사용 한도 · 실시간 모델 라우팅이 더 비싼 이유 · 명령어 레퍼런스
다른 문서
- Codex 연동
- Statusline reference (한국어)
- Not a router (한국어)
- Harness, compact-window and seed (한국어)
- Gateways, pricing, FAQ and environment (한국어)
- Install and what it turns on (한국어)
- Command reference (한국어)
- Korean writing guidance (한국어)
- 클로드 코드 5시간·주간 사용 한도 이해하기
- 코덱스 CLI 토큰 사용량 줄이는 법
- Sprag와 ccusage, claude-usage, 스테이터스라인 도구 비교