---
read_when:
    - Пояснення використання токенів, витрат або контекстних вікон
    - Налагодження зростання контексту або поведінки Compaction
summary: Як OpenClaw формує контекст промпта та звітує про використання токенів і витрати
title: Використання токенів і витрати
x-i18n:
    generated_at: "2026-05-02T10:18:08Z"
    model: gpt-5.5
    provider: openai
    source_hash: 648c1624aa81e896dacdbdc10784ca10fba2e43114823903da6455e7de512ace
    source_path: reference/token-use.md
    workflow: 16
---

# Використання токенів і витрати

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

## Як будується системний промпт

OpenClaw збирає власний системний промпт під час кожного запуску. Він включає:

- Список інструментів + короткі описи
- Список Skills (лише метадані; інструкції завантажуються на вимогу через `read`).
  Компактний блок skills обмежується `skills.limits.maxSkillsPromptChars`,
  з необов'язковим перевизначенням для окремого агента в
  `agents.list[].skillsLimits.maxSkillsPromptChars`.
- Інструкції для самооновлення
- Робочий простір + bootstrap-файли (`AGENTS.md`, `SOUL.md`, `TOOLS.md`, `IDENTITY.md`, `USER.md`, `HEARTBEAT.md`, `BOOTSTRAP.md`, коли новий, плюс `MEMORY.md`, коли наявний). Кореневий `memory.md` у нижньому регістрі не ін'єктується; це застарілий вхід для виправлення через `openclaw doctor --fix`, коли він поєднаний із `MEMORY.md`. Великі файли обрізаються за `agents.defaults.bootstrapMaxChars` (типово: 12000), а загальна bootstrap-ін'єкція обмежується `agents.defaults.bootstrapTotalMaxChars` (типово: 60000). Щоденні файли `memory/*.md` не є частиною звичайного bootstrap-промпта; у звичайних ходах вони залишаються доступними на вимогу через інструменти пам'яті, але модельні запуски reset/startup можуть додати перед першим ходом одноразовий блок startup-контексту з нещодавньою щоденною пам'яттю. Прості команди чату `/new` і `/reset` підтверджуються без виклику моделі. Startup-прелюдія керується `agents.defaults.startupContext`.
- Час (UTC + часовий пояс користувача)
- Теги відповіді + поведінка Heartbeat
- Метадані runtime (хост/ОС/модель/мислення)

Повний розбір див. у [Системний промпт](/uk/concepts/system-prompt).

## Що враховується у вікні контексту

Усе, що отримує модель, зараховується до ліміту контексту:

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

Деякі runtime-інтенсивні поверхні мають власні явні обмеження:

- `agents.defaults.contextLimits.memoryGetMaxChars`
- `agents.defaults.contextLimits.memoryGetDefaultLines`
- `agents.defaults.contextLimits.toolResultMaxChars`
- `agents.defaults.contextLimits.postCompactionMaxChars`

Перевизначення для окремого агента розміщені під `agents.list[].contextLimits`. Ці перемикачі
призначені для обмежених runtime-фрагментів і runtime-власних ін'єктованих блоків. Вони
відокремлені від bootstrap-лімітів, лімітів startup-контексту та лімітів промпта Skills.

Для зображень OpenClaw зменшує масштаб payload-ів зображень із транскриптів/інструментів перед викликами провайдера.
Використовуйте `agents.defaults.imageMaxDimensionPx` (типово: `1200`) для налаштування цього:

- Нижчі значення зазвичай зменшують використання vision-токенів і розмір payload.
- Вищі значення зберігають більше візуальних деталей для OCR/UI-насичених знімків екрана.

Для практичного розбору (за кожним ін'єктованим файлом, інструментами, Skills і розміром системного промпта) використовуйте `/context list` або `/context detail`. Див. [Контекст](/uk/concepts/context).

## Як переглянути поточне використання токенів

Використовуйте це в чаті:

- `/status` → **картка стану з багатьма емодзі** з моделлю сеансу, використанням контексту,
  токенами введення/виведення останньої відповіді та **орієнтовною вартістю** (лише API-ключ).
- `/usage off|tokens|full` → додає **футер використання для кожної відповіді** до кожної відповіді.
  - Зберігається для сеансу (зберігається як `responseUsage`).
  - OAuth-автентифікація **приховує вартість** (лише токени).
- `/usage cost` → показує локальний підсумок вартості з журналів сеансу OpenClaw.

Інші поверхні:

- **TUI/Web TUI:** підтримуються `/status` + `/usage`.
- **CLI:** `openclaw status --usage` і `openclaw channels list` показують
  нормалізовані вікна квот провайдера (`X% left`, а не вартість за відповідь).
  Поточні провайдери з вікнами використання: Anthropic, GitHub Copilot, Gemini CLI,
  OpenAI Codex, MiniMax, Xiaomi та z.ai.

Поверхні використання нормалізують поширені власні псевдоніми полів провайдерів перед показом.
Для трафіку Responses сімейства OpenAI це включає і `input_tokens` /
`output_tokens`, і `prompt_tokens` / `completion_tokens`, тому назви полів, специфічні для транспорту,
не змінюють `/status`, `/usage` або підсумки сеансу.
Використання Gemini CLI JSON також нормалізується: текст відповіді береться з `response`, а
`stats.cached` зіставляється з `cacheRead`, використовуючи `stats.input_tokens - stats.cached`,
коли CLI пропускає явне поле `stats.input`.
Для нативного трафіку Responses сімейства OpenAI псевдоніми використання WebSocket/SSE
нормалізуються так само, а підсумки повертаються до нормалізованого введення + виведення, коли
`total_tokens` відсутній або дорівнює `0`.
Коли поточний знімок сеансу розріджений, `/status` і `session_status` також можуть
відновлювати лічильники токенів/кешу та активну мітку runtime-моделі з
найновішого журналу використання транскрипту. Наявні ненульові live-значення все одно мають
пріоритет над fallback-значеннями транскрипту, а більші промпт-орієнтовані
підсумки транскрипту можуть перемагати, коли збережені підсумки відсутні або менші.
Авторизація використання для вікон квот провайдера береться з провайдер-специфічних хуків, коли
вони доступні; інакше OpenClaw повертається до відповідних облікових даних OAuth/API-ключа
з auth-профілів, env або конфігурації.
Записи транскрипту асистента зберігають ту саму нормалізовану форму використання, включно з
`usage.cost`, коли активна модель має налаштовані ціни, а провайдер
повертає метадані використання. Це дає `/usage cost` і session status на основі транскрипту
стабільне джерело навіть після зникнення live-стану runtime.

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

## Оцінка вартості (коли показується)

Вартість оцінюється з конфігурації цін вашої моделі:

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

Це **USD за 1 млн токенів** для `input`, `output`, `cacheRead` і
`cacheWrite`. Якщо ціни відсутні, OpenClaw показує лише токени. OAuth-токени
ніколи не показують вартість у доларах.

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

## TTL кешу та вплив обрізання

Кешування промптів провайдера застосовується лише в межах вікна TTL кешу. OpenClaw може
необов'язково запускати **cache-ttl pruning**: він обрізає сеанс після завершення TTL кешу,
а потім скидає вікно кешу, щоб наступні запити могли повторно використати
щойно кешований контекст замість повторного кешування всієї історії. Це знижує
витрати на запис кешу, коли сеанс простоює довше за TTL.

Налаштуйте це в [конфігурації Gateway](/uk/gateway/configuration) і див. подробиці
поведінки в [Обрізання сеансу](/uk/concepts/session-pruning).

Heartbeat може підтримувати кеш **теплим** під час періодів простою. Якщо TTL кешу вашої моделі
становить `1h`, налаштування інтервалу Heartbeat трохи менше за це (наприклад, `55m`) може уникнути
повторного кешування всього промпта, зменшуючи витрати на запис кешу.

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

Повний покроковий довідник за кожним перемикачем див. у [Кешування промптів](/uk/reference/prompt-caching).

Для цін Anthropic API читання кешу значно дешевше за вхідні
токени, а записи кешу виставляються з вищим множником. Актуальні тарифи та множники 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" # default baseline for most agents
  list:
    - id: "research"
      default: true
      heartbeat:
        every: "55m" # keep long cache warm for deep sessions
    - id: "alerts"
      params:
        cacheRetention: "none" # avoid cache writes for bursty notifications
```

`agents.list[].params` об'єднується поверх `params` вибраної моделі, тож ви можете
перевизначити лише `cacheRetention` і успадкувати інші типові значення моделі без змін.

### Приклад: увімкнути beta-заголовок Anthropic 1M context

Вікно контексту Anthropic 1M наразі обмежене beta-доступом. OpenClaw може ін'єктувати
потрібне значення `anthropic-beta`, коли ви вмикаєте `context1m` на підтримуваних моделях Opus
або Sonnet.

```yaml
agents:
  defaults:
    models:
      "anthropic/claude-opus-4-6":
        params:
          context1m: true
```

Це зіставляється з beta-заголовком Anthropic `context-1m-2025-08-07`.

Це застосовується лише тоді, коли `context1m: true` встановлено в цьому записі моделі.

Вимога: облікові дані мають мати право на використання довгого контексту. Якщо ні,
Anthropic відповідає помилкою обмеження швидкості з боку провайдера для цього запиту.

Якщо ви автентифікуєте Anthropic за допомогою OAuth/subscription-токенів (`sk-ant-oat-*`),
OpenClaw пропускає beta-заголовок `context-1m-*`, оскільки Anthropic наразі
відхиляє цю комбінацію з HTTP 401.

## Поради для зменшення тиску токенів

- Використовуйте `/compact`, щоб підсумовувати довгі сеанси.
- Обрізайте великі виведення інструментів у своїх робочих процесах.
- Зменшуйте `agents.defaults.imageMaxDimensionPx` для сеансів із великою кількістю знімків екрана.
- Тримайте описи skills короткими (список skills ін'єктується в промпт).
- Надавайте перевагу меншим моделям для багатослівної дослідницької роботи.

Точну формулу накладних витрат списку skills див. у [Skills](/uk/tools/skills).

## Пов'язане

- [Використання API та витрати](/uk/reference/api-usage-costs)
- [Кешування промптів](/uk/reference/prompt-caching)
- [Відстеження використання](/uk/concepts/usage-tracking)
