Библиотека сайта rus-linux.net
Cron и Heartbeat в OpenClaw: как автоматизировать рутину без лишних усилий
Одно из главных преимуществ ИИ-агента перед чат-ботом – он не ждёт, пока вы напишете первым. Агент может действовать самостоятельно: по расписанию, по событию, по внутренней логике. Именно это превращает его из умного собеседника в реального помощника, который берёт на себя рутину без постоянных напоминаний с вашей стороны.
В OpenClaw за эту автономность отвечают два механизма – Cron и Heartbeat. Они решают похожую задачу, но работают по-разному. Понять разницу между ними – значит научиться правильно распределять задачи между ними.
Что такое Cron в контексте агента
Cron – это планировщик задач с привязкой к конкретному времени. Вы задаёте расписание в стандартном cron-формате, и агент выполняет задачу именно тогда, когда указано.
Примеры типичных Cron-задач:
- Каждый будний день в 8:00 – сформировать утреннюю сводку и отправить в Telegram
- Каждое воскресенье в 18:00 – подготовить план на неделю на основе открытых задач
- Первого числа каждого месяца – собрать статистику и оформить в отчёт
Cron подходит там, где важна точность по времени. Если задача должна выполняться в конкретный момент – это Cron.
Важная особенность в OpenClaw начиная с версии 2026.3.13: Cron получил гибкую привязку к сессиям. Раньше задача выполнялась в изолированном контексте, теперь её можно привязать к активной сессии агента – это даёт доступ к истории разговора и текущему контексту при выполнении расписания.
Что такое Heartbeat
Heartbeat – это периодический цикл самопроверки агента. В отличие от Cron, Heartbeat не привязан к конкретному времени – он запускается с заданным интервалом и выполняет набор проверок: что нового, что нужно сделать, что требует внимания.
Проще всего представить Heartbeat как внутренний голос агента, который периодически спрашивает себя: «Всё ли в порядке? Есть ли что-то, о чём нужно сообщить? Нужно ли что-то предпринять?»
Примеры задач для Heartbeat:
- Каждые 30 минут проверять входящие сообщения и отмечать срочные
- Каждый час проверять статус запущенных процессов и алертить при отклонениях
- Каждые 15 минут проверять очередь задач и брать следующую в работу
Heartbeat подходит там, где важна реакция на изменение состояния, а не точное время. Если задача – мониторить что-то и реагировать – это Heartbeat.
Cron vs Heartbeat: как выбрать
Выбор между ними сводится к одному вопросу: привязана ли задача к конкретному моменту времени или к состоянию системы?
Используйте Cron, если:
- Задача должна выполняться в точное время (утренний брифинг, еженедельный отчёт)
- Нужна гарантированная однократная активация в заданный момент
- Расписание регулярное и предсказуемое
Используйте Heartbeat, если:
- Нужна периодическая проверка без привязки к часам
- Задача реагирует на изменение состояния (новое сообщение, новая задача, изменение метрики)
- Интервал проверки важнее точного времени
На практике большинство агентов используют оба механизма: Cron – для структурированных ежедневных ритуалов, Heartbeat – для фонового мониторинга и реакции на события.
Как правильно формулировать задачи для Cron и Heartbeat
Плохо сформулированная задача – главная причина того, что автоматизация работает не так, как ожидалось. Несколько принципов, которые работают на практике.
Формулируйте результат, а не процесс. Вместо «проверь почту и напиши мне» – «если есть письма, требующие ответа сегодня, сформируй список с приоритетами и отправь в Telegram». Агент должен понимать, что считается успешным результатом.
Указывайте контекст. «Подготовь план на неделю» – слишком размыто. «Подготовь план на неделю на основе открытых задач в TASKS.md и встреч из HEARTBEAT.md, сгруппированных по дням» – конкретно и выполнимо.
Определяйте действие при отсутствии данных. Что делать, если писем нет? Если задач нет? Явно прописанное поведение в граничных случаях делает автоматизацию надёжнее.
Не перегружайте один цикл. Если Heartbeat пытается сделать слишком много за один запуск, он становится медленным и нестабильным. Лучше несколько простых проверок, чем одна сложная.
Типичные сценарии на практике
Утренний брифинг (Cron, 8:00 по будням). Агент собирает: открытые задачи из HEARTBEAT.md, события календаря на день, непрочитанные сообщения с высоким приоритетом – и формирует компактную сводку. Человек просыпается с готовым планом дня.
Мониторинг сервера (Heartbeat, каждые 10 минут). Агент проверяет доступность сервисов, загрузку CPU и диска. При отклонении от нормы – немедленный алерт в Telegram. При норме – молчание.
Еженедельный ретроспектив (Cron, воскресенье 17:00). Агент анализирует логи сессий за неделю, выделяет повторяющиеся задачи и паттерны, формирует короткий отчёт с наблюдениями. Полезно для понимания того, на что реально уходит время.
Очередь задач (Heartbeat, каждые 30 минут). Агент проверяет список задач, берёт следующую по приоритету, выполняет её и отмечает результат. Это простая реализация автономной работы с бэклогом без участия человека.
Подводные камни
Слишком частый Heartbeat. Интервал в 1–2 минуты создаёт высокую нагрузку на LLM-провайдера и быстро съедает токены. Для большинства задач достаточно 15–30 минут.
Пересечение Cron и Heartbeat. Если одна и та же задача настроена и в Cron, и в Heartbeat – возможно дублирование. Чётко разграничивайте зоны ответственности.
Нет логирования. Без логов сложно понять, что агент делал ночью и почему что-то пошло не так. Включите запись результатов каждого Cron и Heartbeat-цикла.
Cron и Heartbeat – это основа автономной работы агента. Настроив их правильно один раз, вы получаете систему, которая работает в фоне, не отвлекает вас по пустякам и сообщает только тогда, когда действительно нужно ваше внимание.
Больше практических материалов о настройке ИИ-агентов читайте на OpenClaw Lab – про OpenClaw на русском: инструкции, примеры конфигураций и опыт сообщества.
