본문으로 건너뛰기

RTK: Claude Code 토큰 소모 60-90% 절약하는 Rust CLI 프록시

정석

RTK 토큰 절약

Claude Code로 개발하다 보면 어느 순간 깨닫게 된다. 토큰이 너무 빨리 사라진다. git status 한 번에 수천 토큰, cargo test 실패 로그에 수만 토큰, rg 검색 결과에 또 수천 토큰. 컨텍스트 윈도우가 순식간에 차오르고, 세션은 느려지며, 결국 “start fresh”를 입력하게 된다.

이 문제를 정면으로 해결하는 도구가 등장했다. RTK다. “CLI proxy that reduces LLM token consumption by 60-90% on common dev commands”라는 문장으로 소개되는 이 Rust 기반 CLI 프록시는, 개발자들이 매일 사용하는 명령어들의 출력을 지능적으로 압축하여 토큰 소모를 극적으로 줄여준다.


1. 토큰 버닝의 현장: 어디서 다 낭비되나

Claude Code가 터미널 명령을 실행할 때, 그 출력은 그대로 컨텍스트에 쌓인다. 문제는 대부분의 CLI 출력이 LLM에게 “노이즈”라는 점이다.

작업빈도표준RTK절약
ls / tree10x2,000400-80%
cat / read20x40,00012,000-70%
grep / rg8x16,0003,200-80%
git status10x3,000600-80%
git diff5x10,0002,500-75%
cargo test / npm test5x25,0002,500-90%
pytest4x8,000800-90%
Total~118,000~23,900-80%

하루에 10만 토큰이 넘는 출력이 컨텍스트를 잠식한다. RTK는 이걸 2만 토큰 수준으로 압축한다.


2. 4가지 압축 전략: 단순한 필터가 아니다

RTK는 단순히 “줄 수 줄이기”가 아니다. LLM이 이해하기 쉬운 형태로 정보를 재구성한다.

Smart Filtering — 노이즈 제거

주석, 공백, 보일러플레이트 코드를 자동으로 걸러낸다. 파일 읽기 출력에서 실제 로직만 남긴다.

Grouping — 유사 항목 집계

디렉토리별 파일, 타입별 에러를 그룹화한다. 100개의 파일이 “src/components/ (15 files)”, “src/utils/ (8 files)” 식으로 요약된다.

Truncation — 관련 컨텍스트 유지

중간을 자르는 게 아니라, 관련성 높은 부분을 유지하며 중복을 제거한다. 검색 결과에서 핵심 스니펫만 추출한다.

Deduplication — 반복 로그 축약

“동일한 에러가 47회 반복됨” 식으로 카운트와 함께 축약한다. 테스트 실패 로그에서 100줄짜리 스택 트레이스가 한 줄로 요약된다.


3. 지원 명령어: 개발 워크플로우 전 커버

RTK는 개발자가 하루 종일 입력하는 명령어들을 포괄한다.

파일 시스템

Git

GitHub CLI

테스트

린트/빌드

패키지

컨테이너

유틸리티


4. Claude Code 통합: Hook으로 완벽 자동화

RTK의 진짜 힘은 Claude Code와의 통합에서 나온다.

rtk init --global

이 한 줄이면 끝이다. Claude가 어떤 명령어를 보내든, RTK가 가로채서 최적화한다.

자동 명령어 재작성

Claude가 입력RTK가 실행
git statusrtk git status
cat file.rsrtk read file.rs
cargo testrtk cargo test
rg patternrtk grep pattern

100% RTK 채택, 제로 토큰 오버헤드. Claude는 그냥 평소처럼 명령을 내리고, RTK가 백그라운드에서 최적화한다.


5. 실패 시 Raw 출력 저장: 디버깅도 놓치지 않는다

압축된 출력이 문제를 숨길까 봐 걱정할 필요 없다. 명령이 실패하면, RTK는 전체 미필터 출력을 자동으로 저장한다.

~/.local/share/rtk/tee/

LLM이 재실행 없이 전체 출력을 읽을 수 있다. 성공할 땐 압축, 실패할 땐 전체. 최고의 두 세계를 다 갖췄다.


6. 통계 추적: 얼마나 아꼈는지 눈으로 확인

rtk gain 명령으로 절약한 토큰을 한눈에 볼 수 있다.

# 절약 토큰 요약
rtk gain

# ASCII 그래프 (최근 30일)
rtk gain --graph

# 일별 분석
rtk gain --daily

# 대시보드용 JSON
rtk gain --all --format json

숫자로 확인하면 체감이 달라진다. “이번 달 2백만 토큰 절약” 같은 메시지를 보면, RTK를 끌 수 없다.


7. Discover 모드: 놓친 기회 찾기

rtk discover

현재 워크플로우에서 RTK가 아직 최적화하지 않는 명령어들을 찾아준다. “이것도 압축할 수 있어요”라고 제안한다. 점진적으로 커버리지를 높여간다.


8. 설치: 단일 바이너리, 의존성 없음

Rust로 작성된 RTK는 단일 바이너리다. 복잡한 의존성 설치가 필요 없다.

Homebrew (macOS/Linux)

brew install rtk

curl (macOS/Linux/WSL)

curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/master/install.sh | sh

Cargo

cargo install --git https://github.com/rtk-ai/rtk

Claude Code 통합

rtk init --global

9. 사용 예시

파일 읽기

# 기본 읽기
rtk read file.rs

# 시그니처만 (aggressive 모드)
rtk read file.rs -l aggressive

Git

# Compact status
rtk git status

# → "ok main"
rtk git push

# → "ok abc1234"
rtk git commit

테스트

# 실패만 표시 (-90%)
rtk test cargo test

# Python tests (-90%)
rtk pytest

린트

# ESLint grouped
rtk lint

# TypeScript errors grouped
rtk tsc

10. 설정 파일

RTK는 TOML 기반 설정을 지원한다.

압축 레벨, 제외 패턴, 커스텀 명령어 매핑 등을 세밀하게 조정할 수 있다.


마치며: 토큰 걱정 없는 개발

RTK의 등장은 Claude Code 사용 패턴을 근본적으로 바꾼다. 토큰을 아끼려고 명령어를 망설이던 습관이 사라진다. 그냥 평소처럼 명령하고, RTK가 알아서 최적화한다.

특히 인상적인 것은 성능이다. Rust로 작성된 단일 바이너리로, 오버헤드가 10ms 미만이다. 체감할 수 없을 정도로 빠르다.

6,361개의 스타가 증명하듯, 많은 개발자들이 이미 RTK를 일상적으로 사용하고 있다. Claude Code로 개발한다면, RTK는 “있으면 좋은 것”이 아니라 “없어선 안 되는 것”이 될 것이다.

이제 토큰 걱정 없이 대규모 프로젝트의 여정을 이어가라.


🔗 관련 정보

이전
AI Team OS: Claude Code를 자율 주행 AI 회사로 변신시키는 운영체제
다음
AstrBot: 1,000+ 플러그인과 14개 메시징 플랫폼을 통합한 오픈소스 IM 챗봇