Нашёл очень правильный инструмент для длинных agentic coding-сессий — [RTK](https://github.com/rtk-ai/rtk), он же Rust Token Killer.
Проблема знакомая: coding-агент тратит огромную часть контекста не на код и рассуждения, а на вывод обычных команд:
—
git diff печатает сотни строк;— тесты перечисляют тысячи успешных кейсов ради двух упавших;
— линтер повторяет одну ошибку в 50 файлах;
—
docker logs и kubectl logs забивают контекст одинаковыми сообщениями;—
git push подробно рассказывает, как он считает и сжимает объекты.Человеку этот вывод почти не нужен. Агенту — тем более.
RTK ставится между coding-агентом и терминальной командой:
Agent → RTK → git/cargo/npm/docker/kubectl → сжатый результат → Agent
Это не ещё одна LLM, которая пересказывает вывод. RTK — локальный бинарник на Rust с детерминированными фильтрами под конкретные команды.
Например, обычный:
git push
вместо 15 строк превращается примерно в:
ok main
А вывод тестов из сотен строк — в список только упавших тестов с ошибками.
RTK умеет группировать одинаковые ошибки, дедуплицировать логи, выкидывать boilerplate, сворачивать diff и оставлять только релевантную структуру. Сейчас поддерживается уже больше сотни команд: Git, GitHub CLI, Cargo, pytest, Go test, Jest, TypeScript, ESLint, Docker, Kubernetes, AWS, Pulumi и много чего ещё.
По оценке авторов, обычная получасовая сессия Claude Code вместо примерно 118 тысяч токенов терминального вывода потребляет около 24 тысяч. То есть экономия порядка 80%.
Но самое интересное здесь даже не стоимость токенов.
RTK позволяет агенту гораздо дольше удерживать полезный контекст. Меньше преждевременных compaction, меньше терминального мусора, меньше шансов, что важные требования и архитектурные решения будут вытеснены очередным
npm test.Для Claude Code, Cursor, Gemini CLI, OpenCode и ряда других агентов есть hooks, которые автоматически переписывают команды:
git status → rtk git status
cargo test → rtk cargo test
То есть агенту даже не нужно помнить про RTK. Это особенно важно для subagents: фильтрация применяется ко всем терминальным вызовам автоматически.
Для Codex интеграция пока не такая прозрачная: RTK добавляет инструкции через
AGENTS.md и RTK.md, поскольку полноценного hook-перехвата там нет.Ещё хороший момент: если команда упала, RTK сохраняет полный необрезанный вывод в отдельный файл. Агент может открыть его, когда сжатой версии недостаточно. Есть и
-vvv, чтобы посмотреть оригинальный output вручную.И отдельно важно: это уже не pet project, который автор обновляет по выходным. Основатель занимается RTK full-time и строит вокруг него отдельный стартап.
Это хорошо видно и по темпу разработки: постоянно добавляются новые команды, интеграции с coding-агентами, Windows-поддержка, аналитика экономии токенов и полноценная документация.
То есть есть шанс, что RTK не останется просто любопытным wrapper над CLI, а превратится в стандартный инфраструктурный слой для coding-агентов.
Установка:
brew install rtk
rtk init -g
Для Codex:
rtk init -g --codex
Статистику экономии можно посмотреть прямо в терминале:
rtk gain
rtk gain --graph
rtk discover
По сути, RTK — это оптимизированный транспортный слой между coding-агентом и CLI.
Мы очень много обсуждаем, какая модель лучше кодит. Но на длинных задачах не менее важно, какой именно контекст мы этой модели скармливаем.
И отправлять дорогой reasoning-модели сотни строк про успешные тесты и подсчёт Git-объектов — действительно странно.
Проект:
https://github.com/rtk-ai/rtk