---
read_when:
    - Пояснення використання токенів, витрат або контекстних вікон
    - Налагодження зростання контексту або поведінки Compaction
summary: Як OpenClaw формує контекст промпта та звітує про використання токенів і витрати
title: Використання токенів і витрати
x-i18n:
    generated_at: "2026-04-28T11:25:26Z"
    model: gpt-5.5
    provider: openai
    source_hash: a3807ccae3313a731c2673edace8a5b37dc22259d436a67b4d787e45682dad3c
    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-промпта; у звичайних ходах вони залишаються доступними на вимогу через інструменти пам’яті, але модельні запуски скидання/старту можуть додати на початок одноразовий блок стартового контексту з нещодавньою щоденною пам’яттю для цього першого ходу. Команди чату `/new` і `/reset` без аргументів підтверджуються без виклику моделі. Стартовий вступ контролюється `agents.defaults.startupContext`.
- Час (UTC + часовий пояс користувача)
- Теги відповіді + поведінку Heartbeat
- Метадані середовища виконання (хост/ОС/модель/мислення)

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

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

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

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

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

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

Перевизначення для окремих агентів розташовані в `agents.list[].contextLimits`. Ці налаштування
призначені для обмежених фрагментів середовища виконання та інжектованих блоків, якими володіє середовище виконання. Вони
відокремлені від bootstrap-лімітів, лімітів стартового контексту та лімітів промпта 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` → додає **footer використання для кожної відповіді** до кожної відповіді.
  - Зберігається для сесії (як `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` або підсумки сесії.
JSON-використання Gemini CLI також нормалізується: текст відповіді береться з `response`, а
`stats.cached` мапиться на `cacheRead` з використанням `stats.input_tokens - stats.cached`,
коли CLI не містить явного поля `stats.input`.
Для нативного трафіку Responses сімейства OpenAI псевдоніми використання WebSocket/SSE
нормалізуються так само, а підсумки fallback-яться до нормалізованих входу + виходу, коли
`total_tokens` відсутній або дорівнює `0`.
Коли поточний знімок сесії розріджений, `/status` і `session_status` також можуть
відновлювати лічильники токенів/кешу та мітку активної моделі середовища виконання з
найновішого журналу використання транскрипта. Наявні ненульові live-значення все одно мають
пріоритет над fallback-значеннями транскрипта, а більші підсумки транскрипта, орієнтовані на промпт,
можуть перемагати, коли збережені підсумки відсутні або менші.
Автентифікація використання для вікон квот провайдера береться зі спеціальних hook-ів провайдера, коли
вони доступні; інакше OpenClaw fallback-иться до відповідних облікових даних OAuth/API-ключа
з профілів автентифікації, env або конфігурації.
Записи транскрипта асистента зберігають ту саму нормалізовану форму використання, включно з
`usage.cost`, коли для активної моделі налаштовано ціни, а провайдер
повертає метадані використання. Це дає `/usage cost` і статусу сесії на основі транскрипта
стабільне джерело навіть після зникнення live-стану середовища виконання.

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

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

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

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

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

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

## Cache TTL і вплив обрізання

Кешування промптів провайдера застосовується лише в межах вікна cache TTL. OpenClaw може
необов’язково запускати **обрізання cache-ttl**: він обрізає сесію після завершення cache 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/підпискових токенів (`sk-ant-oat-*`),
OpenClaw пропускає beta-заголовок `context-1m-*`, тому що Anthropic наразі
відхиляє таку комбінацію з HTTP 401.

## Поради щодо зменшення токенового навантаження

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

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

## Пов’язане

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