Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
2026-07-25 OpenClaw schdulerをマスターする @ AI社会実装勉強会
Search
Naka Masato
July 25, 2026
Technology
17
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
2026-07-25 OpenClaw schdulerをマスターする @ AI社会実装勉強会
OpenClaw Schedulerをマスターする
https://docs.openclaw.ai/automation/cron-jobs
Naka Masato
July 25, 2026
More Decks by Naka Masato
See All by Naka Masato
2026-05-30 OpenClaw で目標管理を自動化する @ AI実装勉強会
nakamasato
0
39
2026-03-28 Slack × GitHub × Claude で作る Chat Bot Agent 改善サイクル@AI実装勉強会第57回
nakamasato
0
140
2025-12-27 Claude CodeでPRレビュー対応を効率化する@機械学習社会実装勉強会第54回
nakamasato
4
1.8k
2025-10-25 AIコーディングで開発した業務報告書自動生成アプリ
nakamasato
0
130
2025-07-27 Dev Containerで安全に Claude Codeを使う
nakamasato
0
1.3k
2025-01-26 Platform EngineeringがあればSREはいらない!? 新時代のSREに求められる役割とは@SREKaigi 2025
nakamasato
0
98
2025-01-25 Devin.aiを使ってみた使用感@機械学習社会実装勉強会第43回
nakamasato
0
570
2024-07-11 Mercari Hallo 立ち上げ時のSRE
nakamasato
2
660
2024-07-03 Eliminating toil with LLM
nakamasato
1
300
Other Decks in Technology
See All in Technology
Devsumi 2026 Summer 人もAIも使える共通基盤を事業の加速装置にする~デザインシステム運用に学ぶ組織レバレッジ~ 渡辺 凌央
legalontechnologies
PRO
1
280
壊して学ぶAWS CDK: そのcdk deployで消えるもの、残るもの
k_adachi_01
1
480
インシデント事例と パッケージの全量解析に学ぶ ソフトウェアサプライチェーンの守り方 / supply-chain-attack-defense
flatt_security
0
890
SRENEXT_2026_Chairs__Talks_in_Tamachi.sre.pdf
srenext
1
140
ここは地獄!つらい朝会を体験することで、チームとしてのより良い振る舞いに気づくワークショップ / The stand-up meeting from hell in the game industry
scrummasudar
0
220
PHPで作って学ぶリアルタイム音声対話AIとWebSocket入門 by ムナカタ
munakata
0
130
非定型なドキュメントを効率よくリファクタする 〜えぇ!?仕様書27本の移行が1日で終わったって!?〜
subroh0508
2
610
インフラと開発の垣根を超えていき!〜元AWSインフラエンジニアがAWS開発で奮闘している話〜
hatahata021
3
390
それでも、技術なブログを書く理由 #kichijojipm / Why I Still Write Tech Blogs Even Now
shinkufencer
0
330
なぜ、あなたのAPIは使われないのか? AX時代の設計原則、ガードレール、運用体制
yokawasa
1
210
「守りたい体験」を渡すだけで E2E を生成させられるようになった話
hinac0
2
1k
AI Native なプロダクト組織の立ち上げ方 : 生産性 100 倍への挑戦
mikesorae
0
1.2k
Featured
See All Featured
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
590
Chasing Engaging Ingredients in Design
codingconduct
0
240
WCS-LA-2024
lcolladotor
0
750
We Are The Robots
honzajavorek
0
280
Thoughts on Productivity
jonyablonski
76
5.3k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
210
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
620
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.9k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
490
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
420
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
67
56k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Transcript
AI 社会実装勉強会 OpenClaw Scheduler をマスターする 那珂将人 2026/07/25
今日の話 Scheduler は、思っているより守備範囲が広い リマインド 忘れる前提で仕組みにする 期限、フォローアップ 定期レポート 毎回まとめるのが面倒 日次・週次のサマリー 監視・チェック
異常なときだけ知りたい コスト、エラー、 PR の滞留 繰り返しタスク実行 毎回やることが同じ 集計、同期、バックアップ Ad-hoc / 単発 今回だけ予約したい 「明日 9 時にこれ確認して」 今日は OpenClaw の Scheduler (cron) で何ができるのかを話します。
AI Agent 以前 定期実行そのものは、前からやっていた GitHub Actions Zapier Slack リマインダー cron
でワークフローを 定期実行する サービス間の連携を トリガーで組む チャンネルに定期的な 通知を出す 定期実行そのものは、これらでできていた。
課題 純粋な Scheduler の 3 つの課題 1 2 3 設定が面倒
GUI でポチポチ設定する/コードで書く。連携したいサービスごとに認証・接続の設定が必要。 通知が来た後のアクションは自分でやる 通知は届くが、そこから先は連携サービス上で手を動かす。例:タスクの状態更新、 Doc の更新。 Non-deterministic な処理は自前実装 LLM を挟みたい場合、 SDK を使って自分で実装する必要があった。
変わったこと AI Agent × Scheduler で課題が解決 以前 設定が面倒 通知後のアクションが手動 LLM
処理は自前実装 OpenClaw などの AI Agent 自然言語で設定できる 「これ明日 9 時にリマインドして」 返信をそのまま拾って更新 Doc / State の更新まで繋がる LLM 実行が組み込み 判断を含む処理をそのまま書ける
設定コストがほぼ消えた = 設定する数を増やせる 今日は具体的に、 OpenClaw の Scheduler で何ができるのかを見ていきます。
パ タ ーン OpenClaw Scheduler (cron) agentTurn command LLM が判断する
決まった処理を確実に実行する • 要約・レビュー・調査 • 取得・チェック・集計 • 指示を書くだけで動く • スクリプトを呼ぶ • 毎回の出力に揺れがある • 毎回同じ結果/テストできる 元々は agentTurn のみ。 6 月に command が追加された。 ※ ほかに --system-event (システムイベントとして渡す)もある
設定 agentTurn の設定 スケジュール --at ペイロード 一回きり( ISO 8601 /
"20m" のような相対指定) --message Agent に渡すプロンプト( isolated は必須) --every interval 設定 --system-event --cron cron 表記( 5 / 6 フィールド) --model / --fallbacks --tz タイムゾーン。未指定だと UTC 扱い --exact / --stagger 実行時刻の分散を制御 --light-context bootstrap の注入を省略 --tools --session main / isolated / current / session:<id> 配信 どの Agent に実行させるか --wake main セッションを起こす( now / next-heartbeat ) --name ジョブ名 使えるツールを制限 --announce / --no-deliver --channel / --to --webhook HTTP エンドポイントに POST 実行後に消すか残すか --session の公式の用途: main = リマインダー・システムイベント / isolated = レポート・バックグラウンド current ・ session:<id> = 文脈を積み上げる処理 現状は基本 isolated を使っている openclaw cron add --name "Morning brief" --cron "0 7 * * *" --tz "Asia/Tokyo" \ --announce --channel slack --to "channel:C..." 最終応答を送るか 送信先チャンネルとターゲット --delete-after-run --session isolated --agent main --message "..." \ モデルとフォールバック --thinking thinking レベル セッション・実行 --agent システムイベントとして渡す
設定 command の設定 コマンド実行 --command スケジュール・配信は agentTurn と共通 シェル文字列( sh
-lc で実行) --at / --every / --cron / --tz --command-argv 厳密な argv 実行(シェル解釈なし) --announce / --no-deliver --command-cwd 作業ディレクトリ --channel / --to / --webhook --command-env 環境変数( KEY=VALUE ) 実行の扱い --command-input stdin に渡す入力 出力・タイムアウト --timeout-seconds 結果を送るか 送信先 そのまま結果になる(空なら stderr ) exit 0 ok として記録される 実行時間の上限 --no-output-timeout-seconds --output-max-bytes stdout 同じ指定方法 無出力タイムアウト 非 0 / signal / timeout error として記録され、失敗通知の対象 NO_REPLY 何も投稿しない 出力サイズの上限 モデルを介した agent turn は起動しない openclaw cron create "*/15 * * * *" \ --name "Queue depth probe" \ --command "scripts/check-queue.sh" --command-cwd "/srv/app" \ --announce --channel slack --to "channel:C..."
運用の実態 cron の例 タスク期限チェック 期限が近いものを拾って通知 command 目標 Check-in 進捗を定期的に確認する command
モニタリング コストや状態を見て閾値で知らせる command 開発支援 Open PR を読んで要約する agentTurn 調査 調べてまとめる agentTurn Ad-hoc (その場で頼む) 「 17 時の実行の結果を 17 時 10 分に確認してこのスレで通知して」 agentTurn 事前に登録しておくものだけでなく、思いついたときに一言頼めるのが効く( Ad-hoc )
運用の Tips 3 ヶ月まわしてみて効いたこと
Tip 1 agentTurn は「 Skill を実行する」 message にする message に処理を直接書く
"message": "◦◦ を集めて△△の形式で まとめて□□に通知して… " cron 以外に、普段の Agent とのやり取りからも同じ処理を呼べる 処理の実体が 1 か所にまとまり、 cron 定義が指示文で肥大化しない 修正が Skill 側だけで済む Skill 化して、それを呼ぶ "message": "xxx-report skill を 実行して "
Tip 2 形が固まったら command に寄せる agentTurn で作る 動きが固まる command に落とす
とにかく速い。まず動かして試す 出力と手順が安定してくる deterministic にする 特に、最終的なフォーマットを固定したいものは command が向く 出力の揺れがなくなる 実行時間とコストが読める agentTurn は「まだ形が決まっていない処理」の置き場と考える。 テストできる
その先にあること command が増えると、 Script 管理が本題になる 1 1 スケジュール = 1
スクリプト 最初はこれで足りる 2 共通処理が出てくる 同じような取得・整形・通知が重なる 3 散らかりはじめる どこに何があるか分からなくなる やっていることは、普通の CLI 開発に近づいていく
設計 テストと再利用性を考えてモジュールに切る 共通化しない パッケージとして構成する 冗長なコードが散乱する 実行もテストもやりやすくなる 依存関係が明示される エントリポイントが揃う 通常のライブラリと同じようにユニットテストが書ける
設計 構成例 scripts/ ├── pyproject.toml 共通処理を切り出す ├── src/ 取得・整形・通知をモジュールに分ける │
└── jobs/ │ ├── __init__.py │ ├── common/ # 共通処理 │ └── reports/ # 各ジョブ └── tests/ └── test_reports.py エントリポイントを揃える cron からは同じ形で呼べるようにする テストを書く 外部依存はモックして単体で回す ★ 実構成に差し替え
今後の展望 create-scheduler Skill を AI Agent に追加 1 2 3
用途を伝える Skill が判断する Scheduler ができる 「毎週これをまとめたい」 agentTurn か command か 命名・配置・構成も揃う AI Agent 自体に依頼して、 Scheduler を決まった形で使えるようにしておく WIP 現在進行中
まとめ Scheduler は起点として万能。だいたいのことは「いつやるか」から始まる AI Agent で「設定・連携・ LLM 処理」の手間が消えた → 数を増やせる
agentTurn は Skill を呼ぶ形にすると、 cron 以外でも再利用できる 形が固まったものは command に寄せて deterministic にする command が増えると普通のソフトウェア開発。テストと再利用性を意識する 最終的には、その作り方自体を Skill にしていく
まだ模索しているところ 大きく分けると、 2 つのパターンがある AI Agent の中で実行する 決まったスクリプトの Scheduler OpenClaw
の cron command など + AI Agent から Scheduler を設定 考えることが増える 普通に実装できる LLM への接続方法 LLM の API Key MCP 用クライアントの作成 各サービスの Client SDK 後者なら、 AI Agent 側に Scheduler の設定を 簡単に開発できる Skill を作るとよさそう
ご清聴ありがとうございました!