アシスタントを自動で働かせよう: 頼まなくても手伝ってくれる仕組み
4 min read
質問に答えるだけなら、それは単なるチャットボットです。本当のアシスタントは先回りして動きます。
そのための仕組みが Cron です。
このページで学べること
- Cron と Heartbeat の違い
- 定期実行に向いたタスク
- ダッシュボードからの Cron 設定
- Cron 構文の読み方と、発火しないときの確認方法
Cron と Heartbeat とは?
Cron は「この時間にこの作業をする」という予定表です。
- 毎朝 9 時: 昨日のメールを要約する
- 毎週月曜: 今週の重要な TODO を知らせる
- 毎晩: 今日のメモをアーカイブする
Heartbeat は、たとえば 30 分ごとにアシスタントが自動で目を覚まし、やるべきことがあるか確認する仕組みです。
💡 30 分ごとに heartbeat のログが出ても正常です。
よくある自動化の用途
| 定期タスク | 内容 |
|---|---|
| デイリーブリーフィング | メール、カレンダー、ニュースを要約して送る |
| リマインダー | 指定時刻に TODO を送る |
| 監視 | API や Web ページを毎時確認し、異常があれば通知 |
| ノート整理 | 散らばったメモを週単位で整理する |
ダッシュボードで Cron を設定する
Control UI の Cron タブを開きます。
- Add schedule: Cron 式とタスク内容を入力
- Enable / disable: 個別のジョブを停止 / 再開
- Run now: 時刻を待たずに手動実行
Cron 構文の早見表
* * * * *
│ │ │ │ └─ 曜日 (0-7、0 と 7 は日曜)
│ │ │ └─── 月 (1-12)
│ │ └───── 日 (1-31)
│ └─────── 時 (0-23)
└───────── 分 (0-59)
よく使う例:
0 9 * * * ← 毎日 9:00
0 9 * * 1 ← 毎週月曜 9:00
0 */6 * * * ← 6 時間ごと
発火しないときはここを確認
- Config で Cron が有効か
- タイムゾーンが正しいか
openclaw logs --followにエラーが出ていないか- Gateway を再起動してみる
⚠️ 定期タスクもモデル資源を消費します。大量のスケジュールと大量の会話を同時に流すと HTTP 429 のような制限に当たることがあります。重いタスクは専用 Agent に分けるのが安全です。
次へ
これでアシスタントが自動で動けるようになりました。次は高度な設定とデバッグの勘所をまとめます。