メインコンテンツへスキップ

オートメーションとタスク

OpenClaw は、タスク、スケジュール済みジョブ、イベントフック、常設指示を通じてバックグラウンドで作業を実行します。このページでは、適切な仕組みを選び、それらがどのように連携するかを理解できるようにします。

クイック判断ガイド

ユースケース推奨理由
毎日午前 9 時ちょうどにレポートを送信するスケジュール済みタスク(cron)正確な時刻指定、分離された実行
20 分後にリマインドするスケジュール済みタスク(cron)正確な時刻を指定した一回限りの実行(--at
毎週詳細な分析を実行するスケジュール済みタスク(cron)独立したタスクで、別のモデルも使える
30 分ごとに受信箱を確認するheartbeatほかの確認とまとめて処理され、コンテキストを認識できる
今後の予定についてカレンダーを監視するheartbeat定期的な状況把握に自然に適している
サブエージェントまたは ACP 実行の状態を確認するバックグラウンドタスクタスク台帳がすべての分離された作業を追跡する
何がいつ実行されたかを監査するバックグラウンドタスクopenclaw tasks listopenclaw tasks audit
複数段階の調査を行ってから要約するタスクフローリビジョン追跡付きの永続的なオーケストレーション
セッションのリセット時にスクリプトを実行するフックイベント駆動で、ライフサイクルイベント時に実行される
すべてのツール呼び出しでコードを実行するフックフックはイベント種別で絞り込める
返信前に常にコンプライアンスを確認する常設指示すべてのセッションに自動的に注入される

スケジュール済みタスク(cron)と heartbeat の比較

観点スケジュール済みタスク(cron)heartbeat
タイミング正確(cron 式、一回限りの実行)おおよそ(既定では 30 分ごと)
セッションコンテキスト新規(分離)または共有メインセッションの完全なコンテキスト
タスク記録常に作成される作成されない
配信チャネル、webhook、または無通知メインセッション内にインラインで表示
最適な用途レポート、リマインダー、バックグラウンドジョブ受信箱確認、カレンダー、通知
正確な時刻指定や分離された実行が必要な場合は、スケジュール済みタスク(cron)を使ってください。作業が完全なセッションコンテキストの恩恵を受け、おおよそのタイミングで十分な場合は、heartbeat を使ってください。

コア概念

スケジュール済みタスク(cron)

cron は、正確な時刻指定のための Gateway 組み込みスケジューラーです。ジョブを永続化し、適切な時刻にエージェントを起動し、出力をチャットチャネルまたは webhook エンドポイントに配信できます。一回限りのリマインダー、繰り返し式、受信 webhook トリガーをサポートします。 スケジュール済みタスクを参照してください。

タスク

バックグラウンドタスク台帳は、ACP 実行、サブエージェント起動、分離された cron 実行、CLI 操作など、すべての分離された作業を追跡します。タスクはスケジューラーではなく記録です。確認には openclaw tasks listopenclaw tasks audit を使います。 バックグラウンドタスクを参照してください。

タスクフロー

タスクフローは、バックグラウンドタスクの上にあるフローオーケストレーション基盤です。管理同期モードとミラー同期モード、リビジョン追跡、確認用の openclaw tasks flow list|show|cancel によって、永続的な複数段階フローを管理します。 タスクフローを参照してください。

常設指示

常設指示は、定義されたプログラムに対する永続的な実行権限をエージェントに付与します。これらはワークスペースファイル(通常は AGENTS.md)に存在し、すべてのセッションに注入されます。時間ベースの適用には cron と組み合わせてください。 常設指示を参照してください。

フック

フックは、エージェントのライフサイクルイベント(/new/reset/stop)、セッション圧縮、Gateway 起動、メッセージフロー、ツール呼び出しによってトリガーされるイベント駆動スクリプトです。フックはディレクトリから自動検出され、openclaw hooks で管理できます。 フックを参照してください。

Heartbeat

heartbeat は、定期的に実行されるメインセッションのターンです(既定では 30 分ごと)。複数の確認事項(受信箱、カレンダー、通知)を、完全なセッションコンテキストを持つ 1 回のエージェントターンにまとめます。heartbeat のターンではタスク記録は作成されません。小さなチェックリストには HEARTBEAT.md を使い、heartbeat 自体の中で期限到来時のみの定期チェックを行いたい場合は tasks: ブロックを使います。heartbeat ファイルが空の場合は empty-heartbeat-file としてスキップされ、期限到来時のみのタスクモードでは no-tasks-due としてスキップされます。 Heartbeatを参照してください。

それぞれの連携方法

  • cron は、正確なスケジュール(日次レポート、週次レビュー)と一回限りのリマインダーを扱います。すべての cron 実行でタスク記録が作成されます。
  • heartbeat は、受信箱、カレンダー、通知などの日常的な監視を、30 分ごとの 1 回のまとめたターンで処理します。
  • フック は、特定のイベント(ツール呼び出し、セッションリセット、圧縮)に対してカスタムスクリプトで反応します。
  • 常設指示 は、永続的なコンテキストと権限の境界をエージェントに与えます。
  • タスクフロー は、個々のタスクの上位で複数段階のフローを調整します。
  • タスク は、すべての分離された作業を自動的に追跡し、確認や監査を可能にします。

関連