Библиотека сайта 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 на русском: инструкции, примеры конфигураций и опыт сообщества.