---
read_when:
    - Объяснение использования токенов, затрат и окон контекста
    - Отладка увеличения контекста или поведения Compaction
summary: Как OpenClaw формирует контекст промпта и сообщает об использовании токенов и затратах
title: Использование токенов и расходы
x-i18n:
    generated_at: "2026-07-13T18:36:42Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 24
    provider: openai
    source_hash: 07c79e137d6809ccf8c435ef62641c0cc7579b3ec43acd513e430a7ab91cd47c
    source_path: reference/token-use.md
    workflow: 16
---

OpenClaw отслеживает **токены**, а не символы. Токены зависят от модели, но для большинства
моделей в стиле OpenAI среднее значение для английского текста составляет ~4 символа на токен.

## Как формируется системный промпт

OpenClaw формирует собственный системный промпт при каждом запуске. Он включает:

- Список инструментов + краткие описания
- Список Skills (только метаданные; инструкции загружаются по требованию с помощью `read`). Нативные
  ходы Codex получают компактный блок Skills в виде ограниченных текущим ходом
  инструкций разработчика по совместной работе; другие среды выполнения получают его
  в обычной части промпта. Размер ограничивается `skills.limits.maxSkillsPromptChars`, с необязательным
  переопределением для каждого агента в `agents.list[].skillsLimits.maxSkillsPromptChars`.
- Инструкции по самообновлению
- Рабочая область + файлы начальной загрузки (`AGENTS.md`, `SOUL.md`, `TOOLS.md`,
  `IDENTITY.md`, `USER.md`, `HEARTBEAT.md`, `BOOTSTRAP.md` для новых рабочих областей, а также
  `MEMORY.md` при наличии). Большие внедряемые файлы обрезаются согласно
  `agents.defaults.bootstrapMaxChars` (по умолчанию: `20000`); общий объём внедряемых
  данных начальной загрузки ограничивается `agents.defaults.bootstrapTotalMaxChars` (по умолчанию:
  `60000`).
  - Нативные ходы Codex не вставляют необработанное содержимое `MEMORY.md`, когда для
    этой рабочей области доступны инструменты памяти; вместо этого они получают небольшой
    указатель на память в ограниченных текущим ходом инструкциях разработчика по совместной
    работе и используют инструменты памяти по требованию. Если инструменты отключены, поиск
    по памяти недоступен или активная рабочая область отличается от рабочей области памяти
    агента, `MEMORY.md` возвращается к обычному ограниченному пути контекста хода.
  - Корневой файл `memory.md` в нижнем регистре никогда не внедряется. Это устаревший вход
    для исправления с помощью `openclaw doctor --fix`, который переносит его в `MEMORY.md`.
  - Ежедневные файлы `memory/*.md` не входят в обычный промпт начальной загрузки;
    в обычных ходах они остаются доступными по требованию через инструменты памяти. Запуски
    модели при сбросе или старте могут предварять первый ход одноразовым блоком контекста
    запуска с недавней ежедневной памятью; это регулируется
    `agents.defaults.startupContext`. Сообщения чата, состоящие только из `/new` или `/reset`,
    подтверждаются без вызова модели.
  - Фрагменты `AGENTS.md` после Compaction обрабатываются отдельно и требуют явного
    включения через `agents.defaults.compaction.postCompactionSections`.
- Время (UTC + часовой пояс пользователя)
- Теги ответа + поведение Heartbeat
- Метаданные среды выполнения (хост/ОС/модель/мышление)

Полное описание см. в разделе [Системный промпт](/ru/concepts/system-prompt).

При документировании учётных данных или фрагментов аутентификации используйте
[Соглашения о заполнителях секретов](/ru/reference/secret-placeholder-conventions), чтобы
избежать ложных срабатываний сканера секретов в изменениях, затрагивающих только документацию.

## Что учитывается в окне контекста

Всё, что получает модель, учитывается в ограничении контекста:

- Системный промпт (все разделы выше)
- История разговора (сообщения пользователя + ассистента)
- Вызовы инструментов и их результаты
- Вложения/расшифровки (изображения, аудио, файлы)
- Сводки Compaction и артефакты сокращения
- Обёртки провайдера или заголовки безопасности (не видны, но всё равно учитываются)

Для ресурсоёмких поверхностей среды выполнения предусмотрены собственные явные ограничения в
`agents.defaults.contextLimits` (переопределения для отдельных агентов находятся в
`agents.list[].contextLimits`):

| Ключ                     | Назначение                                                               |
| ------------------------ | ------------------------------------------------------------------------ |
| `memoryGetMaxChars`      | Максимальное число символов, возвращаемых `memory_get` до обрезки.       |
| `memoryGetDefaultLines`  | Стандартное окно строк `memory_get`, если в запросе не указано `lines`. |
| `toolResultMaxChars`     | Расширенный предел для одного результата активного инструмента (до `1000000` символов). |
| `postCompactionMaxChars` | Максимальное число символов из `AGENTS.md`, сохраняемых при обновлении после Compaction. |

Это ограниченные фрагменты среды выполнения и внедряемые блоки, которыми
владеет среда выполнения; они отделены от ограничений начальной загрузки,
контекста запуска и промпта Skills.

По умолчанию `toolResultMaxChars` не задан, поэтому OpenClaw вычисляет предел
результата активного инструмента на основе эффективного окна контекста модели: `16000` символов
при менее чем 100K токенов, `32000` символов при 100K+ токенов, `64000` символов при 200K+ токенов.
Ограничитель доли контекста среды выполнения по-прежнему ограничивает один результат инструмента 30%
окна контекста, даже если явно настроен более высокий предел.

Для изображений OpenClaw уменьшает разрешение изображений из расшифровок и результатов инструментов
перед вызовами провайдера. Настройка выполняется с помощью `agents.defaults.imageMaxDimensionPx` (по умолчанию:
`1200`):

- Меньшие значения сокращают расход токенов зрения и размер полезной нагрузки.
- Большие значения сохраняют больше визуальных деталей для снимков экрана с большим объёмом OCR/UI.

Для практической детализации (по каждому внедрённому файлу, инструментам, Skills и размеру
системного промпта) используйте `/context list` или `/context detail`. См.
[Контекст](/ru/concepts/context).

## Как просмотреть текущее использование токенов

В чате:

- `/status` -> насыщенная эмодзи карточка состояния с моделью сеанса, использованием контекста,
  числом входных/выходных токенов последнего ответа и оценочной стоимостью, если для
  активной модели настроены локальные цены.
- `/usage off|tokens|full` -> добавляет к каждому ответу нижний колонтитул с данными об использовании.
  Сохраняется для сеанса (хранится как `responseUsage`).
  - `/usage reset` (псевдонимы: `inherit`, `clear`, `default`) удаляет
    переопределение сеанса, чтобы снова наследовалось настроенное значение по умолчанию.
  - `/usage tokens` показывает сведения о токенах и кэше хода.
  - `/usage full` показывает компактные сведения о модели, контексте и стоимости; оценочная стоимость
    отображается только тогда, когда у OpenClaw есть метаданные использования и локальные цены
    для активной модели. Пользовательские макеты `messages.usageTemplate` могут включать
    поля токенов и кэша.
- `/usage cost` -> локальная сводка стоимости из журналов сеансов OpenClaw.

Другие поверхности:

- **TUI/Web TUI:** поддерживаются `/status` и `/usage`.
- **CLI:** `openclaw status --usage` и `openclaw channels list` показывают
  нормализованные окна квот провайдера (`X% left`, а не стоимость отдельных ответов).
  Текущие провайдеры окон использования: Claude (Anthropic), ClawRouter, Copilot
  (GitHub), DeepSeek, Gemini (Google Gemini CLI), MiniMax, OpenAI, Xiaomi,
  Xiaomi Token Plan и z.ai.

Перед отображением поверхности использования нормализуют распространённые собственные псевдонимы
полей провайдера. Для трафика Responses семейства OpenAI это включает как
`input_tokens`/`output_tokens`, так и `prompt_tokens`/`completion_tokens`, поэтому
названия полей, зависящие от транспорта, не изменяют `/status`, `/usage` или сводки
сеансов. Использование Gemini CLI также нормализуется: стандартный анализатор `stream-json`
считывает события ассистента `message`, а `stats.cached` сопоставляется с
`cacheRead`; если CLI не предоставляет явное поле `stats.input`,
используется `stats.input_tokens - stats.cached`. Устаревшие переопределения JSON по-прежнему считывают текст ответа
из `response`.

Для нативного трафика Responses семейства OpenAI псевдонимы использования WebSocket/SSE
нормализуются таким же образом, а итоговые значения вычисляются как сумма нормализованных входных
и выходных значений, если `total_tokens` отсутствует или имеет значение `0`.

Если текущий снимок сеанса содержит мало данных, `/status` и `session_status`
могут восстановить счётчики токенов/кэша и метку активной модели среды выполнения из
последней записи об использовании в расшифровке. Существующие ненулевые активные значения
по-прежнему имеют приоритет над резервными значениями из расшифровки, а более крупные
итоги расшифровки, ориентированные на промпт, могут иметь приоритет, если сохранённые итоги
отсутствуют или меньше.

Данные аутентификации для окон квот провайдера сначала поступают из специализированных
хуков провайдера; если у провайдера нет хука (или хук не получает токен),
OpenClaw использует подходящие учётные данные OAuth/API-ключа из профилей
аутентификации, переменных среды или конфигурации.

Записи ассистента в расшифровке сохраняют ту же нормализованную структуру использования,
включая `usage.cost`, если для активной модели настроены цены и
провайдер возвращает метаданные использования. Это предоставляет `/usage cost` и
состоянию сеанса на основе расшифровки стабильный источник данных даже после
исчезновения активного состояния среды выполнения.

OpenClaw учитывает использование провайдера отдельно от текущего снимка контекста.
Показатель провайдера `usage.total` может включать кэшированные входные данные, выходные данные и
несколько вызовов модели в цикле инструментов, поэтому он полезен для расчёта стоимости и телеметрии,
но может завышать размер активного окна контекста. Для `context.used` средства отображения
и диагностики контекста используют последний снимок промпта (`promptTokens` или последний вызов
модели, если снимок промпта недоступен).

## Оценка стоимости (когда отображается)

Стоимость оценивается на основе конфигурации цен модели:

```text
models.providers.<provider>.models[].cost
```

Это **доллары США за 1M токенов** для `input`, `output`, `cacheRead` и
`cacheWrite`. Если цены отсутствуют, `/usage full` не показывает стоимость; используйте
`/usage tokens` или пользовательский `messages.usageTemplate`, если сведения
о токенах/кэше нужны в каждом ответе. Отображение стоимости не ограничивается аутентификацией
с помощью API-ключа: провайдеры без API-ключа, такие как `aws-sdk`, могут показывать оценочную
стоимость, если их настроенная запись модели содержит локальные цены, а провайдер
возвращает метаданные использования.

После того как вспомогательные процессы и каналы достигают состояния готовности Gateway, OpenClaw запускает
необязательную фоновую начальную загрузку цен для настроенных ссылок на модели, у которых ещё
нет локальных цен. В ходе этой загрузки запрашиваются удалённые каталоги цен OpenRouter и
LiteLLM. Установите `models.pricing.enabled: false`, чтобы пропустить эти запросы
каталогов в автономных или ограниченных сетях; явные записи
`models.providers.*.models[].cost` по-прежнему используются для локальной оценки стоимости.

## Влияние TTL кэша и сокращения

Кэширование промпта провайдером применяется только в пределах окна TTL кэша. OpenClaw
может дополнительно выполнять **сокращение по TTL кэша**: после истечения TTL кэша
он сокращает сеанс, а затем сбрасывает окно кэша, чтобы последующие запросы
повторно использовали недавно закэшированный контекст вместо повторного кэширования всей истории.
Это снижает стоимость записи в кэш, когда сеанс бездействует дольше TTL.

Настройте это в разделе [Конфигурация Gateway](/ru/gateway/configuration), а подробности
поведения см. в разделе [Сокращение сеанса](/ru/concepts/session-pruning).

Heartbeat может поддерживать кэш **прогретым** во время периодов бездействия. Если TTL кэша
модели равен `1h`, установка интервала Heartbeat немного меньше этого значения (например, `55m`) может
предотвратить повторное кэширование всего промпта и снизить стоимость записи в кэш.

В конфигурациях с несколькими агентами можно использовать одну общую конфигурацию модели и настраивать
поведение кэша для каждого агента с помощью `agents.list[].params.cacheRetention`.

Полное описание всех параметров см. в разделе [Кэширование промпта](/ru/reference/prompt-caching).

Для API Anthropic чтение из кэша значительно дешевле входных
токенов, тогда как запись в кэш оплачивается с более высоким коэффициентом. Актуальные тарифы
и коэффициенты TTL см. в информации Anthropic о стоимости кэширования промпта:
[https://docs.anthropic.com/docs/build-with-claude/prompt-caching](https://docs.anthropic.com/docs/build-with-claude/prompt-caching)

### Пример: поддержание кэша на 1h прогретым с помощью Heartbeat

```yaml
agents:
  defaults:
    model:
      primary: "anthropic/claude-opus-4-6"
    models:
      "anthropic/claude-opus-4-6":
        params:
          cacheRetention: "long"
    heartbeat:
      every: "55m"
```

### Пример: смешанный трафик со стратегией кэширования для каждого агента

```yaml
agents:
  defaults:
    model:
      primary: "anthropic/claude-opus-4-6"
    models:
      "anthropic/claude-opus-4-6":
        params:
          cacheRetention: "long" # стандартная базовая настройка для большинства агентов
  list:
    - id: "research"
      default: true
      heartbeat:
        every: "55m" # поддерживать долгосрочный кэш прогретым для глубоких сеансов
    - id: "alerts"
      params:
        cacheRetention: "none" # избегать записи в кэш для всплесковых уведомлений
```

`agents.list[].params` накладывается поверх `params` выбранной модели, поэтому можно
переопределить только `cacheRetention`, сохранив остальные значения модели по умолчанию
без изменений.

### Контекст Anthropic на 1M

OpenClaw использует контекстное окно Anthropic на 1M для поддерживающих его общедоступных моделей Claude 4.x, таких как Opus 4.8, Opus 4.7, Opus
4.6 и Sonnet 4.6. Для этих моделей
`params.context1m: true` не требуется.

```yaml
agents:
  defaults:
    models:
      "anthropic/claude-opus-4-6":
        alias: opus
```

В старых конфигурациях можно сохранить `context1m: true`, но OpenClaw больше не отправляет
устаревший бета-заголовок Anthropic `context-1m-2025-08-07` для этой настройки и
не расширяет контекст неподдерживаемых старых моделей Claude до 1M.

Требование: учётные данные должны поддерживать использование длинного контекста. В противном случае
Anthropic возвращает для этого запроса ошибку ограничения частоты на стороне провайдера.

При аутентификации в Anthropic с помощью токенов OAuth или подписки
(`sk-ant-oat-*`) OpenClaw сохраняет бета-заголовки Anthropic, необходимые для OAuth,
но удаляет устаревший бета-заголовок `context-1m-*`, если он остался в
старой конфигурации.

## Советы по снижению нагрузки токенов

- Используйте `/compact` для суммаризации длинных сеансов.
- Сокращайте большой вывод инструментов в рабочих процессах.
- Уменьшите `agents.defaults.imageMaxDimensionPx` для сеансов с большим количеством снимков экрана.
- Делайте описания навыков краткими (список навыков добавляется в промпт).
- Для многословной исследовательской работы предпочитайте модели меньшего размера.

Точную формулу накладных расходов на список навыков см. в разделе [Skills](/ru/tools/skills).

## Связанные материалы

- [Использование API и расходы](/ru/reference/api-usage-costs)
- [Кэширование промптов](/ru/reference/prompt-caching)
- [Отслеживание использования](/ru/concepts/usage-tracking)
