Track
Если вы когда-либо достигали лимита токенов в своём плане для ИИ-кодинга всего после нескольких запросов, вы, вероятно, задавались вопросом, куда они все делись.
Вы просите агента исправить баг, отрефакторить функцию или изучить репозиторий — и внезапно большая часть вашего лимита исчерпана.
Это не обязательно проблема вашего провайдера или подписки.
Кодирующие агенты ИИ просто гораздо более токенозатратны, чем обычные чат-боты. Они не просто отвечают на ваш промпт. Они могут читать несколько файлов, искать по коду, изучать логи, запускать тесты, вызывать инструменты, генерировать код, проверять собственные изменения и повторять этот процесс несколько раз, прежде чем завершить задачу.
Хорошая новость — значительную часть этого лишнего расхода токенов можно сократить.
Есть инструменты, которые делают ответы агентов менее многословными, предотвращают переинжиниринг простых задач, сжимают шумный вывод терминала и не дают большим ответам инструментов переполнять контекстное окно.
В этом руководстве мы рассмотрим четыре инструмента для сокращения расхода токенов у ИИ-кодирующих агентов: Caveman, Ponytail, RTK и Context Mode.
Мы увидим, что делает каждый из них, как их настроить и как комбинировать, чтобы успевать больше с подписками вроде Claude Code и Codex до того, как упрётесь в лимиты.
Почему агентные рабочие процессы потребляют столько токенов?
Обычный чат-бот может принять один промпт и вернуть один ответ. Агент обычно делает куда больше.
Он может читать файлы, вызывать инструменты, изучать логи, извлекать документы, писать код и несколько раз повторять этот процесс перед завершением.
Каждый шаг добавляет больше информации в контекст, и значительная часть этого контекста может снова отправляться в модель на последующих шагах.
Упрощённый цикл агента выглядит так:

Запрос уходит в модель, модель вызывает инструмент, инструмент возвращает вывод, и этот вывод добавляется обратно в контекст перед следующим шагом. Обратная стрелка — это и есть стоимость: каждый проход тащит вперёд предыдущие результаты, поэтому задача с шестью вызовами инструментов отправляет большую часть этой истории модели шесть раз.
Это создаёт несколько типичных источников потерь токенов:
- Многословные ответы: агент излишне подробно всё объясняет там, где хватило бы короткого ответа.
- Переинжиниринг кода: маленькая задача превращается в дополнительные файлы, абстракции и зависимости.
- Большие ответы инструментов: логи, тесты, Git-диффы и команды терминала могут возвращать тысячи токенов.
- Слишком много контекста: извлечённые документы, описания инструментов и прошлые результаты быстро заполняют контекстное окно.
- Долгие сессии: чем дольше работает агент, тем больше истории и промежуточных результатов он носит с собой.
Поэтому настоящая задача не только в том, сколько токенов агент генерирует, но и сколько он их читает, переносит и обрабатывает повторно по мере выполнения процесса.
Именно это и призваны сокращать инструменты вроде Caveman, Ponytail, RTK и Context Mode — каждый бьёт по своему источнику потерь токенов.
1. Caveman: заставьте агента говорить короче
Caveman — простой способ сделать ответы кодирующих агентов более лаконичными.
Вместо того чтобы позволять агенту комментировать каждый шаг, повторять очевидное или добавлять «воду», он направляет ответы к действительно важной информации.

Особенно полезен при долгих сессиях кодинга, где многословие увеличивает не только выходные токены.
Такие ответы попадают в историю диалога и переносятся в последующие ходы.
Как работает Caveman
У Caveman две отдельные части.
Навык Caveman меняет стиль письма агента.
Он убирает «воду», любезности, уходы от ответственности и лишнюю «озвучку» шагов, при этом оставляя нетронутыми важные детали — блоки кода, команды, имена API и точные сообщения об ошибках.
Также он смягчает лаконичный стиль там, где критична ясность — например, в вопросах безопасности или необратимых действий.
Есть и опциональный локальный прокси, который решает другую сторону проблемы — что агент читает.
Он располагается между кодирующим агентом и провайдером модели и сжимает подходящий контекст перед отправкой запроса.
Навык и прокси работают независимо, поэтому можно начать с лёгкого навыка и добавить прокси позже, если потребуется более агрессивное сокращение контекста.
Простая логика показана на схеме ниже:

Слева агент оборачивает код прелюдией и затем снова объясняет тот же код. Справа — полезный ответ и код, и ничего лишнего. Та же работа, но гораздо меньше токенов на «закадровый голос».
Как начать работу с Caveman
Самый простой способ установить навык:
npx skills add JuliusBrussee/caveman
Затем активируйте его в вашем кодирующем агенте командой:
/caveman

Вернуться к обычным ответам можно так:
/caveman off
Caveman также предлагает нативные варианты установки для таких инструментов, как Claude Code, Codex, Gemini CLI, Cursor и OpenCode.
Если вы хотите сократить и контекст, отправляемый модели, установите CLI:
npm install -g @caveman-ai/cli
caveman setup --install
Затем запустите поддерживаемого агента через него, например:
caveman claude
Это запускает локальный прокси Caveman и направляет агента через слой сжатия контекста.
Большинству пользователей я бы рекомендовал начать с навыка.
Его легко добавить, он не меняет ваш обычный процесс разработки и напрямую устраняет один из самых простых источников потерь токенов: агент говорит больше, чем нужно.
2. Ponytail: остановите переинжиниринг у вашего агента
Ponytail решает другой вид потерь токенов: когда кодирующие агенты пишут больше кода, чем требует задача.

Простой запрос иногда оборачивается новыми зависимостями, вспомогательными классами, обёрточными компонентами и лишней конфигурацией.
Ponytail старается предотвратить это, подталкивая агента сначала к наименьшему разумному решению.
Как работает Ponytail
Перед тем как писать код, Ponytail заставляет агента пройти по простой «лестнице решений»:

Каждая ступень дает агенту шанс остановиться, прежде чем писать что-то новое. До нижней ступени — написания минимально работоспособного кода — он доходит только после того, как исключит стандартную библиотеку, нативные возможности платформы и уже подключённые зависимости.
Например, вместо установки библиотеки для выбора даты и создания обёрточного компонента Ponytail может решить, что в браузере уже есть:
<input type="date">
Цель — не бездумно всё укорачивать.
Ponytail намеренно не трогает валидацию, безопасность, доступность и защиту от потери данных.
Он должен быть ленивым в реализации, но не небрежным в корректности.
В собственном бенчмарке агента Ponytail дал примерно на 54% меньше кода и на 22% меньше токенов по 12 задачам по сравнению с тем же агентом без навыка.
Независимый бенчмарк тоже показал существенно более компактные реализации, хотя отметил, что слишком агрессивные настройки иногда могут снижать устойчивость на неоговорённых крайних случаях.
Как начать работу с Ponytail
Для Claude Code добавьте маркетплейс:
/plugin marketplace add DietrichGebert/ponytail
Затем установите Ponytail:
/plugin install ponytail@ponytail
Отправляйте это двумя отдельными командами.
После установки можно регулировать степень упрощения:
/ponytail lite
/ponytail full
/ponytail ultra
/ponytail off
full — настройка по умолчанию и, вероятно, лучший старт. lite по-прежнему делает то, что вы просите, но указывает на более простые альтернативы, а ultra гораздо агрессивнее применяет принцип YAGNI.
Можно также проверить уже внесённые изменения на лишнюю сложность:
/ponytail-review
Или просканировать большой кодовый базис:
/ponytail-audit

Ponytail особенно хорошо работает с кодирующими агентами, потому что сокращение лишнего кода имеет накопительный эффект: агент сейчас пишет меньше токенов, создаёт более компактные диффы и оставляет себе меньше кода для повторного чтения позже.
3. RTK: урежьте шумный вывод инструментов
RTK, расшифровывается как Rust Token Killer, нацелен на другой источник потерь токенов: всё, что кодирующий агент получает из терминала.

Команды вроде git status, запуски тестов, логи, поиски и вывод менеджеров пакетов могут возвращать сотни и тысячи строк.
Большая часть этой информации полезна человеку в терминале, но агенту часто нужны только важные части.
RTK становится между командой и агентом и сжимает вывод до того, как его увидит модель.
Как работает RTK
RTK использует специфичные для команд фильтры, группировку, усечение и дедупликацию, чтобы убрать шум и сохранить полезную информацию — ошибки, провалы, изменённые файлы и сводки.
Например:

В обычном потоке агент запускает pytest и читает каждую выведенную строку, большинство из которых — проходящие тесты, которые ему не нужны. С RTK посередине тот же запуск возвращается как список падений плюс сводка, и агент читает несколько десятков строк вместо нескольких сотен.
В поддерживаемых кодирующих агентах RTK может автоматически подхватывать shell-вызовы. Такая команда, как:
git status
может быть за кулисами переписана в:
rtk git status
Агент получит уменьшенный вывод, не запрашивая RTK явно каждый раз.
RTK сообщает о 60–90% меньшем расходе токенов на вывод команд для распространённых команд разработки. Это не означает, что ваш общий счёт за LLM упадёт на 60–90%; речь только о терминальном выводе, который сжимает RTK.
Как начать работу с RTK
В macOS или Linux можно установить через Homebrew:
brew install rtk-ai/tap/rtk
Или воспользоваться установочным скриптом:
curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/master/install.sh | sh
Затем проверьте, что установлен правильный RTK:
rtk --versionrtk gain
Команда rtk gain показывает панель экономии токенов. Это полезная проверка, поскольку другое неродственное ПО тоже использует имя rtk.
Для Claude Code инициализируйте RTK глобально:
rtk init -g
Для Codex:
rtk init -g --codex
А для Gemini CLI:
rtk init -g --gemini
RTK также поддерживает Cursor, OpenCode, Copilot, Cline, Windsurf и ряд других кодирующих агентов.

После настройки вы можете продолжать использовать обычные команды терминала.
RTK обрабатывает сжатие в фоне, что особенно полезно агентам, которые много запускают тесты, ищут по коду, просматривают Git-изменения и читают логи.
4. Context Mode: не пускайте большие ответы инструментов в контекст
Context Mode фокусируется на том, что происходит после того, как агент начинает использовать инструменты.

Снимок браузера, список задач на GitHub, поиск по файлам или большой вывод команды могут вывалить огромный объём информации прямо в контекстное окно.
Ещё хуже — эта информация затем может переноситься в следующие ходы.
Context Mode старается этого избежать, удерживая громоздкие сырые данные вне активного контекста LLM и возвращая только те части, которые агенту действительно нужны.
Как работает Context Mode
Context Mode работает как сервер MCP и предоставляет изолированные инструменты для операций, которые обычно генерируют большие выводы.

Сырые данные можно хранить локально в поисковом индексе на FTS5, чтобы агент мог искать по ним позже, не сливая весь результат обратно в разговор.
В одном из примеров проекта 315 КБ сырого вывода инструментов были сокращены до 5,4 КБ контекста — это сокращение на 98%.
Это пример из собственной нагрузки проекта, а не гарантия для каждого вызова инструмента.
Как начать работу с Context Mode
Для Claude Code самый простой способ — через маркетплейс плагинов:
/plugin marketplace add mksglu/context-mode
/plugin install context-mode@context-mode
Перезапустите Claude Code и проверьте установку командой:
/context-mode:ctx-doctor

«Доктор» проверит, что плагин, хуки, рантаймы и локальные компоненты поиска работают корректно.
Можно также установить Context Mode глобально:
npm install -g context-mode
и зарегистрировать его как MCP-сервер в поддерживаемых клиентах — Cursor, Gemini CLI, GitHub Copilot CLI, JetBrains и др.
После запуска можно смотреть статистику экономии контекста с помощью встроенных инструментов.
Context Mode особенно полезен для долгих и инструментально насыщенных агентов, где результаты браузера, логи, чтение файлов, ответы MCP и другие промежуточные данные иначе будут постоянно забивать контекстное окно.
Сравнение четырёх инструментов экономии токенов
Эти четыре инструмента нацелены на разные части рабочего процесса кодирующего агента — от того, что агент пишет, до объёма вывода инструментов, который он несёт в контексте.
|
Инструмент |
Основная проблема |
Что сокращает |
Лучше всего подходит для |
Результат по данным проекта |
|
Caveman |
Многословные ответы агента |
Выход агента и, с опциональным прокси, повторяющийся входной контекст |
Кодирующие агенты, которые слишком много «разговаривают» |
До 65% меньше выходных токенов в его бенчмарке навыка |
|
Ponytail |
Переинжиниринговые решения |
Лишний код, абстракции и сопутствующую работу агента |
Кодирующие агенты, генерирующие больше кода, чем нужно |
На 54% меньше кода и на 22% меньше токенов в его бенчмарке |
|
RTK |
Шумный вывод терминала |
Команды оболочки, вывод Git, тесты, логи и поиски |
CLI-ориентированные рабочие процессы кодирующих агентов |
На 60–90% меньше токенов на вывод команд в поддерживаемых командах |
|
Context Mode |
Загрязнение контекста |
Попадание больших выводов MCP и инструментов в активный контекст |
Долгие и инструментально насыщенные кодирующие агенты |
315 KB → 5.4 KB, или на 98% меньше контекста, в задокументированном примере |
Проще всего запомнить так:
- Caveman сокращает то, что агент говорит
- Ponytail сокращает то, что он строит
- RTK сокращает то, что возвращает терминал
- Context Mode сокращает то, что остаётся в контексте из результатов инструментов.
Можно ли использовать эти инструменты вместе?
Да, но я бы не стал включать всё сразу.
Лучше начать с Ponytail.
Его легко подключить к кодирующим агентам, и для многих процессов уже достаточно сократить лишний код. Я использую его с такими инструментами, как Zcode, Claude Code и Codex, и доволен получаемым сокращением.
Если хотите пойти дальше, попробуйте Ponytail + Caveman. Ponytail уменьшает лишний код, а Caveman — лишние объяснения, так что они хорошо дополняют друг друга.

Если ваш процесс всё ещё генерирует много «тяжёлого» по токенам вывода из тестов, логов, Git или терминальных команд, попробуйте Ponytail + Caveman + RTK.
Если RTK не подходит вашему процессу, особенно если вы много используете MCP-инструменты, браузерные инструменты, API или другие большие выводы инструментов, попробуйте Ponytail + Caveman + Context Mode.
Идеальной универсальной комбинации не существует.
Цель — поэкспериментировать и найти настройку, дающую меньший расход токенов без ухудшения работы вашего кодирующего агента. Кому-то хватит одного Ponytail, а кому-то лучше подойдут две-три из этих утилит вместе.
Другие способы снизить расход токенов и стоимость
Не всегда нужен новый инструмент.
В Claude Code уже есть несколько функций, которые помогают держать контекст меньше и не тратить лишнего.
Отключайте память, когда она не нужна
Claude Code может автоматически сохранять и подгружать воспоминания из предыдущих сессий. Для коротких или изолированных задач это может добавлять ненужный контекст.
Запустите:
/memory
Там вы можете отключить авто‑память или удалить больше не нужную информацию.
Компактуйте длинные сессии
По мере роста сессии Claude тащит историю разговора, содержимое файлов и вывод инструментов. Claude Code компактует автоматически, но вы можете запустить это раньше:
/compact
Можно также указать, что важно:
/compact keep the implementation plan and latest test results
Это особенно полезно, когда вы завершили один этап задачи, но хотите продолжить в той же сессии.
Начинайте заново, когда задача меняется
Иногда компактация не оправдывает себя. Если переходите к совсем другой задаче, выполните:
/clear
Это начнёт пустой контекст разговора вместо переноса нерелевантной работы. Anthropic также отмечает, что чистый старт иногда лучше, чем многократная компактация длинной сессии.
Отключайте неиспользуемые MCP‑серверы
Инструменты MCP тоже расходуют контекст. Claude Code теперь по умолчанию откладывает полные схемы MCP-инструментов, но неиспользуемые серверы всё равно могут создавать накладные расходы.
Используйте: /mcp, чтобы просмотреть подключённые серверы и отключить те, которые сейчас не нужны.
Также запустите /context, чтобы увидеть, сколько места занимают разные части сессии.
Держите CLAUDE.md компактным
CLAUDE.md загружается в контекст Claude, поэтому не превращайте его в огромное руководство по проекту.
Оставляйте только те инструкции, которые действительно нужны Claude в разных задачах: важные соглашения, команды и правила проекта.
Используйте /context, чтобы проверить, сколько места занимают файлы с инструкциями и памятью. Для инструкций, актуальных лишь для отдельных папок, Claude Code поддерживает более точечные правила, вместо того чтобы складывать всё в основной CLAUDE.md.
Используйте более дешёвую модель для простых задач
Скорее всего, для каждого правки не нужна самая дорогая модель.
Документация Claude Code рекомендует Sonnet для большинства задач по кодингу и оставлять Opus для более сложной архитектурной или рассудочной работы.
Переключиться можно командой:
/model
Для простых задач подагентов их также можно настроить на использование Haiku.
Заключение
Одна из лучших сторон этих инструментов — минимальные усилия после настройки.
В зависимости от инструмента вам необязательно запоминать слэш-команду или вручную активировать его для каждой задачи.
Ponytail направляет агента к более простым реализациям, Caveman держит ответы краткими, RTK сжимает вывод терминала, а Context Mode не даёт большим результатам инструментов заливать активный контекст.
После конфигурации большая часть оптимизации происходит как часть обычного процесса разработки.
Эффект часто заметен в сводке прогонов агента, сгенерированном коде, выводе терминала или статистике контекста.
Агент выполняет ту же работу, но с меньшим объёмом лишнего кода, меньшей «озвучкой», более компактными ответами инструментов и меньшим переносом информации с шага на шаг.
И главное — эти инструменты можно сочетать.
Однако одновременное включение всех четырёх не гарантирует минимально возможный расход токенов. Они нацелены на разные участки агентного процесса кодирования, и польза сильно зависит от вашего агента, модели, репозитория и типов задач.
Рекомендуем поэкспериментировать с ними в своей среде. Начните с одного инструмента, измерьте разницу, затем добавляйте следующий, если видите очевидные источники потерь токенов.
Возможно, одного инструмента вам хватит, а в другой конфигурации лучше сработает связка из двух-трёх.
Лично я использую Ponytail в большинстве рабочих процессов кодинга — его просто настроить, и кодирующий агент быстро понимает, как с ним работать.
Чаще всего — с Zcode от Z.ai: он помогает держать реализации сфокусированными без изменения привычного способа промптинга.
В конечном счёте сокращение расхода токенов — это не про то, чтобы агент делал меньше полезной работы. Это про устранение «шума» вокруг неё.
Попробуйте Caveman, Ponytail, RTK и Context Mode по отдельности и в разных сочетаниях, измерьте изменения в своём процессе и оставьте тот набор, который даст лучший баланс между расходом токенов, качеством кода и эффективностью агента.
Чтобы глубже понять, как работают ИИ‑агенты, рекомендуем изучить трек навыков «AI Agent Fundamentals».
FAQs
Что такое кеширование промптов (Prompt Caching) и снижает ли оно стоимость токенов для кодирующих агентов?
Кеширование промптов — это нативная функция API (доступна в моделях вроде Claude, Sonnet и Gemini Pro), которая временно сохраняет часто используемый контекст — системные инструкции, документацию по API, структуру репозитория. Вместо повторной обработки всей кодовой базы на каждом витке агентного цикла модель переиспользует закешированный контекст. Это может снизить стоимость входных токенов до 90% и значительно ускорить ответы в долгих сессиях разработки.
Почему выходные токены значительно дороже входных?
Если посмотреть цены API для LLM, выходные токены обычно стоят в 3–5 раз дороже входных. Чтение входного контекста хорошо распараллеливается и вычислительно дешевле для модели. Генерация вывода — последовательна: модель должна выполнить полный прямой проход, чтобы предсказать и сгенерировать каждый отдельный токен. Инструменты, которые пресекают запись лишнего кода или многословных объяснений, напрямую сокращают эту самую дорогую по вычислениям генерацию.
Чем лимиты токенов в фиксированных подписках отличаются от использования API?
Фиксированные подписки на ИИ-кодинг (как Cursor Pro или GitHub Copilot) обычно дают месячный лимит запросов к «быстрым» или премиальным моделям. Поскольку агентные процессы делают несколько циклов на один ваш промпт, чтобы читать файлы и запускать тесты, один ваш запрос может потреблять 10–20 агентных запросов в фоне и быстро исчерпать месячный лимит. Биллинг по API (собственный ключ) снимает потолок запросов и считает строго по токенам, поэтому инструменты снижения токенов критичны, чтобы не получить неожиданные расходы.
Скрывает ли фильтрация логов терминала и контекста инструментов баги от ИИ?
Может — если применять слишком агрессивно. Инструменты, которые усекaют шум терминала или ограничивают контекст инструментов, полагаются на сжатие с потерями. Если агент исследует глубоко вложенную ошибку, слишком жёсткая фильтрация может убрать ту самую строку стека, скрытое предупреждение о зависимости или «тихий» код сбоя, который нужен для диагностики корня проблемы. Чтобы этого избежать, сжатие контекста стоит сильно применять к заведомо шумным выводам (например, установки менеджера пакетов), а для прямой отладки ошибок оставлять сырой вывод.