ユーザ用ツール

サイト用ツール


ai:openclaw:cron

文書の過去の版を表示しています。


OpenClaw と Cron ジョブ、Heartbeat

Cronや Heartbeat は、エージェントが独立して自律的に動作するための仕組みです。 この仕組みがあるので、OpenClaw は自律的な動作が可能です。 特に何も指示をしていなくても、おすすめの情報を見つけたときに OpenClaw の方から話しかけてくるような行動をすることがあります。

  • Heartbeat
    • Heartbeat は定期的に起動し、workspace 内の HEARTBEAT.md を実行します。この間隔はデフォルトでは 30分です。
    • 継続的に実行する必要があるがあまり時間に厳密である必要がない場合は Heartbeat が使われます。
    • HEATBEAT.md の中身が空の場合は何もしません。
  • Cron
    • 厳密に指定時間に実行して欲しい処理に対応するのが Cron です。
    • こちらは指定時間になったらジョブが起動し、登録されているプロンプトを実行します。

いずれもバックグラウンドで何らかのタスクを走らせることが目的です。 そのため必ずしも実行結果が Slack, Discord 等のチャンネルに報告されるとは限りません。 もし DM 等で報告が欲しい場合は、明確にメッセージを送信するよう指示を出しておくことが大切です。

明示的なジョブの登録

エージェントに対して定期的に、または指定した日時になったら行って欲しい指示を出すと自分でこれらのタスクを登録してくれます。 Cron と Heartbeat のどちらが使われるかもエージェントが自分で判断します。

指定時間にメッセージが来ない問題

例えば毎日指定時間になったら、何らかのメッセージを送るように指示を出したとします。 ですがなんの報告も送られてこない場合があります。

もともとバックグラウンドで LLM によるタスクを実行するための機能なので、必ずしも明確なアウトプットが行われるとは限りません。 例えば定期的にバックグラウンドでファイルを整理を行わせるなど、出力が不要なケースもあるからです。

よって定期的にネットで情報収集するように指示を出しても、バックグランドで情報収集するだけで終わってしまう可能性があります。 よってジョブ登録する場合に、結果をファイルに保存させたりチャットに結果を送信させたりといった出力に対する明確な指示が必要です。

また単純に LLM の能力不足の可能性もあります。 mini, flash, haiku などの軽量モデルや、パラメータ数が少ない Local LLM を使用している場合に意図した結果にならない場合があります。 この場合は上位モデルや、よりパラメータ数が多いモデルを使うことであっさり解決する可能性があります。

解決する方法などまとめ

  • 出力に対する明確な指示を出しておく。ファイルに保存させたり DM として誰あてにメッセージを送るように指示を出すなど。
    • プロンプト (payload.message) だけでなく、~/.openclaw/cron/jobs.json の “delivery” が定義されていれば確実です
  • 軽量モデル、パラメータ数が少ないモデルを使ってる場合は、上位モデルやパラメータ数が多いモデルに切り替えてみる。
  • OpenClaw を更新する。openclaw update コマンドで最新版に更新してください。それでもきちんと動作しない場合は古いバージョンのバグの可能性もあります。

Cron ジョブの設定の確認

openclaw cron list –all コマンドで、登録されている cron ジョブの一覧を確認することができます。

チャットから確認したい場合はエージェントに尋ねるとおそらく答えてくれます。

Cron ジョブには isolated モードと main モードの 2種類があります。 先程のバックグラウンドで実行されるジョブは isolated になります。 main モードはチャットへの割り込みが発生するため推奨は isolated になっています。

もし直接ジョブの設定ファイルを確認したい場合は ~/.openclaw/cron/jobs.json を参照してください。

Heartbeat 時間の変更

おそらくエージェントに直接指示しても設定できると思いますが、agents.defaults.heartbeat.every で時間の変更できます。

  "agents": {
 
    "defaults": {
      "heartbeat": {
        "every": "30m",
        "target": "last"
      },
 
 
     }
   }
ai/openclaw/cron.1771745070.txt.gz · 最終更新: by oga

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki