Инструкция по сокращению расхода токенов для ИИ

/

/

Инструкция для тех, кто работает с кодовыми AI-агентами (Kimi Code, Claude Code, Codex, Cursor и т.п.) и платит за токены деньгами или лимитами. Все приёмы ниже — проверенные на практике, с измеренным эффектом. Порядок — от самого выгодного к менее значимому.

0. Сначала поймите, куда уходят токены

Главное заблуждение: «токены жрут длинные ответы модели». На практике основной расход — количество раундов «модель ↔ инструменты». В каждом раунде модель заново получает системный промпт, инструкции, каталог инструментов/скиллов и историю диалога. Длинная задача с тысячами мелких вызовов инструментов сжигает во сто раз больше токенов, чем её «видимый» результат.

Отсюда два направления оптимизации:

  1. Уменьшить то, что грузится в каждый раунд.
  2. Уменьшить количество раундов.

1. Ужмите всегда-загружаемые инструкции

Файлы типа AGENTS.md / CLAUDE.md / rules грузятся в каждый запрос. Они имеют свойство разрастаться: туда сваливают все правила подряд «чтобы не забыть».

Что делать:

Эффект: файл можно ужать на 60–70% без потери ни одного правила — экономия на каждом раунде каждой сессии, навсегда.

2. Проверьте каталог скиллов/инструментов на дубли

Если вы синхронизируете скиллы между несколькими агентами или машинами — почти наверняка у вас дубли. Агент может считать две копии одного скилла разными (например, дедупликация по пути файла, а не по имени). Каждый дубль — лишняя запись в каталоге, который грузится в каждый раунд.

Что делать: оставьте одну активную копию каждого скилла, зеркала отключите в конфиге. Проверка: список активных скиллов не должен содержать повторяющихся имён.

3. Не сокращайте описания скиллов вслепую

Интуитивный ход «ужать все описания до 100 символов» обычно бесполезен: агенты показывают в каталоге только первые ~150–300 символов описания, остальное всё равно не грузится. Замер это подтверждает: сокращение описания в 3 раза не изменило размер промпта вообще.

Что реально важно: чтобы в первые 150–300 символов попали название, ключевые триггерные фразы (на всех языках, на которых вы даёте команды) и границы применимости. Это роутинговый индекс — по нему агент выбирает скилл. Тело скилла не трогайте: оно грузится только после выбора и ничего не стоит.

4. Сжимайте вывод shell-команд

Вывод команд — самый недооценённый пожиратель контекста: git status в большом репозитории, ps aux, лог тестов могут отдавать тысячи строк прямо в контекст модели.

Что делать:

5. Объединяйте однотипные скиллы в роутеры

Если у вас много скиллов-близнецов (одинаковая задача для разных объектов: «установи тему A», «установи тему B», …) — каждый из них отдельная запись в каталоге. Десять таких записей ≈ 1–1,5К токенов в каждом раунде впустую.

Что делать — один скилл-роутер:

Функциональность не теряется ни на байт, каталог худеет.

6. Убавьте «глубину размышлений»

Если в настройках агента стоит максимальный thinking/reasoning effort — модель генерирует гору скрытых reasoning-токенов на каждый запрос, и их объём часто превышает сам ответ. Для большинства задач средне-высокого уровня достаточно; максимум оставьте для редких тяжёлых сессий (миграции, продакшен, деньги).

7. Дисциплина раундов (бесплатно, просто правила поведения)

Пропишите в инструкциях агенту:

Это самая дешёвая оптимизация: ноль изменений инфраструктуры, прямой удар по пункту «количество раундов».

8. Защитите удаления от «воскрешения» при синхронизации

Если настройки синхронизируются между машинами/агентами по принципу «новейший выигрывает, ничего не удаляем» — удалённый скилл будет воскресать из копий. Классическое решение из распределённых систем — tombstones: файл со списком удалённого, который синк-скрипт принудительно стирает из всех копий при каждом прогоне. Иначе ваша оптимизация откатится при следующем включении второго устройства.

9. Бэкап перед правкой конфигов — обязательно

При чистке конфигов легко попасть в гонку: ваш скрипт пишет в файл одновременно с самим приложением — итог может быть 0 байт.

Три правила:

  1. Перед правкой — копия: cp config.toml config.toml.bak.$(date +%s).
  2. Писать не «по месту», а во временный файл → проверить парсером → mv.
  3. Проверьте заранее, что у вас есть доступ к резервным копиям системы (например, для снапшотов Time Machine Терминалу нужен «Полный доступ к диску» — выдаётся в настройках приватности, лучше до пожара, а не во время).

Что НЕ сокращать

Итоговая шпаргалка

ПриёмЭффектЦена
Ужать всегда-загружаемые инструкции−60–70% их объёма, на каждом раундеОдин раз
Убрать дубли скиллов−тысячи токенов на раундОдин раз
Сжатие shell-вывода−60–90% на шумных командахОдна утилита
Роутеры вместо скиллов-близнецов−записи каталога навсегдаОдин раз
Reasoning effort ниже максимума−reasoning-токены на каждый запросОдна строка
Дисциплина раундов−самый большой источник расходаТолько правила
Tombstones для удаленийоптимизация не откатываетсяОдин файл

Главная мысль: токены экономятся не героическим сокращением текстов, а устройством системы — что грузится в каждый раунд, как это маршрутизируется и что не даёт старому воскресать. Измеряй → режь структуру → не трогай процессы.

1 1 голос
Рейтинг статьи
«
Подписаться
Уведомить о

0 комментариев
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x