본문으로 건너뛰기

Claude Code에서 99.8% 토큰을 절약한 방법 — RTK 실전 분석

·9 min read

실제 프로덕션 모노레포 개발에 RTK(Rust Token Killer)를 도입한 결과, 564.8M 토큰 중 563.8M을 절약(99.8%) 했다. 어떻게 가능했는지, 실제 수치와 함께 분석한다.

프로젝트 소개

분석 대상은 Next.js 15 + React 19 기반의 멀티앱 모노레포다.

용도
apps/adv광고주 서비스
apps/admin어드민 대시보드
apps/marketer마케터 서비스
apps/partner-admin파트너 어드민

공통 스택: Turbo 2.5 + pnpm 9 + TypeScript 5.4 + Chakra UI 3 + TanStack Query 5

개발 과정에서 Figma 시안을 코드로 퍼블리싱하는 작업이 빈번했고, Claude Code가 Figma API를 직접 호출하는 구조를 사용했다.

RTK란?

RTK (Rust Token Killer)는 Claude Code가 실행하는 CLI 명령어의 출력을 LLM 컨텍스트에 최적화된 형태로 압축하는 도구다.

예를 들어 git diff의 전체 패치 대신 "변경된 파일 목록과 요약"만 Claude에게 전달한다.

# Claude가 실행하려는 명령
git status
 
# RTK가 실제로 실행하는 명령
rtk git status
# → 출력을 필터링 후 Claude에게 전달 (55~82% 절약)

동작 원리: Claude Code 훅 연동

RTK의 핵심은 Claude Code의 PreToolUse 훅이다.

// ~/.claude/settings.json
{
  "PreToolUse": [
    {
      "matcher": "Bash",
      "hooks": [
        {
          "type": "command",
          "command": "/Users/taehoon/.claude/hooks/rtk-rewrite.sh"
        }
      ]
    }
  ]
}

Claude Code가 Bash 도구를 호출할 때마다 훅이 가로채서 명령을 재작성한다.

Claude: "git status 실행해줘"

PreToolUse 훅 발동

rtk-rewrite.sh → rtk rewrite "git status"

"rtk git status" 로 교체

실행 결과를 필터링하여 Claude에게 전달

rtk-rewrite.sh 자체는 얇은 래퍼고, 실제 재작성 로직은 Rust 바이너리의 src/discover/registry.rs에 있다. 새 명령 패턴을 추가하려면 Rust 레지스트리를 수정한다.

실제 절약 수치 (30일 기준)

총 실행 명령:    505회
원본 입력 토큰:  564.8M
절약 토큰:       563.8M (99.8%)
평균 실행 시간:  1.4초

명령별 절약 현황

순위명령실행 횟수절약 토큰절약률
1curl (Figma API)3회562.3M100%
2lint eslint3회324.3K99.8%
3curl (Figma 노드)5회288.9K96.8%
4find60회217.5K80.2%
5curl (Figma 기타)2회181.8K96.2%
6~10curl (Figma 기타)14회~308K88~98%

왜 Figma API가 압도적인가

전체 절약량(563.8M)의 99.7%가 Figma API curl 호출 단 3회에서 발생했다.

이유는 Figma API 응답의 구조 때문이다.

// Figma API 원본 응답 (수십 MB)
{
  "document": {
    "children": [
      {
        "id": "...",
        "name": "Frame",
        "type": "FRAME",
        "children": [
          // ... 수천 개의 중첩 노드
          // 각 노드마다: fills, effects, constraints,
          //              absoluteBoundingBox, relativeTransform,
          //              style, strokes, cornerRadius, ...
        ]
      }
    ]
  }
}

디자인 파일 하나가 수십 MB JSON이 된다. 이것이 Claude 컨텍스트에 그대로 들어가면 단 1회 호출로 컨텍스트 윈도우가 포화된다.

RTK는 이 응답을 Claude가 실제로 필요한 구조 정보만 남기고 압축한다.

원본: 수백만 토큰
RTK 필터링 : 수천 토큰
절약률: ~100%

이 프로젝트에서는 Python 기반의 Figma 퍼블리싱 파이프라인이 있다:

figma_publish.py
├── figma_analyze.py       ← Figma API 호출 + 디자인 시스템 맵 생성
├── figma_export_icons.py  ← 아이콘 SVG 추출
├── figma_export_images.py ← 이미지 에셋 추출
└── publish_qa.py          ← 퍼블리싱 품질 검증

이 파이프라인이 Figma 노드 트리를 직접 다루는 만큼, API 응답 압축의 효과가 극단적으로 나타났다.

놓친 절약 기회 (rtk discover 분석)

rtk discover로 30일간 Claude Code가 RTK 없이 실행한 명령을 분석했다.

스캔: 657세션, 5903개 Bash 명령
RTK 사용 : 5 (0.08%)

아직 RTK를 거치지 않는 명령들

명령실행 횟수절약 가능 토큰
git diff555회~240.8K
cat > (파일 읽기)481회~216.7K
find (미필터)586회~148.3K
grep -n567회~131.5K
curl -s132회~33.7K
ls -la681회~23.2K
기타~16.6K
합계~810.1K

이 명령들에 RTK를 적용하면 추가로 810K 토큰을 더 절약할 수 있다. 현재까지 절약한 563.8M에 비하면 작지만, 여전히 의미 있는 수치다.

RTK 설정 방법

1. 설치

cargo install rtk
# 또는
brew install rtk-ai/tap/rtk

2. Claude Code 훅 등록

rtk install  # 자동으로 ~/.claude/settings.json에 훅 추가

또는 수동으로 ~/.claude/settings.json에 추가:

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "~/.claude/hooks/rtk-rewrite.sh"
          }
        ]
      }
    ]
  }
}

3. 절약 현황 확인

rtk gain              # 전체 통계
rtk gain --history    # 최근 명령 이력
rtk discover          # 놓친 절약 기회 분석

비용으로 환산하면

Claude API 기준으로 입력 토큰을 대략 $3/1M 토큰으로 계산하면:

항목토큰비용
RTK 없이 실행했다면564.8M~$1,694
RTK 적용 후 실제 비용1.0M~$3
절약액563.8M~$1,691

Claude Code 구독 플랜(월정액)을 사용하면 금액이 직접적이지는 않지만, 컨텍스트 포화 없이 더 긴 작업을 이어갈 수 있다는 실질적 가치는 동일하다.

정리

RTK는 단순한 "토큰 절약 도구"가 아니다. Claude Code가 컨텍스트 윈도우를 소진하지 않고 더 복잡한 작업을 이어갈 수 있게 해주는 인프라다.

이 프로젝트에서 가장 큰 효과를 본 포인트:

  1. Figma API 응답 압축 — 설계 단계에서 Figma 퍼블리싱 파이프라인이 API를 직접 호출하는 구조였기 때문에, RTK 없이는 세션 하나에서 퍼블리싱 작업을 완료하기 어려웠을 것이다.

  2. 훅 기반 투명한 적용 — Claude Code의 PreToolUse 훅 덕분에 Claude 프롬프트를 수정하거나 작업 방식을 바꿀 필요가 없었다. 설치 후 자동으로 동작한다.

  3. Discover로 개선 기회 파악rtk discover는 현재 어떤 명령에서 토큰이 낭비되고 있는지 보여준다. 이를 통해 추가 최적화 방향을 구체적으로 잡을 수 있다.


분석 일자: 2026-03-30 / RTK 버전: 0.28.2 / Claude Code 사용 기간: 30일