Что такое heartbeat
Heartbeat — это периодический «пульс» агента: небольшой запрос, который OpenClaw отправляет языковой модели через равные промежутки времени, чтобы оставаться «в тонусе» и быть готовым реагировать на события.
Аналогия: heartbeat похож на дежурного сотрудника, который каждые 15 минут проверяет почту. Он ничего особенного не делает — просто убеждается, что всё в порядке, и при необходимости реагирует.
Heartbeat включён по умолчанию во многих конфигурациях OpenClaw — и именно здесь кроется ловушка для новых пользователей.
Зачем heartbeat нужен
Готовность к реактивным событиям. Если вы настроили интеграции (Telegram, GitHub, почта), агент должен «просыпаться» при получении сообщения. Heartbeat обеспечивает минимальную задержку отклика.
Поддержание контекста сессии. В некоторых конфигурациях heartbeat обновляет внутреннее состояние агента — например, проверяет, не изменились ли отслеживаемые файлы.
Мониторинг состояния. Агент может проверять базовые метрики в фоне: доступность сервисов, наличие новых файлов в директории, обновления в RSS-лентах.
Почему heartbeat опасен без правильной настройки
Каждый heartbeat — это запрос к языковой модели. Каждый запрос стоит денег.
Расчёт при плохих настройках:
- Heartbeat каждую минуту
- Запрос с полным системным контекстом (10 000 токенов)
- Модель: GPT-4o
Стоимость: 10 000 × $2.50/1M × 60 × 24 = $3.60 в день = ~324 рубля в день = ~9 700 рублей в месяц
Это только heartbeat, без реальных задач. В сообществе регулярно появляются посты о «внезапных» счетах именно по этой причине.
При правильных настройках:
- Heartbeat раз в 30 минут
- Минимальный запрос (500 токенов)
- Модель: GPT-4o mini
Стоимость: 500 × $0.15/1M × 2 × 24 = $0.0036 в день = ~0.32 рубля в день
Разница: в 1000 раз.
Настройка heartbeat
Базовая конфигурация
{
"heartbeat": {
"enabled": true,
"interval": "30m",
"model": "gpt-4o-mini",
"maxTokens": 500,
"task": "Проверь: есть ли новые сообщения в Telegram требующие ответа? Если нет — ответь IDLE. Если есть — кратко опиши."
}
}
Параметры
| Параметр | Описание | Рекомендация |
|---|---|---|
interval | Частота запросов | 15-60 минут для большинства задач |
model | Модель для heartbeat | Самая дешёвая достаточная (gpt-4o-mini, gemini-flash) |
maxTokens | Лимит токенов на запрос | 200-1000 (не нужен большой контекст) |
task | Что проверять | Конкретная короткая задача |
Рекомендуемые интервалы
| Сценарий | Интервал | Почему |
|---|---|---|
| Мониторинг критического сервиса | 5 мин | Быстрое обнаружение проблем |
| Проверка входящих сообщений | 15 мин | Баланс отзывчивости и стоимости |
| Мониторинг цен / контента | 30-60 мин | Цены меняются не так часто |
| Ежедневные задачи | Cron jobs вместо heartbeat | Heartbeat избыточен |
Heartbeat только в рабочие часы
{
"heartbeat": {
"enabled": true,
"interval": "15m",
"schedule": {
"weekdays": "09:00-20:00",
"weekends": "disabled",
"timezone": "Europe/Moscow"
},
"model": "gpt-4o-mini"
}
}
Вместо круглосуточного heartbeat — только в рабочие часы. Экономия ~65% расходов на heartbeat.
Разница между heartbeat и cron jobs
Это похожие, но разные механизмы. Их часто путают.
| Heartbeat | Cron jobs | |
|---|---|---|
| Назначение | Поддержание готовности агента | Выполнение конкретных задач |
| Действие | Минимальная проверка состояния | Полноценная работа |
| Частота | Часто (минуты) | Реже (часы, дни) |
| Токены | Мало (100-1000) | Много (тысячи) |
| Аналогия | Дежурный, проверяющий почту | Сотрудник, выполняющий задание |
Когда использовать heartbeat:
- Нужна быстрая реакция на входящие события
- Агент должен мониторить что-то непрерывно
Когда использовать cron jobs:
- Задача запускается по расписанию
- Задача занимает больше пары минут
- Есть конкретный результат, который нужно получить
Часто правильный ответ — отключить heartbeat совсем и использовать только cron jobs.
Как отключить heartbeat
Если агент не обрабатывает входящие события в реальном времени — heartbeat не нужен.
# Отключить
openclaw config set heartbeat.enabled false
# Проверить что отключён
openclaw config get heartbeat
После отключения агент будет запускаться только когда вы явно даёте команду или срабатывает cron job. Для большинства сценариев это оптимально.
Мониторинг расходов на heartbeat
# Стоимость heartbeat за сегодня
openclaw stats --today --filter heartbeat
# Прогноз расходов за месяц
openclaw stats --forecast --include heartbeat
# Разбивка по задачам
openclaw stats --breakdown task
Если heartbeat стоит больше 10-15% от общего бюджета — это сигнал пересмотреть настройки.
Чеклист правильного heartbeat
- Интервал не менее 15 минут
- Используется самая дешёвая подходящая модель (gpt-4o-mini или gemini-flash)
-
maxTokensограничен (не более 1000) - Задача heartbeat конкретная и короткая
- Настроен только в рабочие часы (если уместно)
- Проверена стоимость через
openclaw stats
Если всё отмечено — heartbeat настроен правильно. Подробнее о стоимости токенов и оптимизации бюджета: Сколько стоит OpenClaw.