티스토리 뷰
Claude Code 토큰 폭주의 원인과 캐시 패치 적용 방법 정리
배승휴팀장 2026. 4. 2. 17:28Claude Code 토큰 폭주의 원인과
캐시 패치 적용 방법 정리
캐시 적중률 26% → 99%, 유저 패치로 해결한 사례 분석
Claude Code를 쓰다 보면
세션을 이어갈수록 토큰 소모가 비정상적으로 치솟는 현상을
한 번쯤 경험해봤을 거야.
5시간 사용량이 갑자기 폭주하고,
별로 복잡한 작업을 하지도 않았는데 한도가 순식간에 차버리는 그 현상.
최근에 이 문제의 정확한 원인이 밝혀졌어.
그리고 유저가 직접 만든 패치까지 나왔어.
오늘은 이 버그가 왜 발생하는지,
패치가 어떻게 작동하는지를 정리해볼게.

증상부터 정리
이 버그의 특징은 이래.
✔ 대화 턴이 쌓일수록 점점 심해짐
✔ 특별히 긴 프롬프트를 쓰지 않아도 발생
✔ 사용량 대시보드에서 cache_creation 토큰이 비정상적으로 높게 잡힘
GitHub에도 관련 이슈가 두 건 열려 있었어.
#40524, #34629.
사용자들이 "토큰이 비정상적으로 빠진다"고 신고했는데
원인 파악이 안 되고 있었던 상태였지.

원인: 세션 저장 시 도구 기록이 삭제되는 버그
Claude Code의 대화 저장 구조부터 알아야 해.
대화 저장 방식
Claude Code는 대화를 JSONL 파일로 저장해.
경로는 ~/.claude/projects/ 안에 있어.
세션을 이어갈 때 이 파일을 읽어서
"이전에 어디까지 했는지"를 복원하는 구조야.
버그 1 — deferred_tools_delta 삭제 문제
문제가 된 건 소스코드의 db8이라는 함수야.
이 함수는 세션을 저장할 때
Anthropic 내부 사용자가 아니면
attachment 타입 메시지를 전부 삭제하는 필터인데,
여기서 deferred_tools_delta라는 기록이 같이 날아가.
"모델한테 이미 안내한 도구 목록" 기록이야.
세션을 재개할 때 Claude Code가 "어떤 도구를 이미 알려줬지?"를
이 기록으로 확인하거든.
이 기록이 없으면 어떻게 되냐고?
매 턴마다 전체 도구를 처음부터 다시 안내해.
왜 이게 토큰 폭탄으로 이어지는가
도구를 다시 안내하면 메시지 배열 구조 자체가 바뀌어.
1. 도구 재안내 → 메시지 배열에 새 항목 추가됨
2. 원래 messages[0]에 있던 시스템 프롬프트가 messages[N]으로 밀림
3. 과금 해시가 달라짐
4. 캐시 브레이크포인트가 어긋남
5. 전체 대화가 캐시를 못 타고 처음부터 재처리
cache_creation 토큰으로 잡히는 거야.
캐시를 읽는 게 아니라 매번 새로 만드는 거지.
대화가 길수록 재처리할 양이 많아지니까
턴이 쌓일수록 토큰 소모가 가속되는 구조야.
버그 2 — 바이너리 설치 시 캐시 문자열 충돌
두 번째 버그는 설치 방식에 따라 발생해.
~/.local/share/claude/에 설치되는 독립 실행 바이너리가
커스텀 Bun 포크를 쓰는데,
API 요청마다 cch=00000이라는 값을 덮어씀.
대화 내용에 이 문자열이 우연히 포함되면
캐시가 깨져버려.
npm/Node.js로 설치하면 이 문제가 발생하지 않는다고 해.

패치 전후 실측 데이터
패치를 만든 Reddit 유저 Rangizingo가 직접 측정한 수치야.
턴 1: 67%
턴 5: 48%
턴 10: 31%
턴 15: 26%
cache_read가 15,451에서 한 번도 증가하지 않음.
시스템 프롬프트만 캐시 타고, 나머지 전부 새로 처리.
턴 1(재개): 13%
턴 2: 99%
턴 3: 99%
첫 턴만 낮고 이후 정상 캐시 동작.
같은 대화, 같은 모델에서
26% → 99%.
체감상 토큰 소모량이 완전히 달라지는 수준이야.
패치 내용과 적용 시 참고사항
패치 핵심
db8 함수에서
deferred_tools_delta와 mcp_instructions_delta
두 타입을 삭제 대상에서 빼주는 거야.
이 두 기록이 세션 파일에 살아남으면,
재개할 때 "이미 안내한 도구"를 인식해서
다시 안내하지 않아. 캐시 구조가 유지되는 거지.
적용 방식
2. 별도로 npm 버전을 설치
3. 패치 적용 후 claude-patched라는 래퍼 스크립트로 실행
4. 기존 설치와 완전히 분리되어 운영
주의사항
⚠ 함수명이 난독화되어 있음 — 버전 업데이트 시 패치가 무효화될 가능성 있음
⚠ Anthropic 공식 패치가 나오면 — 패치 폴더 삭제하고 원래대로 쓰면 됨
패치 리포는 GitHub에 공개되어 있어.
Rangizingo/cc-cache-fix로 검색하면 나와.
정리
결과: 턴이 쌓일수록 캐시 적중률 하락 (26%까지), 토큰 소모 폭증
해결: 유저 패치로 캐시 적중률 99% 복구. 공식 패치는 아직 미출시.
Claude Code를 세션 이어가면서 쓰는 사람이라면
꼭 알아둬야 할 내용이야.
Anthropic 공식 수정이 나올 때까지
참고해서 판단하면 좋겠어.
궁금한 거 있으면 댓글로 물어봐.
다음에 또 유용한 정보 들고 올게! 👋
'AI 이야기' 카테고리의 다른 글
| 1인 전문직이 AI 도구 개발에 도전할 때 부딪치는 5가지 벽 — 손사 AX 시도 회고 (2026) (0) | 2026.05.11 |
|---|---|
| Hermes Agent 입문 가이드 — 텔레그램으로 조작하는 오픈소스 AI 에이전트 (2026) (1) | 2026.04.19 |
| 촬영도 편집도 모르는 1인 창업자가 AI로 시네마틱 영상을 만들기로 했다 (2) | 2026.03.31 |
| 코딩 모르는 비개발자가 Claude Code로 결제까지되는 웹앱 만든 이야기 — 비개발자 실전 가이드 (0) | 2026.03.30 |
| 비개발자가 AI한테 전문가 역할을 시켜서 웹폼을 업그레이드한 후기 (0) | 2026.03.29 |
