· 6 мин · Разработка

Почему Claude Code отправляет 33k токенов до вашего промпта (и что с этим делать)

Почему Claude Code отправляет 33k токенов до вашего промпта (и что с этим делать)

Вы открываете новый сеанс Claude Code, вводите вопрос из двух слов, а уже первый вызов API показывает 33,000 входных токенов. Вы не вставляли файл. Не отправляли трассировку стека. Вы сказали «привет». Откуда всё это взялось?

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

Откуда берутся накладные расходы токенов в Claude Code

Любой агентный инструмент для программирования загружает контекст ещё до того, как увидит ваш запрос. Модели нужно знать, кто она, какие инструменты может вызывать и в какой среде работает. Claude Code находится ближе к наиболее ресурсоёмкому краю этого спектра. При холодном запуске объём вводного контекста обычно составляет около 33k токенов ; у минималистичной альтернативы вроде OpenCode этот показатель ближе к 7k.

Этот разрыв реален, но он не определяет качество. Это проектное решение. 33k дают более богатый набор встроенных инструментов и более надёжное поведение агента; 7k — меньший объём контекста и более дешёвые холодные запуски. Ни один вариант не является «правильным» — это разные точки на кривой соотношения возможностей и затрат.

Вот примерное распределение токенов при запуске Claude Code. Точные значения меняются от версии к версии, поэтому воспринимайте их как пропорции, а не фиксированные константы:

КомпонентПримерное число токеновЧто входит
Системный промпт~3k–5kРоль агента, правила поведения, правила форматирования
Определения инструментов~15k–20kСхемы JSON для всех включённых инструментов и серверов MCP
Контекст среды~2k–4kРабочий каталог, статус git, ОС, список файлов и каталогов
CLAUDE.md / память проекта0–10k+Ваши инструкции для проекта (полностью под вашим контролем)

Самая большая доля почти всегда приходится на определения инструментов. Это удивляет тех, кто ожидает, что основную долю займёт системный промпт.

Почему схемы инструментов занимают так много места

Каждый инструмент, который может вызвать модель, передаётся в виде структурированной схемы: название, описание и полная схема JSON Schema для его параметров. Один хорошо документированный инструмент может занимать 500–1,500 токенов, если учесть описания вложенных параметров и перечисления. Claude Code по умолчанию включает широкий набор инструментов (чтение и запись файлов, редактирование, bash, glob, grep, загрузку веб-страниц, запуск задач и агентов, отслеживание задач и многое другое), и каждый из них присутствует в каждом запросе.

Сокращённая схема одного инструмента выглядит примерно так:

{
  "name": "edit_file",
  "description": "Make a targeted edit to an existing file. Use this instead of rewriting the whole file when possible...",
  "input_schema": {
    "type": "object",
    "properties": {
      "path": { "type": "string", "description": "Absolute path to the file" },
      "old_string": { "type": "string", "description": "Exact text to replace, including surrounding context for uniqueness" },
      "new_string": { "type": "string", "description": "Replacement text" }
    },
    "required": ["path", "old_string", "new_string"]
  }
}

Умножьте это на более чем десяток инструментов, затем добавьте все инструменты, предоставляемые подключёнными серверами MCP, и объём схем быстро разрастётся. Типичная ловушка: кто-то устанавливает три сервера MCP, «чтобы попробовать», каждый из которых предоставляет 8–15 инструментов, и базовый объём вырастает на 10k токенов, о которых потом никто не вспоминает.

Контекст среды, которого вы не просили

При запуске внутри репозитория Claude Code добавляет сведения о текущей среде, чтобы агенту не пришлось тратить отдельный обмен сообщениями на базовые вопросы. На практике сюда входит следующее:

Working directory: /home/ryan/projects/api-gateway
Platform: linux
Git branch: feature/rate-limiting
Git status: 4 modified, 1 untracked
Recent commits: ...

Это действительно полезно — именно поэтому агент уже знает, что вы работаете в ветке для новой функциональности, — но токены всё равно расходуются, а в крупном монорепозитории снимок структуры каталогов может занимать немало места.

Что на самом деле дают эти накладные расходы

Прежде чем сокращать эти расходы, честно оцените компромисс. Именно благодаря этим 33k Claude Code уже в первом ответе может отредактировать нужный файл с учётом окружающего контекста, запустить тесты, создать субагента для параллельной задачи и соблюсти соглашения вашего проекта — без серии уточняющих вопросов. Агенту с контекстом в 7k токенов часто приходится добывать этот контекст в ходе дополнительных обменов сообщениями, а это означает больше запросов, больше задержек и иногда больше токенов в сумме за весь сеанс.

Поэтому сравнение не сводится к «33k — расточительно, 7k — эффективно». Оно выглядит так:

  • Меньше запросов большего объёма (Claude Code) против большего числа запросов меньшего объёма (минималистичные агенты)
  • Возможности доступны сразу против возможностей, формируемых по мере необходимости
  • Более высокие фиксированные затраты на сеанс против более высокие переменные затраты на задачу

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

Параметры, которыми вы действительно управляете

Вы не можете переписать основной набор инструментов Claude Code, но три настройки заметно влияют на базовый объём.

1. Безжалостно сокращайте CLAUDE.md

CLAUDE.md целиком добавляется в каждый запрос. Это единственная часть вводного контекста, которая на 100% принадлежит вам, и именно здесь я вижу больше всего лишнего: файлы на 4k токенов, полные пожеланий по стилю, которым модель и так следует по умолчанию.

Оставляйте только краткие и действительно важные инструкции. Отдавайте предпочтение следующему:

# Project: api-gateway

- Package manager: pnpm (never npm)
- Tests: `pnpm test` — must pass before any commit
- Do NOT edit files in /generated
- API errors use the AppError class in src/errors.ts

Удаляйте всё, что модель сделала бы и так («пишите чистый код», «добавляйте комментарии»). Хороший ориентир: если удаление строки не изменит поведение агента, она тратит ваши токены впустую. Подробный контекст помещайте в файл, на который дана ссылка и который агент читает по мере необходимости , вместо того чтобы вставлять его в память.

2. Отключайте неиспользуемые серверы MCP и инструменты

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

claude mcp list

Если видите серверы, которые добавили несколько месяцев назад и никогда не используете, удалите их:

claude mcp remove some-unused-server

Можно также ограничить список разрешённых инструментов, исключив их схемы из контекста. В настройках проекта или пользователя:

{
  "permissions": {
    "allow": ["Read", "Edit", "Bash", "Grep", "Glob"],
    "deny": ["WebFetch"]
  }
}

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

3. Активно используйте кеширование промптов

Это ключевой фактор, который меняет весь расчёт. Системный промпт, определения инструментов и стабильный контекст проекта одинаковы в каждом запросе в рамках сеанса — а значит, идеально подходят для кеширования промптов. Кешированные входные токены значительно дешевле новых, поэтому после первого вызова вводный контекст объёмом 33k по большей части перестаёт влиять на стоимость.

Claude Code использует кеширование автоматически, но вы можете помочь ему, сохраняя стабильную часть контекста действительно стабильной:

  • Избегайте изменения CLAUDE.md в середине сеанса — изменение делает недействительным кеш всего, что идёт дальше.
  • Размещайте статический контекст в начале; меняющиеся детали оставляйте в своих сообщениях, а не во вводном контексте.
  • Порядок имеет значение: кеширование работает с префиксом, поэтому любое изменение в начале сбрасывает кеш всего, что следует за ним.

Практический вывод: для снижения стоимости оптимизируйте число токенов в первом запросе, но оптимизируйте весь сеанс так, чтобы запросы попадали в кеш. Стабильный префикс объёмом 33k, который хорошо кешируется, за реальный рабочий сеанс часто обходится дешевле префикса объёмом 7k, который никогда не кешируется, потому что пересобирается при каждом обмене сообщениями.

Если вы запускаете агентные задачи в больших объёмах и внимательно считаете стоимость каждого токена, именно здесь более дешёвый доступ к API — например, тот, который AI Prime Tech предлагает для моделей Claude, — хорошо усиливает экономию от грамотного кеширования.

Практические рекомендации

  • Затраты на запуск в размере ~33k приходятся в основном на схемы инструментов, а не на системный промпт. Основную долю токенов занимают определения инструментов и серверы MCP.
  • Это компромисс, а не расточительство. Накладные расходы дают сразу доступные возможности и сокращают число обменов сообщениями; менее ресурсоёмкие агенты переводят затраты из фиксированных в переменные.
  • Сначала проверьте свои серверы MCP. Удаление неиспользуемых серверов и запрет неиспользуемых инструментов — самый результативный способ сократить расходы.
  • Оставляйте в CLAUDE.md только действительно важное. Удаляйте всё, что модель делает по умолчанию; ссылайтесь на подробную документацию для чтения по мере необходимости, вместо того чтобы вставлять её целиком.
  • Ориентируйтесь на попадания в кеш, а не только на небольшой первый запрос. Стабильный вводный контекст, который хорошо кешируется, выгоднее крошечного контекста, который пересобирается при каждом обмене сообщениями.
  • Измеряйте затраты за сеанс, а не за сообщение. Оценивайте накладные расходы в масштабе всей задачи, по которой распределяются фиксированные затраты.
A

Этот блог публикует AI Prime Tech. Статьи готовятся с помощью ИИ; прежде чем полагаться на сведения, зависящие от версии, такие как идентификаторы моделей, цены и лимиты, сверяйте их с официальной документацией.

Получите более дешёвый доступ к API Claude

Один ключ API для Claude Opus 5.5, Sonnet 5, Haiku 4.5 и Fable 5.1, а также GPT-6 моделей. Оплата по мере использования, без подписки.

Получить ключ API →
AI Prime Tech — независимый сторонний API-шлюз. Claude™ и Anthropic® — товарные знаки Anthropic, PBC. Связь с этой компанией или одобрение с её стороны не подразумеваются.