Инструкция для тех, кто работает с кодовыми AI-агентами (Kimi Code, Claude Code, Codex, Cursor и т.п.) и платит за токены деньгами или лимитами. Все приёмы ниже — проверенные на практике, с измеренным эффектом. Порядок — от самого выгодного к менее значимому.
0. Сначала поймите, куда уходят токены
Главное заблуждение: «токены жрут длинные ответы модели». На практике основной расход — количество раундов «модель ↔ инструменты». В каждом раунде модель заново получает системный промпт, инструкции, каталог инструментов/скиллов и историю диалога. Длинная задача с тысячами мелких вызовов инструментов сжигает во сто раз больше токенов, чем её «видимый» результат.
Отсюда два направления оптимизации:
- Уменьшить то, что грузится в каждый раунд.
- Уменьшить количество раундов.
1. Ужмите всегда-загружаемые инструкции
Файлы типа AGENTS.md / CLAUDE.md / rules грузятся в каждый запрос. Они имеют свойство разрастаться: туда сваливают все правила подряд «чтобы не забыть».
Что делать:
- Оставьте в основном файле только универсальные правила и «роутеры» вида «перед задачей типа X — прочти раздел Y справочника».
- Всё остальное перенесите в справочники, которые агент открывает по требованию.
Эффект: файл можно ужать на 60–70% без потери ни одного правила — экономия на каждом раунде каждой сессии, навсегда.
2. Проверьте каталог скиллов/инструментов на дубли
Если вы синхронизируете скиллы между несколькими агентами или машинами — почти наверняка у вас дубли. Агент может считать две копии одного скилла разными (например, дедупликация по пути файла, а не по имени). Каждый дубль — лишняя запись в каталоге, который грузится в каждый раунд.
Что делать: оставьте одну активную копию каждого скилла, зеркала отключите в конфиге. Проверка: список активных скиллов не должен содержать повторяющихся имён.
3. Не сокращайте описания скиллов вслепую
Интуитивный ход «ужать все описания до 100 символов» обычно бесполезен: агенты показывают в каталоге только первые ~150–300 символов описания, остальное всё равно не грузится. Замер это подтверждает: сокращение описания в 3 раза не изменило размер промпта вообще.
Что реально важно: чтобы в первые 150–300 символов попали название, ключевые триггерные фразы (на всех языках, на которых вы даёте команды) и границы применимости. Это роутинговый индекс — по нему агент выбирает скилл. Тело скилла не трогайте: оно грузится только после выбора и ничего не стоит.
4. Сжимайте вывод shell-команд
Вывод команд — самый недооценённый пожиратель контекста: git status в большом репозитории, ps aux, лог тестов могут отдавать тысячи строк прямо в контекст модели.
Что делать:
- Используйте сжимающие прокладки (например, RTK — Rust Token Killer): измеренная экономия 60–90% на «болтливых» командах.
- Если агент не поддерживает автоматические хуки для этого — пропишите привычку инструкцией («префиксируй шумные команды»), это работает.
- Просите агента показывать счётчики и ошибки, а не полные списки; полные логи — в файлы, в контекст — только итог.
5. Объединяйте однотипные скиллы в роутеры
Если у вас много скиллов-близнецов (одинаковая задача для разных объектов: «установи тему A», «установи тему B», …) — каждый из них отдельная запись в каталоге. Десять таких записей ≈ 1–1,5К токенов в каждом раунде впустую.
Что делать — один скилл-роутер:
- В описании (в первых 300 символах) перечислены все варианты — они остаются триггерами маршрутизации.
- В теле — общие правила и таблица «вариант → подробный плейбук».
- Подробные плейбуки лежат отдельными файлами рядом и грузятся только после выбора.
Функциональность не теряется ни на байт, каталог худеет.
6. Убавьте «глубину размышлений»
Если в настройках агента стоит максимальный thinking/reasoning effort — модель генерирует гору скрытых reasoning-токенов на каждый запрос, и их объём часто превышает сам ответ. Для большинства задач средне-высокого уровня достаточно; максимум оставьте для редких тяжёлых сессий (миграции, продакшен, деньги).
7. Дисциплина раундов (бесплатно, просто правила поведения)
Пропишите в инструкциях агенту:
- Независимые чтения/проверки — батчить в один раунд, а не по одному.
- Не опрашивать неизменное состояние повторными раундами (не «поллить»).
- Не повторять проверку, если не изменились ни код, ни окружение, ни входные данные — переиспользовать уже полученное доказательство.
- Не плодить сабагентов и чаты «для галочки»: новая роль оправдана, только если у неё своё независимое решение, а не повторение тех же чтений.
Это самая дешёвая оптимизация: ноль изменений инфраструктуры, прямой удар по пункту «количество раундов».
8. Защитите удаления от «воскрешения» при синхронизации
Если настройки синхронизируются между машинами/агентами по принципу «новейший выигрывает, ничего не удаляем» — удалённый скилл будет воскресать из копий. Классическое решение из распределённых систем — tombstones: файл со списком удалённого, который синк-скрипт принудительно стирает из всех копий при каждом прогоне. Иначе ваша оптимизация откатится при следующем включении второго устройства.
9. Бэкап перед правкой конфигов — обязательно
При чистке конфигов легко попасть в гонку: ваш скрипт пишет в файл одновременно с самим приложением — итог может быть 0 байт.
Три правила:
- Перед правкой — копия:
cp config.toml config.toml.bak.$(date +%s). - Писать не «по месту», а во временный файл → проверить парсером →
mv. - Проверьте заранее, что у вас есть доступ к резервным копиям системы (например, для снапшотов Time Machine Терминалу нужен «Полный доступ к диску» — выдаётся в настройках приватности, лучше до пожара, а не во время).
Что НЕ сокращать
- Обязательные проверки безопасности: шаги, защищающие деньги, данные, продакшен. Экономия, которая режет процессы, — это будущий инцидент, а не экономия.
- Тела скиллов и справочники — они не грузятся сами по себе.
- Описания скиллов «под линейку» — см. пункт 3.
Итоговая шпаргалка
| Приём | Эффект | Цена |
|---|---|---|
| Ужать всегда-загружаемые инструкции | −60–70% их объёма, на каждом раунде | Один раз |
| Убрать дубли скиллов | −тысячи токенов на раунд | Один раз |
| Сжатие shell-вывода | −60–90% на шумных командах | Одна утилита |
| Роутеры вместо скиллов-близнецов | −записи каталога навсегда | Один раз |
| Reasoning effort ниже максимума | −reasoning-токены на каждый запрос | Одна строка |
| Дисциплина раундов | −самый большой источник расхода | Только правила |
| Tombstones для удалений | оптимизация не откатывается | Один файл |
Главная мысль: токены экономятся не героическим сокращением текстов, а устройством системы — что грузится в каждый раунд, как это маршрутизируется и что не даёт старому воскресать. Измеряй → режь структуру → не трогай процессы.


















