Модуль 3.5 · Урок 1
Урок 1: Токены и экономика OpenClaw
Содержание
- Чему вы научитесь
- «Бесплатный» инструмент за $600 в месяц
- Что такое токен
- Как OpenClaw тратит токены
- Почему контекст растёт
- А теперь умножьте на количество вызовов
- Heartbeat: невидимый расход
- Считаем
- Сколько стоят модели
- Что это значит на практике
- Шаг 1. Проверьте текущий расход
- Шаг 2. Быстрые меры (5 минут)
- 1. Отключите Thinking/Reasoning
- 2. Сбрасывайте сессию после задачи
- 3. Установите лимит расходов
- Шаг 3. Укротите heartbeat (2 минуты)
- Что делает каждый параметр
- Для максимальной экономии: дешёвая модель для heartbeat
- Шаг 4. Маршрутизация моделей (30 минут)
- Настройка для мультиагентной системы
- Настройка для одного агента
- Типичный результат
- Шаг 5. Продвинутая оптимизация
- Compaction на дешёвой модели
- Context Pruning — автоматическая обрезка
- QMD — умный поиск вместо полного контекста
- Шаг 6. Пусть агент следит за расходами сам
- Автоматический мониторинг через HEARTBEAT.md
- Еженедельный отчёт через cron
- Автоматическое переключение моделей
- Итоговый чек-лист
- Практическое задание
- Главное
Чему вы научитесь
- Понимать, из чего складывается стоимость работы OpenClaw
- Видеть, куда уходят токены и почему расход растёт экспоненциально
- Настраивать heartbeat, compaction и маршрутизацию моделей для снижения расходов
- Мониторить потребление через встроенные команды
«Бесплатный» инструмент за $600 в месяц
OpenClaw — бесплатный open-source (MIT-лицензия). Скачать, установить, запустить — $0. Но один блогер получил счёт за $3 600 за первый месяц использования. Другой пользователь загрузил $25 на API и обнаружил, что за ночь осталось $5 — агент молча работал в фоне.
Как бесплатный инструмент генерирует такие счета? Чтобы это понять, нужно разобраться, что такое токены и как OpenClaw их потребляет.
Что такое токен
Токен — единица текста, которую «видит» языковая модель. Это не слово и не символ, а что-то среднее:
"Привет, как дела?" = 5 токенов
"OpenClaw" = 2 токена
"{" = 1 токен
Грубое правило: 1 токен ~ 4 символа на английском, 1 токен ~ 2 символа на русском (кириллица дороже).
Провайдеры AI-моделей берут плату за каждый обработанный токен. Причём считаются и input-токены (то, что вы отправили модели), и output-токены (то, что она ответила). Output обычно дороже в 3-5 раз.
Как OpenClaw тратит токены
Когда вы пишете «Привет» в Telegram, вы отправляете 2 токена. Но OpenClaw отправляет модели гораздо больше:
pie title Из чего состоит один API-запрос (~9 600 токенов)
"Системный промпт OpenClaw" : 3000
"AGENTS.md" : 2000
"SOUL.md" : 1500
"TOOLS.md" : 1000
"История диалога" : 1500
"USER.md + IDENTITY.md" : 600
"Ваше сообщение" : 2
Ваше сообщение: 2 токена
+ Системный промпт OpenClaw: 3 000 токенов
+ SOUL.md: 1 500 токенов
+ AGENTS.md: 2 000 токенов
+ USER.md + TOOLS.md + IDENTITY.md: 1 600 токенов
+ История диалога: 1 500 токенов
─────────────────────────────────────────────────
Итого отправлено модели: ~9 600 токенов
Вы написали «Привет», а OpenClaw отправил почти 10 000 токенов. Это как послать письмо из двух слов, но в конверте лежит ещё 20 страниц инструкций.
Почему контекст растёт
С каждым новым сообщением история диалога увеличивается. OpenClaw отправляет модели всю историю каждый раз:
xychart-beta
title "Рост контекста в рамках сессии"
x-axis ["1", "5", "10", "20", "30", "50"]
y-axis "Токены (тыс.)" 0 --> 200
bar [10, 18, 35, 70, 110, 160]
| Сообщение | Токенов | Стоимость (Sonnet) |
|---|---|---|
| 1 | ~9 600 | ~$0.03 |
| 10 | ~35 000 | ~$0.11 |
| 30 | ~110 000 | ~$0.33 |
| 50 | ~160 000 | ~$0.48 |
Это как если бы в каждом следующем письме вы прикладывали копии всех предыдущих писем. К 50-му письму конверт весит килограмм.
А теперь умножьте на количество вызовов
Одна ваша задача — это не один API-вызов. OpenClaw может:
- Прочитать ваш запрос и спланировать действия (вызов 1)
- Выполнить поиск по файлам (вызов 2)
- Проанализировать результаты (вызов 3)
- Выполнить действие (вызов 4)
- Проверить результат (вызов 5)
- Сформировать ответ (вызов 6)
Каждый вызов — с полным контекстом. Одна задача: 3-8 API-вызовов, каждый по 30-100K+ токенов.
Heartbeat: невидимый расход
Вот самый коварный момент. Даже когда вы не пишете агенту, он может тратить деньги.
Heartbeat — это фоновые проверки. По умолчанию OpenClaw «просыпается» каждые 30 минут, читает HEARTBEAT.md и выполняет указанные задачи: проверить почту, обновить данные, мониторинг.
Каждый heartbeat — полноценный API-вызов с контекстом workspace.
Считаем
- 48 heartbeat-ов в день (каждые 30 мин)
- Каждый ~ 12 000 input-токенов
- На Claude Opus ($5/1M input): $2.88/день
- С накопленным контекстом: $5-7/день
- В месяц: $150-210 — и это без единого вашего сообщения
Из GitHub Issue #23254: пользователь подтверждает — “heartbeats alone were eating $5-7/day on Opus”. Это первое, что нужно настроить.
Сколько стоят модели
Не все модели стоят одинаково. Разница между самой дорогой и самой дешёвой — в 250 раз. Цены за 1 миллион токенов (март 2026):
| Провайдер | Модель | Input | Output | Для чего подходит |
|---|---|---|---|---|
| Anthropic | Claude Opus 4.6 | $5.00 | $25.00 | Сложные задачи, архитектура |
| Anthropic | Claude Sonnet 4.6 | $3.00 | $15.00 | Ежедневная работа, баланс цена/качество |
| Anthropic | Claude Haiku 4.5 | $1.00 | $5.00 | Простые задачи, рутина |
| OpenAI | GPT-4o | $2.50 | $10.00 | Аналог Sonnet по возможностям |
| OpenAI | GPT-4o Mini | $0.15 | $0.60 | Лёгкие задачи, очень дёшево |
| Gemini 2.5 Flash | $0.15 | $0.60 | Быстрый и дешёвый | |
| DeepSeek | V3.2 | $0.28 | $0.42 | Хороший кодинг, доступен из РФ |
| Mistral | Small (Nemo) | $0.02 | $0.02 | Минимальные задачи |
Что это значит на практике
Одна типичная задача (~100K input + ~5K output):
| Модель | Стоимость | Сравнение |
|---|---|---|
| Claude Opus 4.6 | $0.63 | Базовая линия |
| Claude Sonnet 4.6 | $0.38 | В 1.7x дешевле |
| DeepSeek V3.2 | $0.03 | В 21x дешевле |
| Gemini 2.5 Flash | $0.02 | В 31x дешевле |
Вопрос не «какая модель лучше», а «какая модель достаточна для этой задачи». Отправлять Opus проверять почту — всё равно что вызывать хирурга, чтобы наклеить пластырь.
Шаг 1. Проверьте текущий расход
Прежде чем оптимизировать, посмотрите, сколько вы тратите сейчас. Откройте чат с OpenClaw:
/status
Вы увидите: текущую модель, размер контекста, токены последнего ответа и стоимость.
Для детальной картины:
/usage cost
Покажет расходы за текущую сессию. Если после ночи idle цифра больше $1 — у вас проблема с heartbeat.
Для разбивки по элементам контекста:
/context list
Здесь видно, сколько токенов занимает каждый файл: SOUL.md, AGENTS.md, история, результаты инструментов. Часто оказывается, что 90%+ контекста — не ваши сообщения.
Шаг 2. Быстрые меры (5 минут)
Три действия, которые можно сделать прямо сейчас:
1. Отключите Thinking/Reasoning
Режим «размышления» заставляет модель генерировать тысячи скрытых токенов перед ответом. Полезно для сложных задач, но для повседневных — чистая трата.
/model set claude-sonnet-4-6 --no-thinking
Или в ~/.openclaw/openclaw.json:
{
"agents": {
"defaults": {
"thinking": false
}
}
}
Включайте thinking вручную, когда нужно:
/think проанализируй архитектуру этого проекта. Для остальных задач — выключено.
2. Сбрасывайте сессию после задачи
Завершили задачу — начните новую сессию. Это обнуляет историю:
/new
Не копите контекст. Каждое сообщение в старой сессии стоит дороже, чем в новой. Привычка писать /new между задачами — самый простой способ экономии.
3. Установите лимит расходов
На console.anthropic.com (или platform.openai.com) установите месячный лимит. Даже $50. Это страховка от ситуации «проснулся, а на счету ноль».
Шаг 3. Укротите heartbeat (2 минуты)
Откройте ~/.openclaw/openclaw.json и добавьте настройки heartbeat:
{
"agents": {
"defaults": {
"heartbeat": {
"every": "2h",
"lightContext": true,
"isolatedSession": true,
"activeHours": { "start": "08:00", "end": "24:00" }
}
}
}
}
Что делает каждый параметр
every: "2h" — проверка раз в 2 часа вместо 30 минут. Экономия 75%.
lightContext: true — при heartbeat загружается только HEARTBEAT.md, а не все bootstrap-файлы (SOUL.md, AGENTS.md и т.д.). Экономия 80-90% токенов на каждый вызов.
isolatedSession: true — каждый heartbeat начинает чистую сессию, без истории предыдущих проверок. Без этого контекст heartbeat растёт бесконечно.
activeHours — агент не просыпается ночью. Экономия ещё ~33%.
Если вы не используете фоновые проверки вообще, поставьте
"every": "0m"— это полностью отключает heartbeat.
Для максимальной экономии: дешёвая модель для heartbeat
Heartbeat — это простая задача: «проверь чек-лист». Ей не нужен Opus:
{
"agents": {
"defaults": {
"heartbeat": {
"every": "2h",
"lightContext": true,
"isolatedSession": true,
"model": "ollama/gemma3:1b"
}
}
}
}
Локальная модель для heartbeat = $0/день вместо $5-7/день.
Шаг 4. Маршрутизация моделей (30 минут)
Ключевая идея: разным задачам — разные модели. Не нужен Opus, чтобы отформатировать текст или найти файл. 70% задач агента — рутина, которой достаточно Haiku или Flash.
Настройка для мультиагентной системы
Если у вас несколько агентов (из модуля 3.4), назначьте каждому свою модель:
{
"agents": {
"personal": { "model": "claude-sonnet-4-6" },
"family": { "model": "claude-haiku-4-5" },
"work": { "model": "claude-sonnet-4-6" }
}
}
Настройка для одного агента
Используйте Sonnet по умолчанию, переключайтесь на Opus вручную для сложных задач:
/model claude-opus-4-6
<сложная задача>
/model claude-sonnet-4-6
Типичный результат
| До | После |
|---|---|
| Opus на всё: ~$600/мес | 70% Haiku, 28% Sonnet, 2% Opus: ~$80/мес |
Экономия ~65%, качество ответов почти не страдает — потому что большинство задач просто не требуют «умной» модели.
Шаг 5. Продвинутая оптимизация
Эти настройки требуют чуть больше времени, но дают максимальный эффект.
Compaction на дешёвой модели
Когда контекст заполняется, OpenClaw сжимает историю в сводку. Этот процесс сам тратит токены. Используйте дешёвую модель для сжатия:
{
"agents": {
"defaults": {
"compaction": {
"model": "ollama/llama3.1:8b",
"identifierPolicy": "strict"
}
}
}
}
identifierPolicy: "strict" — сохраняет имена файлов и ID в сводке, чтобы агент не «забывал» важные детали при сжатии.
Ручной запуск перед ресурсоёмкой задачей — освобождает контекст:
/compact
Context Pruning — автоматическая обрезка
Вместо того чтобы хранить всю историю, настройте автоматическое «забывание»:
{
"agents": {
"defaults": {
"maxTokens": 32000,
"ttl": [
{ "age": "30m", "keep": "all" },
{ "age": "4h", "keep": 30 },
{ "age": "24h", "keep": "summary" },
{ "age": "inf", "keep": "none" }
]
}
}
}
Логика: последние 30 минут — всё целиком. Старше 4 часов — только 30 последних сообщений. Старше суток — краткая сводка. Древнее — удаляется.
Аналогия: как заметки на рабочем столе. Сегодняшние — на виду, вчерашние — в ящике, прошлонедельные — в архиве, годовалые — в корзине.
QMD — умный поиск вместо полного контекста
QMD (Quick Memory Database) индексирует все файлы workspace и при запросе отправляет модели только релевантные фрагменты, а не всё подряд:
{
"memory": {
"backend": "qmd",
"qmd": {
"searchMode": "search",
"limits": {
"maxResults": 6,
"maxInjectedChars": 5000
}
}
}
}
Без QMD: агент загружает 50 000 токенов заметок при каждом запросе. С QMD: загружает только 5 000 символов — самые релевантные фрагменты.
Не используйте режим
queryна слабых серверах — он включает тяжёлый reranking. Режимsearchдостаточен для большинства задач.
Шаг 6. Пусть агент следит за расходами сам
Вместо того чтобы вручную проверять /usage cost каждый день, поручите это агенту. Для этого есть два инструмента: HEARTBEAT.md и cron-задачи.
Автоматический мониторинг через HEARTBEAT.md
Добавьте в ~/.openclaw/workspace/default/HEARTBEAT.md:
## Проверки
- Проверь текущий расход токенов через /usage cost
- Если расход за сессию превысил $2 -- напиши мне в Telegram предупреждение
- Если контекст больше 100K токенов -- выполни /compact
Теперь каждый heartbeat агент сам проверяет расход и сжимает контекст при необходимости.
Еженедельный отчёт через cron
Добавьте cron-задачу в openclaw.json:
{
"cron": [
{
"name": "weekly-cost-report",
"schedule": "0 20 * * 0",
"prompt": "Составь отчёт о расходе токенов за неделю. Покажи: общий расход, расход по агентам, самые дорогие задачи, рекомендации по оптимизации. Отправь мне.",
"agent": "default",
"channel": "telegram"
}
]
}
Каждое воскресенье в 20:00 агент присылает вам отчёт с анализом: где потратили больше всего, что можно оптимизировать.
Автоматическое переключение моделей
Добавьте правило в AGENTS.md:
## Экономия токенов
- Для простых задач (форматирование, поиск, короткие ответы) используй Haiku
- Для кодинга и анализа -- Sonnet
- Opus -- только если я явно попрошу или задача требует работы с 5+ файлами
- Перед длинной задачей проверь размер контекста и сделай /compact если > 80K
Агент будет сам выбирать модель по сложности задачи, не дожидаясь вашей команды.
flowchart TD
T["Задача от пользователя"] --> C{"Агент оценивает\nсложность"}
C -->|"Простая"| H["Haiku\n($1/1M tok)"]
C -->|"Средняя"| S["Sonnet\n($3/1M tok)"]
C -->|"Сложная"| O["Opus\n($5/1M tok)"]
H --> R["Ответ"]
S --> R
O --> R
style T fill:#f8fafc,stroke:#1e293b
style C fill:#fef3c7,stroke:#d97706
style H fill:#dcfce7,stroke:#16a34a
style S fill:#dbeafe,stroke:#2563eb
style O fill:#fce7f3,stroke:#db2777
style R fill:#f8fafc,stroke:#1e293b
Итоговый чек-лист
Пройдитесь по этому списку сверху вниз. Каждый шаг — дополнительная экономия:
| Что сделать | Экономия | Время |
|---|---|---|
Проверить расход: /status, /usage cost | — | 1 мин |
Отключить thinking: "thinking": false | до 50x на задачу | 1 мин |
Привычка: /new между задачами | 30-50% | 0 мин |
| Лимит расходов у провайдера | Страховка | 2 мин |
Heartbeat: every: "2h" + lightContext | 75-90% heartbeat | 2 мин |
| Heartbeat: локальная модель | 100% heartbeat | 5 мин |
| Маршрутизация: Haiku/Flash для рутины | 50-70% общих | 30 мин |
| Compaction на дешёвой модели | Экономия на сжатии | 2 мин |
| Context Pruning (TTL) | 30-50% контекста | 10 мин |
| QMD (семантический поиск) | 60-97% на повторах | 15 мин |
Практическое задание
- Выполните
/statusи/usage cost— запишите текущие цифры - Выполните
/context list— посмотрите, какие файлы занимают больше всего токенов - Настройте heartbeat в
openclaw.json:every: "2h",lightContext: true,isolatedSession: true - Отправьте одно сообщение с
/usage full— посмотрите стоимость - Переключитесь на Haiku (
/model claude-haiku-4-5) и отправьте то же сообщение — сравните стоимость - Попробуйте
/compactи посмотрите, как изменился размер контекста через/context list
Главное
- OpenClaw бесплатный, но API-вызовы стоят денег — и расход «из коробки» может удивить
- Каждое сообщение несёт с собой весь контекст: bootstrap-файлы + историю + результаты инструментов
- Heartbeat — главный скрытый расход. Настройте его первым делом
- Разным задачам — разные модели. Opus для архитектуры, Haiku для рутины
/status,/usage cost,/context list— ваши инструменты контроля- Доказанный результат: с $600/мес до $20/мес при последовательной оптимизации