RTK(Rust Token Killer)는 코딩 에이전트가 셸에서 받는 출력을 명령 종류에 맞게 압축하는 단일 Rust 바이너리다. git status, rg, 테스트, 린트처럼 반복 실행하는 명령의 잡음을 줄여 컨텍스트를 아끼고 싶을 때 유용하다. 다만 60~90% 절감은 Bash 출력량 기준이며 전체 LLM 요금이 같은 비율로 감소한다는 뜻은 아니다.
무엇을 줄이는가
| 명령군 | 압축 방식 | 남겨야 하는 정보 |
|---|---|---|
| 파일·검색 | 트리화, 파일별 매치 묶기, 긴 줄 자르기 | 경로와 매치 위치 |
| Git | 헤더·진행 로그 축약 | 변경 상태, 커밋, diff 핵심 |
| 테스트·린트 | 성공 항목을 개수로 접기 | 실패, 오류 위치, 축약 traceback |
| 패키지·클라우드 | 보일러플레이트 제거 | 결과·경고·실패 원인 |
이는 context-engineering의 입력 예산 관리와 맞닿아 있다. 중요한 코드 본문·로그까지 무조건 버리는 요약기가 아니므로, 원문이 필요하면 명령을 직접 실행해야 한다.
Ponytail과의 차이: 관찰 결과와 구현 자체를 각각 줄인다
RTK와 ponytail은 모두 코딩 에이전트의 비용과 컨텍스트 부담을 낮추려 하지만, 개입하는 단계가 다르다. RTK는 에이전트가 명령을 실행한 뒤 셸 결과가 컨텍스트에 들어오기 전에 잡음을 제거한다. Ponytail은 구현을 시작하기 전 기존 코드·표준 라이브러리·플랫폼 기능을 우선 검토하게 해 새 코드와 의존성 자체를 줄인다.
| 구분 | RTK | Ponytail |
|---|---|---|
| 줄이는 대상 | 명령 결과, 로그, 진행 메시지 | 새 코드, 의존성, 과도한 추상화 |
| 작동 시점 | 명령 실행 후·모델 입력 전 | 설계와 구현 선택 전 |
| 핵심 수단 | 필터링, 묶기, 자르기, 중복 제거 | YAGNI, 기존 코드 재사용, 표준·네이티브 기능 우선 |
| 대표 상황 | 테스트 500줄에서 실패와 traceback만 남기기 | 날짜 선택 UI에 라이브러리 대신 <input type="date"> 검토하기 |
| 주의점 | 압축 결과에 빠진 원문 로그를 필요 시 다시 확인해야 한다 | 복잡한 도메인·장기 확장 요구를 최소 구현 논리로 축소하면 안 된다 |
비유하면 RTK는 긴 회의록에서 잡담을 지우는 편집자이고, Ponytail은 처음부터 불필요한 회의를 열지 않는 시니어 개발자에 가깝다. 따라서 역할이 중복되지 않는다.
함께 쓰는 방법과 적용 기준
둘을 함께 쓰면 Ponytail이 불필요한 구현과 도구 호출을 줄이고, 남은 Git·테스트·빌드·로그 출력은 RTK가 압축한다. 작은 기능 변경을 자주 수행하고 CI 로그가 큰 프로젝트에서는 특히 조합 효과가 크다.
다만 규제·보안·금융처럼 요구사항 추적과 장기 확장 설계가 중요한 시스템은 Ponytail을 lite 수준으로 시작하고, 명시된 검증 기준·신뢰 경계·장애 복구 요건은 축소 대상에서 제외해야 한다. RTK로 압축한 실패 결과도 배포 판단이나 사고 조사에서는 원본 로그로 교차 확인한다.
Codex에 연결하기
macOS에서는 Homebrew 설치가 간단하다.
brew install rtk
rtk init -g --codex
rtk gainCodex를 다시 시작하면 지원되는 Bash 호출이 rtk git status처럼 재작성되어 압축된 결과가 모델에 전달된다. 훅을 쓰지 않는 환경에서도 필요한 명령을 직접 실행할 수 있다.
rtk git diff
rtk grep "TODO" src
rtk pytest도입 전 확인할 점
Read,Grep,Glob같은 에이전트 전용 도구는 Bash 훅을 거치지 않을 수 있다.- 절감률은
바이트 / 4추정 토큰에 기반한다. 프롬프트·대화 이력·모델 출력은 여전히 비용에 포함된다. - CI 실패나 보안 조사처럼 원본 로그가 증거인 작업은 압축 결과만 믿지 말고 원본 출력을 다시 확인한다.
관련 문서
- context-engineering — 에이전트 컨텍스트를 작업 단위로 설계하는 방법
- pxpipe — 파일 내용을 이미지로 압축해 컨텍스트 소비를 줄이는 다른 접근
- codex-tutorial-subagents — 병렬 작업을 서브에이전트로 분리하는 방법
- ponytail — 구현 자체를 최소화하는 AI 코딩 에이전트 스킬
참고 자료
- rtk-ai/rtk — GitHub 공식 저장소