Канал

13 мая 2026 г.

#ЭкономимТокены — используем агентов эффективнее

#ЭкономимТокены — используем агентов эффективнее

В подкасте Саша Шлейко рассказал, что для экономии токенов регулярно очищает контекст. Это важная практика. Я добавил, что стоит учитывать ещё и повторное использование кэша: у большинства LLM-провайдеров кэшированные токены идут со скидкой ~90%, а в некоторых подписочных моделях чтение из кэша вообще не расходует квоту.

Поэтому иногда собрать контекст с нуля заметно дороже, чем продолжить работу в старой сессии.

Как ни странно, на практике стоимость токенов (или размер квоты в подписке) может гораздо меньше влиять на итоговые расходы, чем другие факторы:

1. Качество модели. Модель может быть дороже, но достигать результата меньшим количеством токенов. Пока дешевая делает множество итераций, упуская требования, отлаживая упавшие тесты или по несколько раз дергая тулы, сильная с первого захода решает задачу.
2. Уровень размышлений. Про это недавно был отдельный пост. Если коротко — для простых задач мощным моделям не нужно долго размышлять. Более того, лишние усилия в обдумывании могут только запутать. Попробуйте отключить размышления, когда план уже сформирован.
3. Agentic harness — та самая обвязка (Claude Code, Cursor, pi и т.д.). Именно на этом уровне решается, что и каким образом попадает в контекст. Сравните, например, cat и tail для файла с логами на 100 МБ. Здесь же решается, когда сработает компактизация, а главное — насколько стабильным окажется кэш (об этом иллюстрация к посту).

Длинная сессия может как жечь, так и экономить токены
При разработке основная часть расходов — это не ответ модели, а отправляемый в нее контекст. Интуитивно кажется, что если сидеть в одной длинной сессии, то префикс из системных инструкций, правил, описаний тулов и MCP-серверов, а главное — нужных файлов уже в кэше и новая задача будет почти бесплатной.

Иногда это действительно так, но не всегда.

Префикс действительно идет с огромной скидкой или бесплатно. Но в контекстном окне накапливается мусор от прежних обсуждений, закэшированные файлы протухают по мере их изменения агентом и так далее. В итоге модель начинает тупить, а некоторые провайдеры тарифицируют длинный контекст ощутимо дороже.

Поэтому оптимальный подход: одна сессия на несколько связанных задач, когда затрагивается общий набор файлов (добавить фичу, поправить тесты, обновить доку, досыпать логирование), затем либо компактизация и передача состояния в новую сессию, если продолжаем работать в той же области, либо полностью чистая сессия.

Но все это имеет смысл, если обвязка сохраняет стабильный повторяющийся префикс от запроса к запросу.

Если где-то в рулах / скиллах или описании подключенных серверов есть динамические части (текущий timestamp, временные пути, меняющийся список файлов или актуальные логи), то вы буквально платите кратно больше за каждый запрос. И речь не только про запросы, которые вы отправляете в чате, весь префикс гоняется при каждом новом запросе агента: чтении файла, планировании следующего шага, запуске инструмента, проверке результата.

Если в этом разрезе сравнить разные обвязки (с поправкой на то, что они меняются каждый день):
* Cursor старается локально угадать, что потребуется модели для работы. Как следствие может сильно сэкономить, но просадить качество, если не угадал — модель не получит критически важную информацию, а вы про это даже не узнаете
* Claude Code на мой взгляд одна из самых прожорливых обвязок на текущий момент: большой базовый промпт, куча всего тащит в модель, но предоставляет удобные инструменты для управления содержанием контекстного окна
* Codex на моих задачах выглядит эффективнее Claude Code, но в целом достаточно похож
* pi — супер-минималистичный базовый промпт и при желании позволяет практически вручную управлять всем, что попадет в сессию
* Antigravity максимально скрывает от пользователя состояние контекста.

Сравнивать расход токенов только по модели не учитывая обвязку — примерно как сравнивать моторы, игнорируя коробку, колеса и подвеску. На расход топлива влияет вся машина.

@devspotting