При написании кода в Claude Code задумывались ли вы, почему git status съедает 2000 токенов?
Ситуация такая: каждый раз, когда AI-инструмент выполняет команды вроде git status, npm test, cargo build, он помещает полный вывод терминала в контекстное окно без каких-либо изменений. Один проваленный cargo test может выдать более 200 строк и 25 000 токенов. После нескольких прогонов контекстное окно заполняется, а расходы на API растут. При этом сам AI-инструмент не нуждается во всей этой избыточной информации — ему достаточно знать, какие именно тесты провалились и какие файлы изменены в git.
RTK вырос именно из этой ниши.
Основная идея: слой фильтрации между AI и терминалом
RTK (rtk-ai/rtk) — это прокси-инструмент CLI на Rust, уже достигший версии 0.28.2. Он делает одну простую вещь: перехватывает команды, отправляемые AI-инструментами, сжимает их вывод и возвращает обратно.
Согласно данным из README, в 30-минутной сессии Claude Code:
| Операция | Частота | Стандартный вывод | После RTK | Экономия |
|---|---|---|---|---|
| ls / tree | 10x | 2,000 | 400 | -80% |
| git status | 10x | 3,000 | 600 | -80% |
| git diff | 5x | 10,000 | 2,500 | -75% |
| cargo test | 5x | 25,000 | 2,500 | -90% |
| pytest | 4x | 8,000 | 800 | -90% |
| docker ps | 3x | 900 | 180 | -80% |
| Итого | ~118 000 | ~23 900 | -80% |
Это не магия, а четыре приёма: умная фильтрация (удаление комментариев, пробелов, шаблонного текста), агрегация (группировка файлов по директориям, ошибок по типам), усечение (сохранение ключевого контекста, удаление повторов), дедупликация (сворачивание повторяющихся строк логов с отметкой счётчика).
Механизм хуков: AI-инструмент ничего не замечает
Самая интересная особенность RTK — его хук auto-rewrite. После установки он перехватывает и переписывает Bash-команды до того, как они будут отправлены AI-инструментом:
Claude --git status--> RTK --> git
^ | |
| ~200 tokens | filter |
+---- (filtered) -----+----------+
Claude по-прежнему отправляет git status, но RTK переписывает это в rtk git status и выполняет команду, возвращая сжатый результат Claude. Весь процесс полностью прозрачен для AI — он не знает, что вывод был изменён.
Поддерживается 12 AI-инструментов: Claude Code, GitHub Copilot, Cursor, Gemini CLI, Codex, Windsurf, Cline/Roo Code, OpenCode, OpenClaw, Kilo Code, Google Antigravity. Установка едина для всех: rtk init -g, для разных инструментов есть соответствующие флаги.
Не только сжатие, но и наблюдаемость
RTK также включает набор инструментов для анализа экономии токенов:
rtk gain— просмотр статистики экономииrtk gain --graph— ASCII-график тренда за последние 30 днейrtk discover— обнаружение команд, ещё не охваченных RTKrtk session— просмотр уровня использования RTK в разных сессиях
Для команд, активно использующих AI-инструменты программирования, эти данные напрямую соотносятся с затратами на API.
Важные ограничения
Есть два момента, о которых стоит знать:
- Хук действует только на вызовы Bash-команд. Встроенные инструменты Claude Code — Read, Grep, Glob — не проходят через Bash-хук и не переписываются автоматически. Нужно явно использовать shell-команды или
rtk read,rtk grep. - Нативная среда Windows не поддерживает хук auto-rewrite — происходит откат к режиму инъекции через CLAUDE.md. В WSL поддержка полная.
Быстрый старт
# Homebrew
brew install rtk
# Или прямая установка
curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | sh
# Установить хук для вашего AI-инструмента
rtk init -g # Claude Code / Copilot
# Перезапустите AI-инструмент и проверьте
git status # автоматически переписывается в rtk git status
Проект распространяется под лицензией MIT, 39.6k звёзд, 863 коммита, основная команда из трёх человек, последний коммит — 2 дня назад. Для тех, кто ежедневно тратит десятки долларов на API AI-инструментов программирования, ROI этого инструмента практически мгновенный.