Один пользователь Claude пишет, что потратил больше миллиарда входных токенов. Другой оставил AI-агента без присмотра и насчитал около $6000 расходов. Цифры из Reddit стоит воспринимать осторожно, но проблема за ними реальная: длинный контекст обходится дороже, а иногда ещё и мешает модели нормально работать.

В мае на Reddit появился пост с довольно специфическим достижением. Его автор утверждает, что прогнал через Claude 1 156 308 524 входных токена, после чего решил поделиться тем, где именно они сгорели и какие привычки пришлось менять.
Чуть раньше там же появилась история болезненнее. Пользователь Claude Code настроил команду, которая каждые 30 минут проверяла открытые pull request, и забыл её остановить. За 26 часов цикл выполнился 46 раз. По его подсчётам, две разросшиеся сессии вместе обошлись примерно в $6000.
К самой сумме я бы относился осторожно. Это рассказ пользователя Reddit, а не подтверждённый биллинг Anthropic. Но техническая причина, которую он обнаружил в логах, заслуживает внимания. К концу одной из сессий автор оценивал накопленный контекст примерно в 800 тысяч токенов, и каждая следующая итерация снова работала с этой разросшейся историей.
Для человека новый запрос мог выглядеть примерно так:
Проверь PR ещё раз.
Для модели за этими четырьмя словами может стоять куда больше: предыдущая переписка, инструкции, куски кода, результаты инструментов, прошлые решения и только потом свежая команда.
Именно здесь токены перестают быть странной единицей из API-документации.
Короткое сообщение не всегда означает короткий запрос
Токен можно грубо представить как кусочек текста, с которым работает языковая модель. Это не обязательно целое слово. Точный разбор зависит от модели, языка и токенизатора. Anthropic для английского приводит лишь очень приблизительный ориентир: один токен в среднем соответствует примерно четырём символам или 0,75 слова.
Для нашей истории важнее другое.
При работе через API отдельно учитываются входные токены, которые модель получает, и выходные, которые она генерирует. Причём вход состоит далеко не только из последней реплики пользователя.
В стандартном многоходовом запросе Claude в контекст могут попадать предыдущие сообщения, системный промпт, результаты вызова инструментов, изображения, документы и описания самих tools. В документации Anthropic прямо показано, что история постепенно накапливается и становится входом для следующего хода. Чат-интерфейсы при этом могут дополнительно управлять историей, поэтому эту механику не стоит превращать в универсальное правило для абсолютно любого AI-сервиса.
Представим обычную рабочую сессию.
Сначала я отправляю код и прошу найти ошибку. Потом уточняю требования. Модель предлагает три решения. Одно отбрасываем, второе переписываем, третье тестируем. Появляется лог ошибки, ещё два файла и несколько промежуточных выводов.
Через час я пишу:
Исправь второй вариант.
Со стороны пользователя новый запрос смешной по размеру. Но понятие «второй вариант» существует только внутри предыдущего разговора. Модели нужен контекст, чтобы вообще понять, о чём речь.
И чем больше этот контекст, тем больше токенов приходится обрабатывать.
Anthropic прямо предупреждает об этом в документации Claude Code: расход растёт вместе с размером контекста. Там же рекомендуют очищать историю при переходе к несвязанной задаче и использовать compaction, то есть сжатие накопленного разговора.
Поэтому любимый чат «для всего проекта, чтобы нейросеть ничего не забыла» иногда оказывается довольно дорогой формой памяти.
Контекстное окно большое. Забивать его до потолка всё равно не обязательно
Контекстное окно можно считать рабочей памятью LLM: это объём информации, на который модель может опираться при создании ответа.
Сейчас размеры уже впечатляющие. У ряда актуальных моделей Claude контекстное окно в API достигает 1 млн токенов.
На первый взгляд проблема решена.
Раз помещается миллион токенов, можно загрузить документацию, кодовую базу, историю проекта, пару отчётов, переписку команды и ещё три PDF на всякий случай.
Пусть модель знает всё.
Но способность вместить информацию и способность одинаково хорошо ею воспользоваться оказались разными вещами.
И вот здесь история становится интереснее простой экономии токенов.
Чем больше модель знает, тем сложнее ей иногда найти нужное
В 2025 году команда Chroma опубликовала исследование Context Rot: How Increasing Input Tokens Impacts LLM Performance.
Авторы проверяли модели на задачах с разной длиной входного контекста и старались отделить собственно увеличение объёма текста от усложнения задачи. Вывод получился неприятным для простой формулы «больше контекста = лучше»: во всех сериях экспериментов производительность моделей ухудшалась с ростом входа, хотя масштаб и характер деградации различались.
Особенно интересны так называемые distractors. Это информация, тематически похожая на нужную, но не содержащая правильного ответа. Chroma обнаружила, что такие отвлекающие фрагменты влияют на модели по-разному, а с увеличением контекста эффект становится заметнее.
Отсюда и термин context rot. По-русски я бы называл его деградацией работы на длинном контексте, потому что буквальное «гниение контекста» звучит так, будто PDF слишком долго пролежал в холодильнике.
Самое неприятное здесь вот что.
Модель ничего формально не забыла. Нужный факт всё ещё находится внутри допустимого окна. Но теперь его приходится находить среди гораздо большего количества материала и правильно связывать с вопросом.
Если нужная информация лежит в папке с десятью документами, искать относительно легко. Если те же десять документов положить на склад с двадцатью тысячами похожих папок, информация никуда не денется.
Просто задача станет другой.
«Я же загрузил ей всю документацию»
После публикации Chroma похожий опыт начали обсуждать на Hacker News. Разработчики писали, что длинные сессии в coding-ассистентах со временем могут становиться менее стабильными, а очистка или сворачивание контекста между отдельными этапами иногда даёт лучший результат. Это пользовательские наблюдения, а не лабораторный эксперимент, но они хорошо рифмуются с результатами Chroma.
Тема не закончилась на одном исследовании.
В июне 2026 года появилась работа Diagnosing and Mitigating Context Rot in Long-horizon Search. Авторы протестировали четыре модели на трёх бенчмарках и обнаружили эффект, который назвали premature termination: при большом контексте модели чаще преждевременно прекращали поиск или выдавали неуверенный неправильный ответ, хотя до физического лимита контекстного окна было ещё далеко. Частота таких случаев росла вместе с длиной контекста.
Получилась занятная инженерная петля.
Несколько лет разработчики увеличивали память моделей.
Теперь отдельная дисциплина занимается тем, как не заставлять эту память хранить всё подряд.
Причём сама Anthropic сегодня прямо пишет в документации: увеличение контекстного окна позволяет решать более длинные задачи, но больше контекста автоматически не означает лучший результат. По мере роста числа токенов могут падать точность и способность извлекать нужную информацию.
А prompt caching нас не спасёт?
От части расходов, да.
От плохого контекста, нет.
Если большой системный промпт, документацию или историю приходится использовать много раз, постоянно обрабатывать один и тот же префикс по полной цене было бы расточительно. Для этого существует prompt caching.
У Anthropic при попадании в кэш повторно используемые входные токены сейчас стоят 0,1 от базовой цены обычного input. Запись в стандартный пятиминутный кэш тарифицируется с коэффициентом 1,25, а часовой вариант с коэффициентом 2. По умолчанию запись живёт пять минут и обновляется при использовании.
На длинных повторяющихся запросах разница может быть существенной.
Но тут легко смешать две разные задачи.
Prompt caching позволяет дешевле повторно использовать один и тот же контекст. Он не решает за вас, нужен ли этот контекст вообще.
Если внутри разговора лежат десять старых веток рассуждения, отвергнутая архитектура и давно потерявшие актуальность результаты инструментов, кэш не превратит их в полезную информацию.
Он просто сделает повторение дешевле.
С AI-агентами токены уходят особенно незаметно
В обычном чате хотя бы видна цепочка: вопрос, ответ, новый вопрос.
Агент может сделать десятки действий самостоятельно. Прочитать файл, сходить в поиск, запустить код, получить ошибку, открыть другой файл, изменить программу, снова запустить тесты и только потом вернуться к пользователю.
Для человека задача одна:
Почини баг.
За ней может стоять довольно длинная рабочая смена модели.
В Claude Code в контекст попадают в том числе результаты инструментов, а сама Anthropic отдельно предлагает смотреть, что именно занимает место, очищать историю между задачами и сжимать длинные сессии.
Отсюда простое различие.
В классическом чате мы в основном видим ответы модели.
В агентном режиме появляется ещё и цена процесса, который привёл к этому ответу.
Как уменьшить расход токенов без охоты за каждым словом
Когда начинаешь читать про оптимизацию токенов, легко скатиться в микроменеджмент: сократить промпт на две строчки, заменить одно слово другим, посчитать запятые.
На длинных задачах обычно важнее контекст.
Я бы первым делом разделял независимые задачи. Если баг в авторизации уже закрыт, пятидесяти сообщениям о нём необязательно ехать дальше в разговор про аналитику. В Claude Code для таких случаев Anthropic прямо предлагает /clear.
Длинную работу полезно периодически сворачивать. Вместо полной истории можно оставить решения, ограничения, важные факты, изменения в коде и то, что ещё предстоит сделать. По сути это тот же handoff, который люди оставляют друг другу после длинной рабочей смены. Для этого в Claude Code есть /compact, а в API Anthropic развивает отдельные механики compaction.
Большие документы лучше давать осознанно. Если для ответа нужны пять страниц из отчёта на триста страниц, полный отчёт не обязательно улучшит результат. Исследования long context как раз показывают, что лишняя и особенно похожая на нужную информация способна мешать.
Повторяющийся контекст имеет смысл кэшировать, если среда и API это позволяют. Большие стабильные инструкции, набор примеров и общая документация хорошо подходят под prompt caching.
И, наконец, не каждой операции нужна самая тяжёлая модель. Anthropic сама рекомендует использовать Sonnet для большинства coding-задач, Opus оставлять для сложных архитектурных решений и многошагового reasoning, а простые subagent-задачи отдавать Haiku.
Это уже вопрос не только экономии.
Если одна модель нужна для сложного анализа архитектуры, а следующая операция сводится к классификации или форматированию результата, нет особого смысла платить за одинаковый уровень рассуждения на обоих этапах.
Здесь выбор нескольких LLM перестаёт быть коллекционированием моделей
Когда я смотрел на проблему только как на «сколько стоит миллион токенов», агрегаторы нейросетей казались прежде всего удобством: меньше вкладок и подписок.
Контекст добавляет другой аргумент.
Модель разумнее выбирать под конкретную часть работы.
В нашей LLM Студии SYNTX.AI модели можно переключать внутри одного диалога без потери контекста. На платформе собрано больше 100 AI-моделей и инструментов, включая собственные LLM SYNTX.AI, поэтому сложный этап можно отдать одной модели, а более простую операцию следующей. Сам принцип здесь мне кажется важнее количества моделей: не заставлять один и тот же дорогой инструмент делать вообще всё.
Для читателей Хабра мы сделали промокод CTRLAI со скидкой 20% на любой тариф. Если захотите проверить разные модели на собственных длинных задачах, можно сделать это в одном рабочем пространстве, а не собирать отдельный набор подписок.
На этом рекламу закончу, потому что главный вывод из истории с миллиардом токенов вообще не про конкретный сервис.
Мы долго учились писать промпты. Теперь придётся учиться выбрасывать лишнее
Несколько лет вокруг LLM крутилась простая идея: если ответ плохой, нужно лучше сформулировать запрос.
Так мы получили prompt engineering.
Теперь рядом всё чаще появляется context engineering.
Задача уже не сводится к тому, что написать модели. Нужно решить, что она должна видеть в момент ответа.
Нужна ли ей вся история проекта или достаточно текущего состояния. Стоит ли хранить десять неудачных попыток. Нужен ли весь PDF. Пора ли начать новую сессию. Можно ли свернуть предыдущие двадцать сообщений в пять предложений.
Исследования Chroma хорошо показывают причину: наличие правильной информации где-то внутри огромного контекста ещё не гарантирует, что модель одинаково хорошо её использует.
Поэтому человек с миллиардом токенов на Reddit в итоге показался мне интересен вовсе не из-за самого миллиарда.
Он довёл до абсурда привычку, которая есть почти у всех нас: сохранять разговор как можно дольше, потому что «теперь нейросеть всё знает».
Иногда это действительно помогает.
А иногда лучший способ сделать LLM дешевле и точнее оказывается до смешного простым:
вовремя дать ей что-нибудь забыть.

