スケジュール

指定したタイムゾーンと会話内で、エージェントのプロンプトを平日毎日、1時間ごと、または1回だけ実行します。

スケジュールは、指定した時刻(例:毎週平日の午前8時、または来週火曜日の1回)にエージェントにプロンプトを与えます。エージェントは指定された時刻ごとに、選択した会話でプロンプトをターンとして受け取り、そこで応答します。

スケジュールを作成する

左側のレールにあるスケジュールを開き、新しいスケジュールをクリックします。フォームには以下の情報が必要です。

フィールド入力内容
名前「朝のブリーフィング」のような短いラベル
エージェント作業を行うエージェント
プロンプトエージェントが毎回行うべきこと。チャットで記述するのと同じように記述します。
時刻繰り返し (cron)、繰り返し (RRULE)、または1回を選択し、その下に時刻を入力します。
タイムゾーンEurope/Amsterdam のようなIANAゾーン
返信先エージェントとのダイレクトメッセージ、またはチャンネルのいずれか
名前、エージェント、プロンプト、毎週のcron時刻、タイムゾーン、サポートデスクチャンネルを含むスケジュール編集フォーム
毎週月曜日の午前9時に、エージェントにサポートの概要を要求するスケジュール。

時刻の書き方:

  • Cronには、分、時、日、月、曜日の5つのフィールドがあります。0 8 * * 1-5 は、平日の午前8時です。
  • RRULEは、カレンダー形式を使用します(例:FREQ=WEEKLY;BYDAY=MO,WE;BYHOUR=9;BYMINUTE=0)。Lazeはこれを対応するcronとして保存します。
  • 1回は、ゾーン内のローカル時刻(例:2026-11-02T09:00)を取ります。1回限りのスケジュールは1度実行され、完了として表示されます。

無効な時刻またはゾーンは schedule_invalid とともに拒否され、何も保存されません。

繰り返しのスケジュールは、最大30分ごとに実行されます。*/5 * * * * のように実行間隔が短いcronまたはRRULEは、schedule_too_frequent とともに拒否されます。何かの発生後に実行すべき作業には、代わりにトリガーを使用してください。

スケジュールが実行されるとどうなるか

エージェントは、選択した会話に「Scheduled run: Morning brief」(スケジュールの名前を含む)とプロンプトを投稿し、その応答は当該メッセージの下のスレッドに表示されます。プロンプトはスケジュールを作成したメンバーからのメッセージとしてカウントされるため、エージェントはそのメンバーのボールトへのアクセス権限で動作します。

各実行は、ホスト型エージェントの新規セッションで開始されます。エージェントのスキルとメモリファイルはありますが、以前のチャットは含まれないため、毎回チャンネル、ファイル、接続からタスクを実行します。実行が終了すると、エージェントのメインセッションには、その実行が何を行ったかの簡単なメモが届きます。何もすることがない実行は何も投稿しません。

エージェントがそのチャンネルを離れている場合、実行は何も投稿せず、エージェントにターンを与えません。エージェントが削除された場合、実行はスキップとして記録され、スケジュールは停止します。

1つのアクティブなスケジュール、そのエージェント、チャンネル、cron時刻、次回の実行を示すスケジュールページ
各スケジュールには、エージェント、会話、時刻、次回の実行が表示されます。

まずチェック、変更があった場合のみ起動

変更をポーリングするスケジュールは、毎回モデルを必要としません。check(エージェントの作業フォルダーにある実行可能スクリプト)を設定します。スクリプトは、毎回トリガーされると、モデル呼び出しの前にエージェントのコンピューターで実行されます。

スクリプト発生する事象
終了コード0で何かを出力するエージェントが起動し、出力されたものがプロンプトに追加されます。
終了コード0で何も出力しない何も発生しません。実行は「Nothing new」と表示され、クレジットは消費されません。
エラーで終了するか、30秒以上実行されるチェックが失敗しました。エージェントはスリープ状態のままで、スケジュールは「Needs attention」の下に表示されます。

フォームのCheck firstの下、または laze schedule add ... --check checks/new-calls.sh で設定します。エージェントまたはそのオーナーのみがチェックを設定または変更できます。これは、エージェントのファイルと laze コマンドで実行されるためです。任意のターン外で実行されるため、laze vault コマンドはこれを拒否します。モデル自体を呼び出すチェックは、その呼び出しの料金を支払います。自身のマシンから接続されたエージェントは、チェックを実行するLazeコンピューターを持っていません。

スクリプトが最後に検出した内容は、自身のファイルに保存してください。この例では、値が変更されたときにエージェントを起動し、エージェントのターンが新しい値を保存します。

#!/bin/sh
now=$(laze app records list picks --site published | sha256sum)
[ "$now" = "$(cat state/picks 2>/dev/null)" ] && exit 0
echo "picks changed: $now"

出力の最初の8000文字は、スクリプトからのデータとしてマークされ、エージェントに届きます。これらは会話には投稿されません。連続して3回失敗すると、スケジュールを作成したメンバーのフィードに1枚のカードが送られます。今すぐ実行は最初にチェックを実行するため、スクリプトをテストします。スクリプトが何かを出力した場合にのみエージェントを起動します。チェックはスリープ中のコンピューターを起動させますが、チェックが何も検出しない場合、すぐにコンピューターはスリープ状態に戻ります。

監視対象がアプリのレコードやチャンネルである場合は、代わりにトリガーまたはモニターを使用してください。これらは変更時に起動し、それまでコンピューターを必要としません。

タイムゾーン、夏時間、ダウンタイム

時刻は、夏時間を含め、スケジュールのタイムゾーンに従います。

  • 時計が進み、その日にその時刻が存在しない場合、スケジュールはギャップの直後に1回実行されます。
  • 時計が戻り、時刻が2回発生する場合、スケジュールは最初の時刻に1回実行されます。
  • Lazeがダウンしていて実行を逃した場合、Lazeが復旧したときにスケジュールが1回実行され、その実行で何回スキップされたかが記録されます。次回の実行はそこからカウントされます。

スケジュールの一時停止、編集、削除

スケジュールページの各行には、実行タイミング、編集、一時停止または再開、および削除があります。

  • 実行タイミングには、各実行とその時刻、結果が一覧表示されます。
  • 一時停止は次回の実行をクリアします。再開は、現在から次回の実行をカウントし、一時停止中にスキップされた時間を取り戻しません。
  • 編集は、名前、プロンプト、時刻、ゾーン、または会話を変更します。一時停止中のスケジュールは、編集後も一時停止状態のままであり、完了した1回限りのスケジュールは、将来の時刻を指定すると再度実行されます。
  • 削除はスケジュールを削除します。スケジュールは二度と実行されません。

エージェントと会話できる人は、そのスケジュールを表示でき、作成、編集、一時停止、再開、削除が可能です。これには、オーナー、共有相手、およびチームエージェントの場合は全員が含まれます。スケジュールを依頼したメンバーも、そのスケジュールを保持します。他のメンバー(ワークスペースの管理者を含む)は、エージェントのスケジュールを表示できません。会話できないエージェントのスケジュール設定は、schedule_agent_not_allowed とともに拒否されます。

コマンドラインからのスケジュール設定

メンバーとエージェントは両方とも laze schedule を使用します。--cron、--rrule、または --at のいずれか1つを正確に指定してください。--tz がない場合、ゾーンはUTCになります。

laze schedule add "Morning brief" --prompt "Write my morning brief from my inbox and calendar" --cron "0 8 * * 1-5" --tz Europe/Amsterdam
laze schedule add "Renewal reminder" --prompt "Remind the team about the ACME renewal" --at 2026-11-02T09:00 --tz Europe/Amsterdam --channel <channelId>
laze schedule list
laze schedule pause <scheduleId>
laze schedule runs <scheduleId>
laze schedule run <scheduleId>

今すぐ実行と実行されなかった実行

スケジュールの行にある今すぐ実行、または laze schedule run <scheduleId> は、すぐに1回実行します。次回の実行時刻は移動しません。

スケジュールが実行されたときに、エージェントが接続されていない、削除されている、またはその会話が消滅している場合、そのスケジュールが実行される対象のメンバーは、フィードに1枚のカードを受け取ります。Your scheduled run "<name>" did not run と、その理由および今すぐ実行ボタンが表示されます。同じスケジュールが再度スキップされると、同じカードが再び表示されます。

例:フィードでの朝のブリーフィング

朝のブリーフィングは、エージェントにフィードカードを1つのグループとして投稿するように指示するプロンプトを持つスケジュールです。フィードには、最新のグループが挨拶の下に表示され、ラベルごとに1つのフィルターチップが表示されます。

laze schedule add "Morning brief" --cron "45 7 * * 1-5" --tz Europe/Amsterdam --prompt "Check my inbox, calendar and open loops. Post one feed card per thing that needs me with --group \"Morning brief <d Mon>\", one --label of money, promise, decide, nudge, risk or fyi, and --loop <stable key>. Then run laze feed group-summary \"Morning brief <d Mon>\" and post its output."

より大規模なブリーフィングでは、読み込みをスカウトに分割します。各スカウトエージェントに brief-scout スキルをインストールし、ブリーフィングを作成するエージェントに morning-brief をインストールします。次に、ブリーフィングの前にスカウトをスケジュールします。各スカウトは、レポートを briefs/<YYYY-MM-DD>/<scout>.md としてブリーフィングが読み取るチャンネルにアップロードし、すべてのアイテムの証拠を含めます。ブリーフィングエージェントはこれらのファイルを読み込み、遅延しているファイルに対しては最大15分待機し、各アイテムをチェックし、チェック済みのアイテムをグループ内のカードとして投稿します。実行されなかったスカウトはブリーフィングを主導し、そのオーナーも今すぐ実行ボタン付きの実行スキップカードを受け取ります。

同じ --loop キーを使用してカードを再度投稿すると、そのカードは新しいグループに移動し、表示された回数が示されます。--auto-send-on <YYYY-MM-DD> は、任意のカードに停止ボタン付きのカウントダウンを追加します。

エージェントが自身のキーで laze schedule add を実行すると、スケジュールはそのエージェントを対象とし、エージェントのオーナーによって作成されたものとしてカウントされます。チャットで定期的な作業を依頼されたエージェントは、この方法でスケジュールを作成できます。

こちらもご確認ください: CLIリファレンス、ホスト型エージェント。