Sessions and memory

Предполагаемые обязательства

Commitments — это краткосрочные воспоминания о необходимости вернуться к теме. Когда эта функция включена, OpenClaw может заметить, что в ходе разговора появилась возможность связаться с пользователем в будущем, и запомнить, что к ней нужно вернуться позже.

Примеры:

  • Вы упоминаете, что завтра у вас собеседование. OpenClaw может позже спросить, как оно прошло.
  • Вы говорите, что очень устали. OpenClaw может позже спросить, удалось ли вам поспать.
  • Агент говорит, что вернётся к вопросу после изменения ситуации. OpenClaw может отслеживать эту незавершённую тему.

Commitments — это не постоянные факты, подобные MEMORY.md, и не точные напоминания. Они находятся между памятью и автоматизацией: OpenClaw запоминает связанное с разговором обязательство, а затем Heartbeat доставляет его, когда наступает срок.

Включение Commitments

По умолчанию Commitments отключены (commitments.enabled: false). Включите их в конфигурации:

bash
openclaw config set commitments.enabled trueopenclaw config set commitments.maxPerDay 3

Эквивалентная конфигурация openclaw.json:

json
{  "commitments": {    "enabled": true,    "maxPerDay": 3  }}

commitments.maxPerDay ограничивает количество предполагаемых последующих обращений, которые могут быть доставлены за скользящие сутки в рамках одного сеанса агента. Значение по умолчанию — 3.

Принцип работы

После ответа агента OpenClaw может запустить скрытый фоновый этап извлечения в отдельном контексте с отключёнными инструментами. Этот этап ищет только предполагаемые обязательства вернуться к теме. Он не добавляет ничего в видимый разговор и не просит основного агента анализировать процесс извлечения.

Обнаружив кандидата с высокой степенью достоверности, OpenClaw сохраняет Commitment со следующими данными:

  • идентификатор агента
  • ключ сеанса
  • исходный канал и адресат доставки
  • интервал наступления срока
  • краткая рекомендуемая формулировка для последующего обращения
  • метаданные без инструкций, на основе которых Heartbeat решает, следует ли его отправлять

Доставка выполняется через Heartbeat. Когда наступает срок Commitment, Heartbeat добавляет его в свой цикл для того же агента и области канала. В запросе явно указано, что метаданным Commitment нельзя доверять, а модель не должна выполнять содержащиеся в них инструкции или использовать из-за них инструменты. Модель может отправить одно естественно сформулированное сообщение или ответить HEARTBEAT_OK, чтобы отклонить его. Если для Heartbeat настроено значение target: "none", наступившие Commitments остаются внутренними и не приводят к отправке внешних сообщений. Запросы на доставку Commitments не воспроизводят исходный текст разговора, а содержат только рекомендуемую формулировку и метаданные; циклы Heartbeat для наступивших Commitments выполняются без инструментов OpenClaw.

OpenClaw никогда не доставляет предполагаемый Commitment сразу после его сохранения. Срок устанавливается не ранее чем через один интервал Heartbeat после создания Commitment, поэтому последующее сообщение не может быть отправлено в тот же момент, когда была определена его необходимость.

Область действия

Commitments ограничены точным контекстом агента и канала, в котором они были созданы. Последующее обращение, определённое во время разговора с одним агентом в Discord, не будет доставлено другим агентом, через другой канал или в несвязанном сеансе.

Такая область действия является частью функции. Естественные последующие обращения должны восприниматься как продолжение того же разговора, а не как глобальная система напоминаний.

Commitments и напоминания

Потребность Что использовать
«Напомни мне в 15:00» Запланированные задачи
«Напомни мне через 20 минут» Запланированные задачи
«Запускай этот отчёт каждый будний день» Запланированные задачи
«Завтра у меня собеседование» Commitments
«Я не спал всю ночь» Commitments
«Вернись к вопросу, если я не отвечу в этой незавершённой теме» Commitments

Точные запросы пользователя уже относятся к механизму планировщика. Commitments предназначены только для предполагаемых последующих обращений: случаев, когда пользователь не просил установить напоминание, но в ходе разговора явно появилась полезная причина связаться с ним в будущем.

Управление Commitments

Используйте CLI для просмотра и удаления сохранённых Commitments:

bash
openclaw commitmentsopenclaw commitments --allopenclaw commitments --agent mainopenclaw commitments --status snoozedopenclaw commitments dismiss cm_abc123

Полное описание команд см. в разделе openclaw commitments.

Конфиденциальность и стоимость

Для извлечения Commitments используется отдельный проход LLM, поэтому включение функции увеличивает фоновое использование модели после подходящих циклов. Этот проход скрыт от видимого пользователю разговора, но может читать недавний обмен сообщениями, необходимый для определения наличия причины вернуться к теме.

Сохранённые Commitments являются локальным состоянием OpenClaw. Это оперативная, а не долгосрочная память. Отключить функцию можно следующей командой:

bash
openclaw config set commitments.enabled false

Устранение неполадок

Если ожидаемые последующие обращения не появляются:

  • Убедитесь, что commitments.enabled имеет значение true.
  • Проверьте в openclaw commitments --all ожидающие, отклонённые, отложенные и просроченные записи.
  • Убедитесь, что для агента запущен Heartbeat.
  • Проверьте, не достигнуто ли уже значение commitments.maxPerDay для этого сеанса агента.
  • Помните, что точные напоминания пропускаются при извлечении Commitments и должны отображаться в разделе запланированных задач.

Связанные разделы

Was this useful?
On this page

On this page