RTK가 Tokens의 60%를 절약합니다. 저는 90%까지 절약하도록 만들었습니다.

발행: (2026년 3월 19일 PM 09:07 GMT+9)
8 분 소요
원문: Dev.to

Source: Dev.to

RTK는 Claude Code 생태계에서 가장 뛰어난 도구 중 하나입니다—GitHub에서 28 k 스타, git, test, 그리고 ls 출력에서 60‑90 % 토큰 절감, 그리고 TOML 기반 필터를 갖춘 34개의 명령 모듈을 제공합니다. Claude Code를 사용하고 있는데 아직 RTK를 설치하지 않았다면, 지금 바로 설치하세요.

Source:

RTK의 사각지대

  • 오류 스택 트레이스 압축이 없음.
  • npm 설치 경고를 처리하지 않음.
  • Docker 빌드 로그가 그대로 전달됨.
  • ANSI 이스케이프 코드(스피너, 진행 바, 색상 코드)가 그대로 컨텍스트 창으로 흐름.

RTK를 포크하고 ContextZip을 구축하여 이러한 빈틈을 메웠습니다. 아래는 직접 비교입니다.

RTK가 하는 일 vs. ContextZip이 추가하는 기능

카테고리RTKContextZip
git diff/log/status✅ (inherited)
ls/find/tree✅ (inherited)
Test output (Jest, pytest)✅ (inherited)
Cargo/Rustc output✅ (inherited)
Error stacktraces✅ — 5 languages
ANSI/spinner cleanup✅ — preprocessor
npm/pip install noise✅ — keeps security
Docker build logs✅ — 88 % avg savings
Build error grouping✅ — deduplicates
Web page extraction✅ — article only

ContextZip은 RTK의 34개 명령 모듈과 60개 이상의 TOML 필터를 모두 변경 없이 그대로 상속합니다. RTK가 압축하는 모든 것을 ContextZip도 동일하게 압축합니다. 새로 추가된 6개의 필터는 RTK가 그대로 통과시킨 출력에 대해 실행됩니다.

6가지 새로운 필터

오류 스택 트레이스 압축

Node.js, Python, Rust, Go, Java를 지원합니다. 프레임워크/라이브러리 프레임을 제거하고 여러분의 코드 프레임과 오류 메시지만 남깁니다. 예: 30줄짜리 Express 스택 트레이스가 3줄이 됩니다.
절감: 93 % (Node.js), 80 % (Rust), 모든 언어 평균 58.7 %.

ANSI 전처리기

모든 다른 필터보다 먼저 실행됩니다. 이스케이프 코드, 커서 이동 시퀀스, 스피너 문자(⠋⠙⠹⠸), 진행 바, 장식 라인을 제거하지만 오류 표시, 타임스탬프, 경고 접두사는 유지합니다.
절감: 평균 82.5 %.

패키지 설치 압축

npm warn deprecated 스팸, pip 다운로드 진행, Yarn 해석 잡음을 삭제합니다. 설치 요약, 보안 감사 결과, 취약점 경고는 유지합니다.
절감: npm에서 95 %, 보안 정보는 전혀 손실되지 않음.

Docker 빌드 압축

  • 성공: 모든 레이어 해시와 풀 진행을 단계 수와 소요 시간을 포함한 한 줄 요약으로 축소합니다.
  • 실패: 실패한 단계, 오류 출력, 주변 컨텍스트를 유지합니다.
    절감: 평균 88.2 %, 대규모 다단계 빌드에서는 최대 97 %.

빌드 오류 그룹화

동일한 오류(예: TS2322: Type 'string' is not assignable to type 'number')가 그룹화됩니다; 메시지는 한 번만 표시되고 file:line 참조 목록이 간결하게 제공됩니다.
절감: 평균 55.6 %.

웹 페이지 추출

contextzip web은 페이지를 가져와 네비게이션, 푸터, 사이드바, 쿠키 배너, 광고, 스크립트 태그를 제거합니다. 코드 블록과 표는 유지된 채 주요 콘텐츠만 반환합니다—주변 UI 없이 문서를 컨텍스트에 끌어오기 이상적입니다.

102‑테스트 벤치마크: 정직한 수치

카테고리케이스평균 절감율최고최악
Docker build1088.2 %97 %77 %
ANSI/spinners1582.5 %98 %41 %
Error stacktraces2058.7 %97 %2 %
Build errors1555.6 %90 %-10 %
Package install1272.3 %95 %15 %
Web extraction1068.4 %89 %34 %

가중 총합: 102 케이스, 61.1 % 평균 절감율.

최악의 경우는 실제입니다: 짧은 트레이스를 가진 Rust 패닉(절감율 2 %)과 단일 빌드 오류는 -10 % 순변화를 초래할 수 있습니다(포맷팅 오버헤드가 제거된 잡음보다 큽니다). 이러한 엣지 케이스는 임계값을 통과하도록 트리거됩니다—압축 비율이 10 % 이하로 떨어지면 원본 출력이 그대로 방출됩니다.

RTK의 상속된 필터와 결합하면, 일반적인 디버깅 세션에서 총 절감율은 70‑90 %에 달합니다.

안전 보장

ContextZip은 잡음에 대해서는 공격적이지만 신호에 대해서는 보수적입니다. 세 가지 규칙은 절대 위반되지 않습니다:

  1. 오류 메시지는 절대 제거되지 않습니다. 실제 오류 텍스트(TypeError, ENOENT, panic!, segfault)는 항상 그대로 전달됩니다.
  2. 보안 경고는 절대 제거되지 않습니다. npm audit 취약점, CVE 참조 및 인증 실패가 보존됩니다.
  3. 테스트 실패 세부 사항은 절대 제거되지 않습니다. 기대값과 실제값, 어설션 메시지, 실패한 테스트 이름 모두 그대로 전달됩니다.

필터가 어떤 항목을 잡음으로 확신하게 분류할 수 없을 경우, 해당 항목은 변경 없이 그대로 전달됩니다.

RTK에서 마이그레이션

# Uninstall RTK (optional — they don't conflict)
# Install ContextZip
curl -fsSL https://raw.githubusercontent.com/jee599/contextzip/main/install.sh | bash

설치 스크립트가 Claude Code 훅을 자동으로 설정합니다. Claude Code를 재시작하면 완료됩니다. RTK의 훅이 설정되어 있었다면, ContextZip이 이를 대체합니다 — 동일한 훅 메커니즘, 동일한 바이너리 위치 패턴을 사용합니다.

기존 워크플로우는 변경되지 않습니다. Claude Code에서 실행하는 모든 명령은 자동으로 압축됩니다. 눈에 보이는 유일한 차이점은 저장 라인이 rtk 대신 contextzip이라고 표시되고, 오류가 많은 세션에서는 숫자가 더 크게 나타난다는 점입니다.

0 조회
Back to Blog

관련 글

더 보기 »