Automation

自動化

OpenClaw は、タスク、スケジュール済みジョブ、推論されたコミットメント、イベントフック、常設指示を通じて、バックグラウンドで作業を実行します。このページを使用して、適切な仕組みを選択してください。

クイック判断ガイド

flowchart TD
    START([What do you need?]) --> Q1{Schedule work?}
    START --> Q2{Track detached work?}
    START --> Q3{Orchestrate multi-step flows?}
    START --> Q4{React to lifecycle events?}
    START --> Q5{Give the agent persistent instructions?}
    START --> Q6{Remember a natural follow-up?}

    Q1 -->|Yes| Q1a{Exact timing or flexible?}
    Q1a -->|Exact| CRON["Scheduled Tasks (Cron)"]
    Q1a -->|Flexible| HEARTBEAT[Heartbeat]

    Q2 -->|Yes| TASKS[Background Tasks]
    Q3 -->|Yes| FLOW[Task Flow]
    Q4 -->|Yes| HOOKS[Hooks]
    Q5 -->|Yes| SO[Standing Orders]
    Q6 -->|Yes| COMMITMENTS[Inferred Commitments]
ユースケース 推奨 理由
毎日午前9時ちょうどにレポートを送信する スケジュール済みタスク(Cron) 正確なタイミング、分離された実行
20分後に通知する スケジュール済みタスク(Cron) 正確なタイミングの1回限りの実行(--at
毎週詳細な分析を実行する スケジュール済みタスク(Cron) 独立したタスクで、別のモデルを使用可能
30分ごとに受信トレイを確認する Heartbeat 他の確認処理とまとめて実行し、コンテキストを考慮
今後の予定についてカレンダーを監視する Heartbeat 定期的な状況把握に自然に適合
会話で言及された面接後に状況を確認する 推論されたコミットメント 記憶に近いフォローアップで、正確な通知依頼は不要
ユーザーの状況を踏まえて穏やかに様子を尋ねる 推論されたコミットメント 同じエージェントとチャンネルに限定
サブエージェントまたは ACP 実行の状態を調べる バックグラウンドタスク タスク台帳ですべての分離作業を追跡
何がいつ実行されたかを監査する バックグラウンドタスク openclaw tasks listopenclaw tasks audit
複数段階の調査を行ってから要約する タスクフロー リビジョン追跡を備えた永続的なオーケストレーション
セッションのリセット時にスクリプトを実行する フック イベント駆動で、ライフサイクルイベント時に発火
ツール呼び出しのたびにコードを実行する Plugin フック プロセス内フックでツール呼び出しをインターセプト可能
応答前に常にコンプライアンスを確認する 常設指示 すべてのセッションに自動的に注入

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

観点 スケジュール済みタスク(Cron) Heartbeat
タイミング 正確(cron 式、1回限り) おおよそ(デフォルトでは30分ごと)
セッションコンテキスト 新規(分離)または共有 メインセッションの完全なコンテキスト
タスク記録 常に作成 作成されない
配信 チャンネル、Webhook、または無通知 メインセッション内
最適な用途 レポート、通知、バックグラウンドジョブ 受信トレイ、カレンダー、通知の確認

正確なタイミングまたは分離された実行が必要な場合は、スケジュール済みタスク(Cron)を使用します。完全なセッションコンテキストが役立ち、おおよそのタイミングで問題ない場合は、Heartbeat を使用します。

中核となる概念

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

Cron は、正確なタイミングを実現する Gateway 組み込みのスケジューラーです。ジョブを永続化し、適切な時刻にエージェントを起動して、出力をチャットチャンネルまたは Webhook エンドポイントに配信できます。1回限りの通知、繰り返し式、受信 Webhook トリガーをサポートします。

スケジュール済みタスクを参照してください。

タスク

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

バックグラウンドタスクを参照してください。

推論されたコミットメント

コミットメントは、オプトイン方式で短期間保持されるフォローアップ用の記憶です。OpenClaw は通常の会話からコミットメントを推論し、同じエージェントとチャンネルに限定したうえで、期限を迎えた確認を Heartbeat 経由で配信します。ユーザーが正確な時刻を指定して依頼した通知は、引き続き cron で処理します。

推論されたコミットメントを参照してください。

タスクフロー

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

タスクフローを参照してください。

常設指示

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

常設指示を参照してください。

フック

内部フックは、エージェントのライフサイクルイベント(/new/reset/stop)、セッションの Compaction、Gateway の起動、メッセージフローによってトリガーされるイベント駆動型スクリプトです。フックディレクトリから検出され、openclaw hooks で管理されます。プロセス内でツール呼び出しをインターセプトするには、Plugin フックを使用します。

フックを参照してください。

Heartbeat

Heartbeat は、メインセッションで定期的に行われるターンです(デフォルトでは30分ごと)。完全なセッションコンテキストを使用し、複数の確認処理(受信トレイ、カレンダー、通知)をエージェントの1回のターンにまとめます。Heartbeat のターンはタスク記録を作成せず、日次またはアイドル時のセッションリセットにおける鮮度判定期間も延長しません。小さなチェックリストには HEARTBEAT.md を使用し、Heartbeat 自体の中で期限を迎えた定期確認のみを実行する場合は tasks: ブロックを使用します。空の Heartbeat ファイルは empty-heartbeat-file としてスキップされ、期限到来タスクのみのモードは no-tasks-due としてスキップされます。cron 作業が実行中またはキュー内にある間、Heartbeat は延期されます。また、heartbeat.skipWhenBusy を使用すると、同じエージェントのセッションキーに紐付いたサブエージェントまたはネストされたレーンが処理中の場合にも、そのエージェントの Heartbeat を延期できます。

Heartbeatを参照してください。

連携の仕組み

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

関連項目

Was this useful?
On this page

On this page