삼태연구소
SAMTAELABS삼태연구소
가이드2026년 4월 6일·7분 읽기

LLM 토큰 소비를 80% 줄이는 CLI 프록시, rtk 사용법 (github.com)

LLM토큰최적화CLI도구AI코딩ClaudeCodeRust개발도구프록시
LLM 토큰 소비를 80% 줄이는 CLI 프록시, rtk 사용법
목차(8)

한줄 요약

Rust로 만든 CLI 프록시 하나로 AI 코딩 세션의 LLM 토큰 소비를 평균 80% 줄일 수 있다.


어떤 상황에서 필요한가?

Claude Code나 Cursor 같은 AI 코딩 도구를 장시간 사용하다 보면, git diffcargo test 같은 명령어 출력이 그대로 LLM 컨텍스트에 쌓이면서 토큰이 빠르게 소진된다. 30분짜리 일반 세션에서 ls, cat, grep, git 관련 명령을 합산하면 약 118,000토큰이 소비되는 것으로 측정됐다. rtk는 이 출력값을 LLM에 전달하기 전에 필터링·압축해서 같은 작업을 약 23,900토큰 수준으로 처리한다.


핵심 구현 방법

1. 설치

macOS 사용자라면 Homebrew로 가장 간단하게 설치할 수 있다.

brew install rtk

Linux/macOS 공통으로는 설치 스크립트를 사용할 수 있으며, 바이너리는 ~/.local/bin에 위치한다.

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

Cargo를 통한 설치도 가능하지만, crates.io에 동명의 별개 프로젝트(Rust Type Kit)가 존재하므로 반드시 Git 경로를 직접 지정해야 한다.

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

설치 확인은 rtk --version으로 하며, 현재 최신 버전은 0.28.2다.


2. AI 도구와 연동

rtk init 명령 하나로 주요 AI 도구에 훅을 설치한다. 지원 도구별 명령은 아래와 같다.

rtk init -g              # Claude Code / Copilot (기본값)
rtk init -g --gemini     # Gemini CLI
rtk init -g --codex      # Codex (OpenAI)
rtk init -g --agent cursor     # Cursor
rtk init --agent windsurf      # Windsurf
rtk init --agent cline         # Cline / Roo Code

설치 후 AI 도구를 재시작하면, Bash 툴콜에서 git status 같은 명령이 자동으로 rtk git status로 재작성된다. AI 입장에서는 이 재작성 과정이 보이지 않으며, 압축된 출력만 전달받는다.


3. rtk가 적용하는 4가지 압축 전략

rtk는 명령 유형에 따라 네 가지 방식을 조합해 출력을 줄인다.

  • 스마트 필터링: 주석, 공백, 보일러플레이트 제거
  • 그루핑: 디렉터리별 파일 묶기, 오류 유형별 집계
  • 트런케이션: 중복 컨텍스트 제거 후 핵심만 유지
  • 중복 제거: 반복되는 로그 라인을 카운트로 축약

4. 주요 명령별 토큰 절감률

30분 세션 기준 측정치를 보면 절감 효과가 명확하다.

명령기본 토큰rtk 적용 후절감률
cat / read40,00012,000-70%
cargo test / npm test25,0002,500-90%
git diff10,0002,500-75%
pytest8,000800-90%
grep / rg16,0003,200-80%
git add/commit/push1,600120-92%

수치는 중간 규모 TypeScript/Rust 프로젝트 기준이며 프로젝트 크기에 따라 실제 절감폭은 달라질 수 있다.


실전에서 주의할 점

  • Bash 훅의 적용 범위 제한: rtk의 자동 재작성은 Bash 툴콜에만 적용된다. Claude Code의 내장 도구인 Read, Grep, Glob은 Bash 훅을 거치지 않으므로 자동 압축이 되지 않는다.
  • 내장 도구 대체 방법: 위 내장 도구 대신 cat, rg, find 같은 쉘 명령을 사용하거나, rtk read, rtk grep, rtk find를 직접 호출해야 압축 출력을 얻을 수 있다.
  • Cargo 설치 시 패키지 혼동 주의: crates.io의 rtk는 전혀 다른 패키지다. rtk gain 명령이 실패한다면 잘못된 패키지가 설치된 것이므로, Git URL을 명시한 설치 명령으로 다시 설치해야 한다.
  • PATH 설정 확인: 스크립트로 설치 시 바이너리가 ~/.local/bin에 위치하므로, 해당 경로가 PATH에 포함되어 있지 않다면 .bashrc 또는 .zshrc에 수동으로 추가해야 한다.
  • 오버헤드는 10ms 미만: 단일 Rust 바이너리 구조로 처리 지연은 10ms 미만이며, 100개 이상의 명령을 지원한다.

자주 묻는 질문

Q.rtk가 LLM 토큰을 줄여준다고 하는데, 실제로 AI 도구의 응답 품질에 영향을 주지는 않나요?

rtk는 명령 출력에서 노이즈(공백, 반복 로그, 보일러플레이트 등)를 제거하고 핵심 정보만 남기는 방식으로 작동한다. AI가 판단에 필요한 실질적인 정보(오류 메시지, 변경 파일 목록, 테스트 실패 내용 등)는 유지되므로 응답 품질에 큰 영향을 주지 않도록 설계됐다. 다만 `rtk read file.rs -l aggressive` 처럼 함수 시그니처만 남기는 공격적 압축 옵션은 상황에 따라 선택적으로 사용하는 것이 좋다. 실제 절감 수준은 프로젝트 규모와 명령 빈도에 따라 달라진다.

Q.rtk는 Claude Code 외에 어떤 AI 코딩 도구와 연동할 수 있고, 설정 방법이 다른가요?

Claude Code, GitHub Copilot, Gemini CLI, Codex, Cursor, Windsurf, Cline/Roo Code를 공식적으로 지원한다. 연동은 모두 `rtk init` 명령 하나로 처리되며, 도구별로 플래그만 다르게 지정하면 된다(`--gemini`, `--codex`, `--agent cursor` 등). 설정 후 AI 도구를 재시작하면 Bash 툴콜에 훅이 자동 적용된다. 내부적으로는 각 도구의 Bash 실행 경로에 훅을 삽입하는 방식이라, 사용자가 별도로 명령을 바꿀 필요가 없다.

Q.rtk를 Cargo로 설치하려고 했는데 제대로 동작하지 않습니다. 왜 그런가요?

crates.io에 'rtk'라는 이름의 별개 프로젝트(Rust Type Kit)가 먼저 등록되어 있어서, `cargo install rtk`로 설치하면 전혀 다른 패키지가 설치된다. 이 경우 `rtk gain` 명령이 정상 동작하지 않는다. 올바른 설치 방법은 `cargo install --git https://github.com/rtk-ai/rtk`처럼 Git 저장소 주소를 직접 명시하는 것이다. Homebrew나 공식 설치 스크립트를 사용하면 이 문제를 피할 수 있다.

직접 따라하기 어려우면, 대표 개발자가 1:1로 진행해드립니다

누적 매출 20억 / 1인 에이전시. 중간 과정 없이 의도 그대로.

관련 아티클

관련 사례

이 글의 키워드와 맞닿은 실제 개발 사례를 함께 보세요.