はじめに
AI Agent はユーザーのメッセージを受動的に待つだけであるべきではありません。OpenClawには定時タスクシステムが組み込まれており、Cron式ベースのスケジューリングをサポートしています。AI Agentが指定時間に自動的にタスクを実行したり、メッセージを送信したり、ワークフローをトリガーしたりできます。毎日の天気予報から定期的なデータ集計まで、定時メッセージ機能はAgentの応用シナリオを大幅に拡張します。
基本的な定時メッセージ
定時タスクの設定
openclaw.json5 で Agent に定時タスクを追加します。
{
agents: {
"my-agent": {
schedules: [
{
name: "morning-greeting",
cron: "0 8 * * *", // 毎日朝8時
timezone: "Asia/Tokyo",
target: {
platform: "telegram",
chatId: "123456789"
},
prompt: "朝の挨拶を生成してください。今日の日付と励ましの言葉を含めてください。"
}
]
}
}
}
Cron式クイックリファレンス
| 式 | 意味 |
|---|---|
0 8 * * * |
毎日 08:00 |
0 8 * * 1-5 |
平日 08:00 |
*/30 * * * * |
30分ごと |
0 9,18 * * * |
毎日 09:00 と 18:00 |
0 0 1 * * |
毎月1日 00:00 |
0 0 * * 0 |
毎週日曜 00:00 |
0 */4 * * * |
4時間ごと |
よくある自動化シナリオ
毎日の天気予報、平日のスタンドアップリマインダー、週次データ集計、RSSコンテンツ配信など、さまざまなシナリオで定時タスクを活用できます。静的メッセージ(AI処理なし)とAIプロンプトベースの動的メッセージの両方をサポートしています。
ワークフローのチェーン実行
OpenClawは複数の定時タスクをワークフローとして連結し、前のタスクの結果を次のタスクに渡すことをサポートしています。
{
workflows: {
"daily-ops": {
cron: "0 9 * * 1-5",
timezone: "Asia/Tokyo",
steps: [
{
name: "fetch-data",
prompt: "データベースから昨日の運用データを取得",
tools: ["sqlite"],
outputVar: "dailyData"
},
{
name: "analyze",
prompt: "以下の運用データを分析し、異常な指標を見つけてください:{{dailyData}}",
outputVar: "analysis"
},
{
name: "report",
prompt: "以下の分析結果に基づいて運用日報を生成してください:{{analysis}}",
target: { platform: "slack", channelId: "#ops-daily" }
}
],
onError: {
notify: {
platform: "telegram",
chatId: "admin_123",
message: "ワークフロー daily-ops の実行が失敗しました:{{error}}"
}
}
}
}
}
ワークフローステップは条件分岐もサポートしており、前のステップの出力に基づいて異なるアクションを実行できます。
タスク管理
コマンドライン管理
# すべての定時タスクを表示
openclaw schedules list
# 特定のタスクを手動でトリガー(Cron時間を待たない)
openclaw schedules run morning-greeting
# タスクを一時停止
openclaw schedules pause weekly-summary
# タスクを再開
openclaw schedules resume weekly-summary
# タスク実行履歴を表示
openclaw schedules history morning-greeting --last 10
Dashboardでの管理
OpenClaw Web Dashboardはビジュアルなタスク管理インターフェースを提供し、すべての定時タスクの状態と次回実行時間の確認、手動でのタスク実行トリガー、実行ログと出力の確認、タスクの一時停止・再開・編集が可能です。
エラー処理とリトライ
定時タスクにはリトライ設定(最大リトライ回数、バックオフ間隔)、タイムアウト設定、全リトライ失敗時の通知設定を行えます。
外部Cronとの統合
既存のCronシステム(Linux crontab、Kubernetes CronJobなど)がある場合、APIを通じてOpenClawタスクをトリガーすることもできます。
0 8 * * * curl -X POST http://localhost:3000/api/v1/schedules/morning-greeting/run \
-H "Authorization: Bearer sk-openclaw-xxx"
ベストプラクティス
- タイムゾーンの明示:常に
timezoneを明示的に指定し、サーバーのタイムゾーンによる混乱を避ける - エラー通知:重要なタスクには失敗通知を設定し、サイレント失敗を防止
- 実行ウィンドウ:システムのピーク時間帯に大量の定時タスクをスケジュールしない
- 冪等設計:タスクは繰り返し実行可能に設計し、リトライによる重複操作を防止
- ログの確認:タスク実行履歴を定期的に確認し、タスクの正常動作を確認
まとめ
OpenClawの定時メッセージと自動化ワークフロー機能は、AI Agentを受動的な応答から能動的なサービスへとアップグレードします。Cronスケジューリング、ワークフローのチェーン実行、条件分岐、エラー処理を通じて、完全な自動化フローを構築できます。シンプルな定時リマインダーから複雑な多段階データ処理ワークフローまで、OpenClawはすべてに対応できます。