JetBrains говорят нет, моя машина говорит 11,6 миллиона
В июле 2026 года JetBrains потратили около 320 $ кредитов API — 425 оплаченных прогонов — чтобы проверить rtk, shell-прокси, который десятки тысяч разработчиков ставят ради экономии токенов в Claude Code. Вердикт: сессии вышли на 7,6 % дороже в расчёте на задачу. Двумя неделями раньше та же команда измерила caveman, скилл, обещающий срезать 65 % токенов, и получила 8,5 %. А на моей собственной машине rtk gain сообщает об 11,6 миллиона сэкономленных токенов на 25 599 командах.
Обе серии цифр настоящие. Просто они меряют разное: одна — стоимость завершённой задачи, другая — байты вывода bash.
| Цифра | Что она измеряет | Источник |
|---|---|---|
| +7,6 % на задачу (p=0,004) | Сквозная стоимость задачи с установленным rtk | JetBrains, 425 прогонов, ~320 $ |
| 8,5 % выходных токенов | Измеренная экономия caveman в агентной работе | JetBrains, 82 парные задачи |
| 65 % | Экономия, заявленная caveman | README caveman |
| 11,6 млн сэкономлено (41,6 %) | Байты вывода bash, сжатые rtk | rtk gain, 25 599 команд |
Вот этот стек из четырёх инструментов: graphify, rtk, Superpowers и caveman — 575 612 звёзд на GitHub суммарно на 2026-09-02. Каждый затрагивает свой кусок счёта.
| Инструмент | Звёзды (2026-09-02) | Язык | Лицензия |
|---|---|---|---|
| Superpowers | 280 792 | Markdown-скиллы | MIT |
| graphify | 113 946 | Python | Apache-2.0 |
| caveman | 102 548 | Go | MIT (скилл) |
| rtk | 78 326 | Rust | Apache-2.0 |
Куда на самом деле уходят токены
У счёта Claude Code две стороны. Входные токены — это всё, что модель читает: вывод каждой shell-команды, ваш промпт, системный промпт и вся история диалога, пересылаемая заново при каждом вызове. Выходные токены — это всё, что модель пишет.
Собственная документация rtk рисует ровно это дерево и добавляет фразу, которой не было в анонсе: «Команда, показывающая на 90 % меньше выходных байтов, не делает вашу сессию на 90 % дешевле».
JetBrains подставили цифры к стороне чтения, переиграв 83 базовые сессии — 1,9 миллиона символов вывода инструментов.
| Доля того, что читает модель | Символы | Доля |
|---|---|---|
| Вывод shell, который rtk может сжать | 373 339 | 19,7 % |
| Вывод shell, для которого у rtk нет правила | 879 326 | 46,3 % |
| Инструменты чтения и поиска, вообще минующие rtk | 646 613 | 34,0 % |
Сжимаемая shell-прокси часть — лишь пятая доля того, что читает модель: встроенные инструменты Claude Code Read, Grep и Glob никогда не проходят через Bash-хук.
Отсюда карта четырёх инструментов: graphify уменьшает то, что читает агент, rtk уменьшает то, что возвращает shell, Superpowers уменьшает историю, которую тащит каждая задача, и выбирает, какая модель её потащит, а caveman уменьшает то, что агент говорит. Сторона чтения — большая половина счёта, с неё и начинается рейтинг.
graphify: ходим по узлам, а не по строкам
graphify — это скилл, превращающий кодовую базу вместе с документацией, SQL-схемами, конфигами и PDF в граф знаний, к которому можно обращаться запросами. Вы вводите /graphify . в Claude Code, Cursor, Codex или Gemini CLI, проект один раз размечается, и дальше агент запрашивает граф вместо того, чтобы грепать файлы.
Код парсится через AST tree-sitter примерно для 40 языков: детерминированно, без вызова LLM, ничего не покидает машину. Построение стоит ноль LLM-кредитов. На выходе три файла: graph.html для кликабельного обзора, GRAPH_REPORT.md и graph.json — сам граф, к которому можно обращаться, не перечитывая файлы. Каждый узел — это концепт (файл, функция, класс), а каждое ребро помечено EXTRACTED, если оно было явным в исходнике, или INFERRED, если graphify его вывел. Узлы группируются в подсистемы алгоритмом Лейдена.
Встроенный бенчмарк, запущенный на одном из наших проектов:
| Метрика | Значение |
|---|---|
| Узлы | 34 031 |
| Рёбра | 56 865 |
| Найдено сообществ | 967 |
| Происхождение рёбер | 76 % EXTRACTED · 24 % INFERRED |
| Наивное чтение всего корпуса | 1 701 550 слов ≈ 2 268 733 токена |
| Средний запрос к графу | ~24 702 токена |
| Сокращение | в 91,8 раза меньше токенов на запрос |
По конкретным вопросам разброс большой: 679,1× на «what is the main entry point», 34,0× на «what connects the data layer to the api».
Два ограничения. Сравнение идёт с чтением всего подряд, а сессия на греп никогда столько не стоила, так что реальный выигрыш меньше. И граф устаревает — обновляйте его через graphify update <path>, --watch или git-хуки; при этом семантический проход по документам, PDF и изображениям действительно вызывает модель и действительно тратит токены.
Установка: uv tool install graphifyy (в имени пакета два «y»), затем graphify install.
rtk: прокси для shell под судом
rtk — это CLI-прокси между Claude Code и вашим shell. Обычные команды вроде ls, cat или git status возвращают кучу шума, который агент вынужден читать как входные токены: права на файлы, полосы прогресса, сотня строк пройденных тестов. rtk выполняет ту же команду и отдаёт компактный вариант: один бинарник на Rust, более 100 поддерживаемых команд, менее 10 мс накладных расходов. Хук PreToolUse переписывает каждый подходящий вызов Bash (git status → rtk git status) до выполнения, так что агенту не нужно об этом помнить.
Анонс автора заявлял 10,2 млн сэкономленных токенов за две недели, 89,2 %, с примерами вроде cargo test, ужимающегося со 155 строк до 3. Наша собственная панель после 25 599 команд:
| Команда | Вызовов | Сэкономлено токенов | Доля |
|---|---|---|---|
rtk find |
354 | 2,2 млн | 46,6 % |
rtk read |
3 504 | 2,2 млн | 10,4 % |
rtk grep |
2 760 | 1,9 млн | 47,7 % |
rtk ps aux |
24 | 1,1 млн | 98,0 % |
rtk diff |
39 | 541,1 тыс. | 92,2 % |
| Итого | 25 599 | 11,6 млн | 41,6 % |
Теперь суд. JetBrains установили rtk ровно в том виде, в каком он поставляется, и прогнали 86 задач дважды на claude-sonnet-5.
| Вывод JetBrains | Значение |
|---|---|
| Shell-команды, которые rtk может переписать | 349 из 1 056 (одна из трёх) |
| Потолок общей экономии | ~3 % счёта |
| Стоимость задачи, низкий reasoning effort | +7,6 % (p=0,004) |
| Ходов на задачу | +13,8 % (p=0,03) |
| Стоимость задачи, высокий effort | ±0 % |
| Качество задач | Без изменений |
README rtk теперь говорит это прямо: до 90 % вывода bash, «что не то же самое, что срезать ваш счёт на 90 %», а собственные подсчёты оцениваются как bytes / 4.
Вердикт: бесплатно, сжатие настоящее и, по словам JetBrains, «часто со вкусом». Держите его для сессий с большим количеством bash; не ждите, что он сдвинет счёт.
Superpowers: сначала рамка, потом задачи, слишком мелкие, чтобы провалиться
Superpowers — плагин Джесси Винсента для Claude Code: 280 792 звезды, четырнадцать скиллов, одна команда установки (/plugin install superpowers@claude-plugins-official). Он экономит токены, ничего не сжимая.
Всё начинается со скилла brainstorming, который открывается жёстким шлагбаумом: никакого кода, никакого каркаса, никаких скиллов реализации, пока явное намерение не утверждено. Когда скилл загружается, агент становится партнёром по мозговому штурму, и на практике часть проекта переосмысливается до того, как что-либо построено. Это самый важный этап, потому что самые дорогие токены — те, что потрачены на постройку не того.
Скилл классифицирует работу как spike, ограниченное изменение или архитектурное, и правило записано прямо в файле: «Если сомневаешься между двумя путями, бери более тяжёлый». Он даже называет режим отказа — есть раздел с анти-паттерном «Too Simple To Need Approval». Архитектурный путь даёт спецификацию, которую вы утверждаете, а затем план реализации.
Надёжность идёт от плана. Скилл writing-plans режет работу на шаги в одно действие, по 2–5 минут: написать падающий тест, запустить и убедиться, что он падает, написать минимальный код, чтобы он прошёл, снова прогнать тесты, закоммитить. Планы пишутся исходя из того, что у исполнителя нулевой контекст. Такая маленькая задача с запасом влезает в свежее контекстное окно, поэтому агент никогда не доходит до конца задачи с насыщенным окном — а именно из насыщенного окна берётся выдуманный код.
Ограничение — церемония. В файле сказано, что она масштабируется под задачу, но шлагбаум срабатывает и на однострочной правке, и это тоже токены.
Superpowers: одна задача, один subagent, одна подходящая модель
Затем план запускается, и арифметика токенов меняется. Одна задача — один subagent. Каждый subagent стартует со свежим контекстом, где есть только его задача и никогда нет истории сессии, так что окно оркестратора остаётся маленьким, а окно субагента — чистым. После каждой задачи оркестратор проверяет результат: ок — следующая задача, не ок — правка уходит субагенту. Максимум пять раундов на задачу: раунды с 1 по 3 продолжает исходный исполнитель, на 4-м работу получает новый исполнитель на более мощной модели, на 5-м оркестратор решает сам.
Правило, которое всё окупает, — выбор модели: «Используй наименее мощную модель, способную справиться с ролью, чтобы экономить». Оркестратор оценивает сложность каждой задачи и подбирает модель под неё.
| Тип задачи | Уровень модели |
|---|---|
| Механическая, чётко описанная; код уже есть в плане | Самая дешёвая / маленькая модель |
| Координация по нескольким файлам, отладка | Стандартная модель |
| Архитектура, финальное ревью ветки | Самая мощная модель |
| Модель не указана | Наследует модель сессии |
Нюанс из того же файла: «Число ходов важнее цены токена». Дешёвая модель, которой нужно три хода, не дешёвая. На практике именно это делает Opus и Fable пригодными на тарифе Pro за 20 $: дорогая модель касается горстки задач вместо всей сессии.
Последний выигрыш — документация. Каждая спецификация и каждый план — markdown-файл в docs/superpowers/specs/ и docs/superpowers/plans/YYYY-MM-DD-<feature-name>.md, коммитится по завершении работы. В пайплайне самого этого канала переход на нынешний видеодвижок — это спецификация плюс план из четырнадцати задач, который до сих пор можно открыть, упомянуть в новой сессии и достроить. Ничего из сделанного агентами не остаётся вне учёта.
caveman и стиль Concise: говорить меньше
Последний кусок — то, что агент говорит. Агенты повествуют: «конечно», «рад помочь», «проблема, с которой вы столкнулись, вероятно вызвана» — и это выходные токены впустую.
caveman — скилл Юлиуса Бруссе, 102 548 звёзд, заставляющий агента говорить как пещерный человек: выбросить артикли, воду, любезности и оговорки и следовать шаблону [вещь] [действие] [причина]. [следующий шаг]. Код, команды, пути к файлам и точные сообщения об ошибках не трогаются никогда; сокращается только проза вокруг них. Есть три уровня (/caveman lite|full|ultra) и хук SessionStart, включающий скилл при старте.
Его собственная таблица, десять промптов через Claude API: в среднем 1 214 выходных токенов без скилла и 294 с ним — 65 %, лучший случай 87 %, худший 22 %.
Проверку реальностью README делает сам: скилл сокращает только вывод, входные и «рассуждающие» токены не меняются, а его собственные правила стоят около 1–1,5 тыс. входных токенов на каждом ходу. JetBrains измерили его на 82 парных агентных задачах примерно за 106 $ кредитов.
| caveman | Заявлено | Измерено (JetBrains) |
|---|---|---|
| Экономия выходных токенов | 65 % | 8,5 % (592 тыс. → 542 тыс.) |
| Влияние на качество | — | Заметной деградации нет (критерий знаков p=0,82) |
Разрыв структурный: вывод агента — это в основном код и вызовы инструментов, которые caveman справедливо оставляет в покое. Рекомендация JetBrains: «используйте, если нравится. Это забавно и не стоит вам ничего измеримого в качестве».
А с Claude Code v2.1.237 есть встроенный аналог — стиль вывода Concise: Claude «начинает с результата, пропускает вступление и повествование и по умолчанию держит ответы короткими». Выбирается в /config → Output style, сохраняется в .claude/settings.local.json и вступает в силу после /clear или в новой сессии. Общее ограничение у обоих: стили вывода действуют только на основной диалог — субагент работает со своим системным промптом.
Вердикт: что двигает счёт, а что только копейки
Рейтинг по тому, что каждый инструмент реально двигает, и по цене, которую он за это берёт.
| Место | Инструмент | Что двигает | Измеренный эффект | Цена |
|---|---|---|---|---|
| 1 | Superpowers | Историю на задачу + какая модель её читает | Дорогая модель работает на горстке задач вместо всей сессии | Шлагбаум на каждой задаче, даже на однострочной правке |
| 2 | graphify | То, что читает агент | В 91,8 раза меньше токенов на запрос, чем наивное чтение корпуса (наш проект) | Граф устаревает; семантический проход тратит токены |
| 3 | rtk | Байты вывода bash | Потолок ~3 % счёта; +7,6 % на задачу при низком effort в тесте JetBrains | Правило есть лишь у одной shell-команды из трёх |
| 4 | caveman / Concise | Прозу, которую пишет агент | 8,5 % выходных токенов, без потери качества | ~1–1,5 тыс. входных токенов на каждом ходу |
Побеждает Superpowers, и вовсе не из-за какого-либо сжатия: свежий контекст на каждую задачу и самая дешёвая модель, которая справится, меняют то, что читается, и того, кто читает. graphify на втором месте, потому что читать меньше — это большая половина счёта. rtk реален, бесплатен и безвреден, но две трети shell-команд и все чтения файлов проходят мимо него. caveman или стиль Concise, который Claude Code теперь поставляет сам, подрезают самый маленький кусок.
Все четыре бесплатны: graphify и rtk под Apache-2.0, Superpowers под MIT, скилл caveman под MIT. Более 570 000 звёзд говорят, что люди хотят чуда. Честная версия — это рейтинг.
AIDive