TL;DR: RTK는 Rust로 작성된 CLI 프록시 도구로, Claude Code, Cursor, Gemini CLI 같은 LLM 프로그래밍 도구가 명령을 실행할 때 출력물을 자동으로 필터링하고 압축해서 토큰 소비를 60-90% 줄여줍니다. 단일 바이너리 파일, 제로 의존성, 100개 이상 명령 지원, 설치는 한 줄이면 끝납니다.

Claude Code, Cursor, Gemini CLI 같은 AI 프로그래밍 보조 도구를 매일 쓰고 계신다면, 이런 고민 한 번쯤 해보셨을 겁니다. AI가 git status, ls, cat, cargo test 같은 명령을 실행할 때마다 원본 출력이 그대로 LLM 컨텍스트 창에 들어가고, 토큰이 마구 소모된다는 거죠.

30분 코딩 세션에서 약 118,000개 토큰이 소모되는데, 그중 94,100개가 불필요한 정보입니다.

RTK는 바로 이 문제를 해결하려고 나왔습니다. Rust로 작성되었고, 크기도 작으며(단일 바이너리, 제로 의존성), 명령 실행 경로에서 출력을 가로채서 노이즈를 지능적으로 걸러내고 핵심 정보만 남깁니다. 30분 세션의 토큰 소비가 118,000개에서 약 23,900개로 줄어드니 — 80% 절약이죠.

RTK란?

RTK는 "Rust Token Killer"의 약자로, 여러분과 LLM 사이에서 동작하는 CLI 프록시 레이어입니다. LLM도 아니고, IDE 플러그인도 아닙니다. 아주 똑똑한 "중개인"이죠.

  RTK 없음:                                RTK 사용 후:

  Claude  --git status-->  shell  -->  git       Claude  --git status-->  RTK  -->  git
    ^                                   |           ^                      |          |
    |        ~2,000 tokens (원본 출력)   |           |   ~200 tokens         | 지능형 필터링 |
    +-----------------------------------+           +------- (압축 출력) -----+----------+

AI 도구가 명령을 실행할 때 RTK는 이렇게 작동합니다:

  1. 지능형 필터링 — 주석, 공백, 템플릿 텍스트 제거
  2. 지능형 그룹핑 — 유사 항목을 디렉토리/유형별로 집계 (파일은 디렉토리별로 분류, 에러는 유형별로 그룹화)
  3. 지능형 잘라내기 — 핵심 컨텍스트는 유지하고 중복 내용만 삭제
  4. 중복 제거 및 병합 — 반복되는 로그 라인을 카운트로 통합

프로젝트 정보:

속성 값
GitHub rtk-ai/rtk
언어 Rust
라이선스 Apache 2.0
Stars 68,000+
최신 버전 0.28.2
의존성 없음 (단일 정적 바이너리)

RTK 설치

RTK 설치 방법은 아주 간단합니다. 런타임 의존성 없이 독립 실행형 바이너리 하나면 됩니다.

macOS / Linux

추천: Homebrew

BASH
brew install rtk

빠른 설치 스크립트:

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

~/.local/bin에 설치되며, 이 경로가 PATH에 있는지 확인하세요: bash echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc source ~/.bashrc

Cargo로 설치:

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

Windows

GitHub Releases에서 rtk-x86-64-pc-windows-msvc.zip을 다운로드하고, 압축을 풀어서 rtk.exe를 PATH에 있는 디렉토리(예: C:\Users\<사용자>\.local\bin)에 넣으세요.

⚠️ exe를 더블클릭해서 실행하지 마세요. 명령줄(PowerShell/CMD/Windows Terminal)에서 실행해야 합니다.

설치 확인

BASH
rtk --version   # "rtk 0.28.2"가 표시되어야 함
rtk gain        # 토큰 절약 통계가 표시되어야 함

이름 충돌 경고: crates.io에는 "rtk"(Rust Type Kit)라는 다른 프로젝트도 있습니다. rtk gain 명령이 에러를 낸다면 잘못된 걸 설치한 겁니다. 위의 cargo install --git 방식으로 다시 설치하세요.

빠른 시작: 3분 만에 AI 도구에 연결하기

설치가 끝났다면, AI 프로그래밍 도구에서 RTK를 활성화하는 데는 단 한 단계만 필요합니다:

BASH
# Claude Code / Copilot (기본값)
rtk init -g

# Gemini CLI
rtk init -g --gemini

# Codex (OpenAI)
rtk init -g --codex

# Cursor
rtk init -g --agent cursor

# Windsurf
rtk init -g --agent windsurf

# Cline / Roo Code
rtk init --agent cline

# Kilo Code
rtk init --agent kilocode

# Google Antigravity
rtk init --agent antigravity

-g(또는 --global) 파라미터의 역할: AI 도구의 설정 파일을 자동으로 다시 작성해서, 자주 쓰는 명령(예: git status)을 전부 rtk git status로 바꿔줍니다. AI 도구를 재시작하면 적용됩니다.

BASH
# Claude Code 재시작 후 테스트
git status  # 자동으로 rtk git status로 재작성됨

⚠️ 훅(hook)은 Bash 도구 호출에서만 작동합니다. Claude Code의 내장 도구(Read, Grep, Glob 등)는 Bash 훅을 거치지 않으므로 자동으로 재작성되지 않습니다. 이런 상황에서도 압축 출력을 얻으려면 직접 셸 명령(cat/rg/find)을 사용하거나 rtk read, rtk grep, rtk find를 수동으로 호출하세요.

RTK가 지원하는 명령一览

RTK는 100개 이상의 명령에 대한 출력 압축을 지원하며, 파일 조작, Git, 테스트, 빌드, 패키지 관리, 클라우드 서비스 등 다양한 시나리오를 커버합니다.

파일 조작

BASH
rtk ls .                        # 지능형 디렉토리 트리 (토큰 -80%)
rtk read file.rs                # 지능형 파일 읽기
rtk read file.rs -l aggressive  # 함수 시그니처만 유지 (함수 본문 제거)
rtk smart file.rs               # 2줄 휴리스틱 코드 요약
rtk find "*.rs" .               # 압축된 find 결과
rtk grep "pattern" .            # 그룹핑된 검색 결과
rtk diff file1 file2            # 압축된 diff (파일이 다르면 exit 1)

Git 조작

BASH
rtk git status                  # 컴팩트 상태
rtk git log -n 10               # 한 줄 커밋 기록
rtk git diff                    # 압축된 diff
rtk git add                     # → "ok"
rtk git commit -m "msg"         # → "ok abc1234"
rtk git push                    # → "ok main"
rtk git pull                    # → "ok 3 files +10 -2"

git push 결과 비교가 정말 인상적입니다:

BASH
# git push (15줄, ~200 tokens)           # rtk git push (1줄, ~10 tokens)
Enumerating objects: 5, done.             ok main
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 456 bytes | 456.00 KiB/s, done.
...

15줄에서 1줄로 압축, 토큰 95% 감소.

테스트 러너

BASH
rtk pytest                      # Python 테스트 (-90%)
rtk cargo test                  # Rust 테스트 (-90%)
rtk go test                     # Go 테스트 (NDJSON, -90%)
rtk jest                        # Jest 컴팩트 출력
rtk vitest                      # Vitest 컴팩트 출력
rtk playwright test             # E2E 테스트 결과 (실패만)
rtk err <명령어>                  # 임의 명령에서 에러 추출
rtk test <명령어>                  # 범용 테스트 래퍼 — 실패만 (-90%)

빌드 & Lint

BASH
rtk tsc                         # TypeScript 에러 파일별 그룹핑
rtk cargo build                 # Cargo 빌드 (-80%)
rtk cargo clippy                # Cargo clippy (-80%)
rtk ruff check                  # Python linting (JSON, -80%)
rtk golangci-lint run           # Go linting (JSON, -85%)
rtk next build                  # Next.js 빌드 압축
rtk prettier --check .          # 포맷이 필요한 파일

Docker & 컨테이너

BASH
rtk docker ps                   # 컴팩트 컨테이너 목록
rtk docker images               # 컴팩트 이미지 목록
rtk docker logs <컨테이너>          # 중복 제거 로그
rtk kubectl pods                # 컴팩트 Pod 목록
rtk kubectl logs <pod>            # 중복 제거 로그

AWS CLI

BASH
rtk aws sts get-caller-identity # 한 줄 신원 정보
rtk aws ec2 describe-instances  # 컴팩트 인스턴스 목록
rtk aws lambda list-functions   # 이름/런타임/메모리 (키 제거)
rtk aws s3 ls                   # 잘린 목록 + tee로 복구
rtk aws dynamodb scan           # 타입 어노테이션 펼치기

데이터 분석

BASH
rtk json config.json            # 구조 표시 (값 제거)
rtk deps                        # 의존성 요약
rtk env -f AWS                  # 필터링된 환경변수
rtk log app.log                 # 중복 제거 로그
rtk summary <긴 명령어>             # 휴리스틱 요약

토큰 절약 분석: RTK 효과는 어느 정도?

RTK는 내장된 상세 통계 기능으로 얼마나 많은 토큰을 절약했는지 명확하게 보여줍니다:

BASH
rtk gain                        # 요약 통계
rtk gain --graph                # ASCII 차트 (최근 30일)
rtk gain --history              # 최근 명령 이력
rtk gain --daily                # 일별 상세
rtk gain --all --format json    # JSON 내보내기 (대시보드용)

rtk discover                    # 활용되지 않은 절약 기회 발견
rtk discover --all --since 7    # 모든 프로젝트, 최근 7일

rtk session                     # 최근 세션의 RTK 적용률 표시

전역 파라미터

BASH
-u, --ultra-compact    # ASCII 아이콘 + 인라인 포맷 (추가 토큰 절약)
-v, --verbose          # 상세도 증가 (-v, -vv, -vvv)

실전: RTK + Claude Code의 하루

Rust 프로젝트 전업 개발자라고 가정하고, 하루 업무 흐름을 따라가 보겠습니다:

아침: 코드 리뷰

BASH
# 오늘의 커밋 확인
git log --oneline --since="today"   # rtk가 한 줄 커밋 요약으로 압축

# PR 목록 확인
gh pr list                          # rtk가 컴팩트 PR 테이블로 출력

# 특정 PR 상세 확인
gh pr view 42                       # rtk가 PR 상세 + 상태 체크 출력

오전: 기능 개발

BASH
# 프로젝트 구조 확인
ls -la                              # rtk 디렉토리 트리 (~150 tokens vs ~800)

# 핵심 파일 확인
read src/main.rs                    # rtk 지능형 읽기 (시그니처 + 핵심 로직 유지)

# 테스트 실행
cargo test                          # rtk 실패 테스트만 (-90%)

# 커밋 & 푸시
git commit -m "feat: add auth"      # rtk → "ok abc1234"
git push                            # rtk → "ok main"

오후: CI 디버깅

BASH
# CI 실행 결과 확인
gh run list                         # rtk 컴팩트 워크플로우 상태

# 실패 원인 파악
docker ps                           # rtk 컴팩트 컨테이너 목록
docker logs my-container            # rtk 중복 제거 로그

# 수정 후 재테스트
rtk test pytest                     # 범용 테스트 래퍼, 실패만 표시

하루 동안 얼마나 절약했을까?

시나리오 원본 토큰 RTK 토큰 절약
디렉토리/파일 탐색 50,000 10,000 -80%
Git 조작 18,100 3,700 -80%
테스트 실행 41,000 4,100 -90%
빌드/Lint 18,000 3,600 -80%
기타 10,000 2,000 -80%
합계 137,100 23,400 -83%

Claude 3.5 Sonnet 기준 $10/백만 토큰으로 계산하면, 하루에 약 $1.14를 아낄 수 있습니다. 한 달 20일 근무면 약 $22.8이죠. 적어 보일까요? 하지만 10명 팀이라면요? 월 $228, 연간 $2,736입니다.

Claude Opus 같은 더 비싼 모델을 쓴다면 절약 금액은 훨씬 더 커집니다.

아키텍처 원리

RTK의 디자인 철학은 간단합니다: LLM이 할 수 있는 일은 하지 말고, LLM이 볼 필요가 없는 것만 처리하자.

RUST
// 의사 코드: RTK의 핵심 처리 흐름
fn process_command(cmd: &str, output: &str) -> String {
    match cmd_type(cmd) {
        CmdType::GitStatus => compact_git_status(output),
        CmdType::TestRunner => failures_only(output),
        CmdType::FileList => group_by_dir(output),
        CmdType::Logs => deduplicate(output),
        CmdType::Build => errors_only(output),
        _ => heuristic_summary(output),
    }
}

RTK는 각 명령 유형마다 다른 압축 전략을 적용합니다:

  • git status: 수정된 파일의 간단한 목록만 유지, staged/unstaged 상태 상세 설명 제거
  • cargo test: 실패한 테스트 케이스만 표시, 통과한 테스트는 한 줄 통계로 통합
  • ls/find: 디렉토리별로 그룹핑, 파일명만 표시, 권한/크기/날짜 제외
  • docker logs: 중복 행 제거, 동일 로그는 첫 표시 + 카운트
  • aws describe-*: 메타데이터 제거, 핵심 속성만 유지 (민감 정보 자동 필터링)

RTK 바이너리는 컴파일 후 몇 MB에 불과하고, 시작 오버헤드는 10ms 미만이라 거의 체감되지 않습니다.

사용 시나리오와 제한사항

✅ 매우 적합한 경우

  • AI 프로그래밍 보조 도구 헤비 유저: Claude Code, Cursor, Gemini CLI로 하루 4시간 이상 작업
  • 다중 언어 프로젝트: Rust/Go/Python/TypeScript 혼합 프로젝트, 다양한 테스트 러너 모두 커버
  • 팀 협업: 토큰 예산 통일, CI/CD에서 LLM 호출 비용 절감
  • 클라우드 배포: CI 파이프라인에서 AI 도구 사용 시 (토큰 과금)

⚠️ 주의사항

  • 훅은 Bash 호출만 커버: Claude Code의 내장 도구는 RTK를 거치지 않음
  • 과도한 압축으로 컨텍스트 손실 가능: 복잡한 문제 디버깅 시 --verbose로 전체 출력 확인 필요
  • 재적응 필요: AI 도구 출력이 짧아지면 AI에게 질문하는 방식도 조정해야 할 수 있음

요약

RTK는 제가 본 가장 실용적이고 즉각적인 효과가 있는 AI 프로그래밍 보조 도구 중 하나입니다. 과장도 없고, 화려한 UI도 없습니다. 그냥 조용히 작동하는 Rust 바이너리 하나일 뿐이지만, 매일 토큰을 아끼고, 돈을 절약하고, 속도를 높여줍니다.

30초 설치, 평생 혜택. 이게 오픈소스 정신입니다 — 최소한의 코드로 가장 실제적인痛点(고통)을 해결하는 것.

빠른 시작:

BASH
brew install rtk      # macOS
rtk init -g           # Claude Code 연동 활성화
# Claude Code 재시작, 토큰 절약 시작

AI 프로그래밍 도구가 하루에 수십 개에서 수백 개 명령을 실행한다면, RTK는 꼭 시도해볼 만합니다. 68K+ GitHub Stars가 이미 그 가치를 증명했습니다 — 이제 여러분의 차례입니다.


관련 링크: