C
ChaoBro

39.6k звёзд: инструмент на Rust сокращает расходы на токены при AI-программировании на 80%

39.6k звёзд: инструмент на Rust сокращает расходы на токены при AI-программировании на 80%

При написании кода в 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 / tree10x2,000400-80%
git status10x3,000600-80%
git diff5x10,0002,500-75%
cargo test5x25,0002,500-90%
pytest4x8,000800-90%
docker ps3x900180-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 — обнаружение команд, ещё не охваченных RTK
  • rtk session — просмотр уровня использования RTK в разных сессиях

Для команд, активно использующих AI-инструменты программирования, эти данные напрямую соотносятся с затратами на API.

Важные ограничения

Есть два момента, о которых стоит знать:

  1. Хук действует только на вызовы Bash-команд. Встроенные инструменты Claude Code — Read, Grep, Glob — не проходят через Bash-хук и не переписываются автоматически. Нужно явно использовать shell-команды или rtk read, rtk grep.
  2. Нативная среда 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 этого инструмента практически мгновенный.