Вчера я рассказал, как хобби-проект австрийца стал самым популярным агентом в мире. И закончил тизером: у агента есть сердцебиение, душа и память.
Звучит как шляпа. Но это буквальные названия компонентов в OpenClaw. И за ними кроется интересная механика.
Heartbeat — периодическое сознание
Каждые 30 минут агент «просыпается». Не потому что ты написал — а потому что пора.
(Видите, технари всё-таки путают зов ума и сердца, и сердцебиением называют «пробуждение ото сна»)
Агент открывает файл HEARTBEAT.md — чеклист, который он сам для себя написал.
Смотрит: что срочно? Какая задача может вылежаться в столе? А что вообще не нужно?
Если ничего не нужно — отвечает себе HEARTBEAT_OK и засыпает (не сильно отличаясь этим от обычного офисного работника).
Если нужно — действует. Проверяет почту, отправляет напоминание, обновляет свой чеклист. И может дописать в него новые задачи — на следующее пробуждение.
Иногда проверяет, не пришло ли время открыть LLC.
Рабочие часы настраиваются. По умолчанию — с 8 утра до 10 вечера. Агент тоже имеет право на ночь.
Правда, иногда он работает 59 часов подряд.
SOUL.md — зачем агенту душа
Мы чуть касались SOUL.md раньше.
Это не системный промпт и не набор инструкций. Это файл, в котором прописана личность агента: мировоззрение, мнения, ценности, стиль общения, поведенческие границы.
(Безобидные вещи типа you’re a programming god!)
Загружается при каждом пробуждении. Агент каждые 30 минут «вспоминает, кто он».
Сообщество написало 177+ готовых шаблонов.
Хочешь агента-стоика — ставишь шаблон. Хочешь саркастичного ассистента — другой.
Хочешь агента, который ненавидит PowerPoint — пожалуйста (I feel you, агент; I feel you).
Самое интересное — best practice от разработчиков:
Specificity over generality. Contradictions over coherence. Real opinions over safe positions.
Конкретика важнее общих слов. Противоречия важнее стройности. Настоящие мнения важнее безопасных позиций.
Чем больше файл похож на живого человека — со всеми его непоследовательностями — тем лучше работает агент.
Романтично: идеальная «душа» — несовершенная.
Память, которая переживает перезапуски
Двухслойная система:
MEMORY.md — долгосрочная память. Решения, предпочтения, важные факты. Грузится при старте каждой сессии.
Ежедневные файлы — дневной лог, по файлу на день. В сессию подгружается только сегодня + вчера. По всему остальному нужно искать - почти так же, как нам приходится шерстить воспоминания.
Когда контекст переполняется (а он переполняется регулярно — у моделей есть лимит на то, сколько контекста они могут «держать в голове»), система тихо просит агента сохранить всё важное. Агент отвечает сам себе — ты не видишь. И только после этого контекст сжимается. Ничего не теряется.
А для поиска по сотням накопленных файлов используется гибридный поиск: по ключевым словам + по смыслу.
«Тот power move с тачкой» → находит запись «сторговал скидку $4,200 на автомобиль» (ну или должен находить).
Что за этим стоит
Heartbeat + SOUL.md + память = агент, который не ждёт запроса, сам проверяет и решает. Сам «живёт». Обладает личностью. Помнит контекст даже после перезапуска. Может менять свои собственные инструкции.
Но никакого сознания здесь нет. Нет фонового процесса, который «думает» между пробуждениями. Нет внутреннего монолога.
То, что выглядит, как живой агент — это периодические пробуждения + постоянная идентичность + непрерывная память.
Очень убедительная иллюзия. Но — всё ещё иллюзия.
Источники:
- OpenClaw Docs — Heartbeat
- OpenClaw Docs — Memory
- awesome-openclaw-agents (177+ SOUL.md шаблонов)