Claude Code의 토큰 사용량 측정 결과: 96.8%는 대화 기록 재독해, 내 타이핑은 0.01%에 불과
요약
Claude Code 사용 시 토큰 소비의 96.8%가 대화 기록 재독해(cache_read)에 사용됨을 분석한 결과입니다. 특히 도구(tool)의 반환값이 컨텍스트를 비대하게 만들어 비용을 급증시키므로, 효율적인 데이터 추출 전략이 필요합니다.
핵심 포인트
- 토큰 소비의 대부분은 사용자의 입력이 아닌 대화 기록 재독해에 발생함
- 도구(tool)의 큰 반환값이 컨텍스트를 점유하여 비용 상승의 주원인이 됨
- 파일 전체 읽기 대신 Grep을 활용해 필요한 부분만 읽는 것이 효율적임
- 웹 페이지 전체를 가져오기보다 필요한 값만 추출하여 토큰을 절약할 것
- 스크린샷은 텍스트 기반 작업보다 훨씬 많은 토큰을 소모함
Claude Code는 모든 세션의 로그를 ~/.claude/projects/에 기록합니다. 각 줄은 JSON 형식이며, message.usage에 API가 실제로 반환한 토큰(token) 수가 담겨 있습니다.
저는 32개의 세션을 집계했습니다. 이것은 추정치가 아닙니다.
96.8%는 대화 기록(conversation history)을 재독해하는 데 사용됨
| 유형 | 토큰 (Tokens) | 비중 |
|---|---|---|
기록 재독해 (cache_read) | 1,370.9M | 96.8% |
| ... |
제 자신의 타이핑은 0.01%입니다. 프롬프트(prompt)를 줄이는 것은 청구 금액의 만 분의 일만을 최적화할 뿐입니다.
메커니즘은 다음과 같습니다: 모델은 매 턴(turn)마다 대화 전체를 다시 읽습니다. 따라서 한 번 큰 반환값(return)이 컨텍스트(context)에 들어오면, 이후 모든 턴에서 그에 대한 비용을 계속 지불하게 됩니다. 10,000자의 반환값을 넣고 20번의 턴을 더 대화하면, 200,000자의 비용을 지불하는 셈입니다.
해당 기록의 88.8%는 도구(tool) 반환값임
산문(prose)이 아닙니다. 당신의 지시 사항도 아닙니다. 도구 출력값(tool output)입니다.
호출 빈도가 아니라 반환 크기가 문제임
| 도구 (Tool) | 비중 | 호출 횟수 (Calls) | 호출당 (Per call) |
|---|---|---|---|
| 전체 페이지 가져오기 (browser) | 63.3% | 417 | 33,645 chars |
| ... |
마지막 두 행을 보십시오.
967번의 Bash 호출 비용이 스크린샷 3장의 비용보다 적습니다. 스크린샷 한 장은 약 354번의 Bash 호출과 맞먹습니다.
또한 동일한 브라우저 작업에서, 전체 페이지를 가져오는 데는 33,645자가 소요되는 반면, 필요한 값만 추출하는 데는 504자만 소요됩니다. 67배의 차이입니다.
수치를 실제로 변화시키는 세 가지 요소
- 파일 전체를 읽지 마세요. 읽기당 11,132자가 소요됩니다. 먼저 Grep으로 줄 번호를 찾은 다음, 해당 영역만 읽으세요. 파일 전체는 구조가 처음으로 필요할 때 딱 한 번만 읽으십시오.
- 습관적으로 스크린샷을 찍지 마세요. 각각 296,827자가 소요됩니다. 상태를 텍스트로 읽을 수 있다면 텍스트로 읽으십시오.
- 웹 페이지 전체를 가져오지 마세요. 필요한 몇 가지 값만 추출하십시오. 33,645자가 504자가 됩니다.
반대로: 셸(shell) 명령어를 아끼지 마세요. 967번의 호출은 3.7%에 불과했습니다.
주의 사항
- 이 샘플은 웹 리서치(web research)에 치우쳐 있어 브라우저 호출(browser calls)이 1위를 차지했습니다. 만약 주로 코드를 작성한다면 파일 읽기(file reads)가 주를 이룰 것입니다. 본인의 로그를 직접 측정해 보세요.
cache_read는 새로운 입력(fresh input)보다 낮은 요율로 청구되므로, 토큰 점유율이 곧 비용 점유율인 것은 아닙니다.- 이 비율에 비례하여 주간 사용량 제한(weekly usage limits)이 소진되는지는 확인되지 않았습니다. 관련 공식은 공개되지 않았습니다.
- 샘플: 32개 세션, 2,478개의 도구 반환(tool returns).
직접 측정하기
~/.claude/projects/
프로젝트당 하나의 폴더가 있으며, 내부에 .jsonl 파일이 있습니다. 각 줄은 JSON 형식입니다: 토큰은 message.usage를, 반환값은 tool_result를 확인하세요.
제 수치가 아닌 방법을 가져가십시오. 당신의 가장 큰 소비 항목은 다를 것이며, 바로 그 항목이 줄여야 할 가치가 있는 대상입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기