LINEでインスタ大学の受取案内を見る

OpenAI Agents APIの定期実行の使い方|毎朝の状況まとめを任せる手順

OpenAI Agents APIの定期実行の使い方|毎朝の状況まとめを任せる手順

OpenAIのAgents APIには、決まった時刻にエージェントの作業を自動で始める「Scheduled automations(定期実行)」があります。OpenAIの開発者向けドキュメント「Scheduled automations」によると、cron式と時間帯を指定して、毎回新しいセッションを始めるか、既存のセッションの続きとして作業を渡すかを選べます。毎朝10時に「今の状況と次にやること」のまとめを1件作らせる、といった使い方ができます。

この記事は、2026年10月26日(日本時間)にS.EarchのYouTubeチャンネルで公開された無料動画「毎朝の「今どうなってる?」をAIが先にまとめる|OpenAI Agents APIの定期実行」の無料公開部分(冒頭から約5分半)を核にしています。仕組みと設定項目は、2026年10月26日に確認したOpenAI公式ドキュメントの記載で裏付けた範囲に限っています。

目次

Agents APIの定期実行(Scheduled automations)とは

Agents APIの定期実行とは、エージェントに渡す作業と実行のタイミングを保存しておき、決まった時刻になるとAgents APIがその作業を対象のセッションへ送る仕組みのことです。人が毎回依頼を送らなくても、時刻をきっかけにエージェントの作業が始まります。

公式ドキュメントの記載を、動画で扱った範囲に絞って整理すると次のとおりです。

できること 公式ドキュメントの記載(要旨)
時刻を決めて作業を始める cron式と時間帯を指定し、新しいセッションを始めるか、既存のセッションを続ける
エージェント自身が後の作業を予約する エージェントに「automations」ツールを渡すと、作業の途中で今のセッションへの後続の作業を予約できる。このツールは初期状態では付いていない
実行の記録を見る 実行のたびに「invocation」という記録が残り、状態と送り先のセッションIDを確かめられる

動画では、この仕組みを「起こすだけでなく、朝の支度まで頼んでおける目覚まし時計」にたとえていました。これまでは人が依頼を送ったときにエージェントが動くのが基本でしたが、定期実行では時刻が来るとAPIの側から作業が始まります。

使う前に確認すること

定期実行はプログラムからAPIを呼んで使う機能で、ChatGPTの画面から設定するものではありません。公式ドキュメントのコード例では、SDKのbetaの名前空間(例:Pythonのclient.beta.agents.automations.create)から呼んでいます。

確認すること 公式ドキュメントで分かること 自分で確かめること
料金 このページには、定期実行そのものの料金は書かれていない APIの料金として、エージェントの実行にかかる費用を使う前に確認する
呼び出し方 SDKは「OpenAI-Beta: agents=v1」ヘッダーを付ける。cURLで呼ぶときはこのヘッダーを自分で付ける 使っているSDKがAgents APIに対応した版か
結果の届け方 定期実行は作業を予約するだけで、セッションの出力を見せる・利用者へ通知するのはアプリ側の役割 まとめをどこで読むか(自分のアプリの画面、通知など)
実行の時刻 繰り返しの実行には負荷を分散するための小さなランダムな遅れが加わる。送り先のセッションが別の処理を進めている間は、空くまで待つ 「10時ちょうど」でなくても困らない使い方か

新しいセッションか、続きのセッションか

定期実行では、作業の送り先(target)を2種類から選びます。公式ドキュメントは、前の会話の履歴が要るかどうかで選ぶよう案内しています。

送り先 向いている作業 必要な設定
new_session(毎回新しく始める) 毎月の支出の見直しのような、毎回独立した作業 エージェント、実行環境、最初に渡すメッセージ(target.input)
existing_session(続きから始める) 前の調べた結果が要る、続きの作業 セッションIDと、毎回渡す指示文(target.instructions)

動画では、この違いを「毎朝新しいノートを開くか、昨日のノートの次のページに書くか」にたとえていました。新しいノートは前の日の書き間違いを引きずらず、続きのページは変化を追いやすくなります。例えば、先週から残っている見積もりの件が何日残っているかを書かせたいなら、続きから始める方が向いています。

迷ったら、最初は毎回新しく始める形でしばらく試し、前の日との違いが欲しくなったら続きから始める形に切り替える、という順番が動画で紹介されていました。

時刻の決め方|cron式と時間帯

繰り返しの時刻は、5つの欄で書くcron式と、時間帯の名前で指定します。公式ドキュメントに載っている例は次のとおりです。

cron式 実行される時刻
0 10 * * * 毎日10時
0 */2 * * * 2時間ごと
0 9 1 * * 毎月1日の9時
0 9 * * MON-FRI 月曜から金曜の9時

時刻の解釈は時間帯で決まります。公式ドキュメントの例は「America/New_York」のようなIANAの時間帯名で、UTCで動かすなら「UTC」と書きます。日本の朝に動かしたいなら、日本の時間帯(Asia/Tokyo)を指定します。

1回だけの確認なら、繰り返しの代わりにtype: "once"とrun_at(秒単位のUnix時刻)を使います。この場合、cron式と時間帯は書きません。

手順|毎朝の状況まとめを定期実行で作る(説明用の架空例)

ここからは動画の例をそのまま使います。小さな会社で案件の進み具合を管理していて、毎朝AIに「今どうなってる?」と聞くところから1日が始まる担当者、という説明用の架空の例です。ゴールは、自分から頼まなくても、翌朝にまとめが1件できている状態です。

  1. エージェントを用意する:Agents APIで、指示と必要な道具を持たせたエージェントを作ります。
  2. 定期実行を作る:種類を繰り返し(periodic)にし、cron式0 10 * * *と、日本時間の時間帯を指定します。
  3. 毎回渡す依頼文を決める:「今の状況と次にやることをまとめて」などの依頼文を、送り先に合わせてtarget.inputかtarget.instructionsに入れます(依頼文の型は次の章)。
  4. 記録を見る:翌朝、実行の記録(invocation)で、その回が送られたか、どのセッションに送られたかを確かめます。

公式ドキュメントのPythonの例で、毎日10時(ニューヨーク時間)に新しいセッションを始める設定に使われている主な項目は次のとおりです。

項目 公式の例の値 意味
type periodic 繰り返しの実行
expression 0 10 * * * 毎日10時
timezone America/New_York cron式を解釈する時間帯
target.type new_session 毎回新しいセッションを始める
target.agent_id 保存したエージェントのID 代わりにtarget.agentでその場の設定も渡せる(どちらか一方)
target.input Summarize the current status and next steps. 最初に渡すメッセージ

作成すると定期実行は「active」の状態で保存されますが、その場では実行されません。最初の実行は、次にcron式に合う時刻です。すぐ試したいときは、本文なしでPOST /v1/agents/automations/{automation_id}/invocationsを送ると手動で1回実行でき、保存した予定は変わりません。

依頼文の型|その場で言い直せない前提で3行を書く

人が送る依頼なら、返ってきた答えを見てすぐ言い直せます。でも決まった時刻に動く依頼は、朝まで誰も見ていません。動画では、次の3つを先に書いておくことをすすめていました。

欄 この例での書き方
何を読むか エージェントが読める場所にある、案件の進み具合のメモを読んで
何を出すか 終わっていない仕事、期限、確認が必要な点の三つに分けて
無い情報は補わない 期限が書かれていない仕事は、期限なしと書く。推測で日付を入れない

特に大事なのは3つ目です。誰も見ていない時間に、それらしい日付が埋められると、朝に読んだ人がそのまま信じてしまうかもしれません。最初から「分からないものは分からないと書く」と決めておけば、まとめの中で確認すべき場所がはっきりします。どの欄も1行ずつで足ります。

記録の見方|「届いた」と「終わった」は別

実行のたびに残るinvocationでは、次の項目を確かめます。公式ドキュメントは、配送が完了しても、エージェントの作業が終わったとは限らないと太字で注意しています。

項目 見ること
status 最初はqueued。配送に成功するとcompletedになる
session_id 配送後に追いかけるセッション。セッションが用意される前はnullのこともある
source.type 手動の実行ならmanual、予定どおりの実行ならautomation
scheduled_at 予定していた時刻。手動の実行ではnull

まとめの中身を確かめるには、invocationのsession_idを使ってセッションのイベントを追い、その回の結果を見ます。

予定を変える・止める

公式ドキュメントによると、作った定期実行はAPIで変更・一時停止・再開・削除できます。

したいこと 操作 効果
一時停止 POST /v1/agents/automations/{automation_id}/pause 予定の配送を止める。手動の実行は使える
再開 POST /v1/agents/automations/{automation_id}/resume 保存した予定を再び有効にする
削除 DELETE /v1/agents/automations/{automation_id} 今後の予定の実行も手動の実行もできなくなる

cron式などの変更は、次の予定時刻より前に行います。変更はこれからの実行に反映され、すでにキューに入った実行は作成時の内容のままです。エージェントにautomationsツールを渡していた場合、ツールを外しても保存済みの予定は消えないため、止めたいときは一時停止か削除をAPIで行います。

よくある質問

Q1. 定期実行はChatGPTの画面から設定できますか?
この記事で扱うのは、プログラムから呼ぶAgents APIの機能です。公式ドキュメントでは、APIやSDKで定期実行を作る方法が説明されています。
Q2. 定期実行の料金はいくらですか?
2026年10月26日に確認した公式ドキュメントのページには、定期実行そのものの料金は書かれていません。エージェントの実行にかかる費用は、使い始める前にAPIの料金として確認してください。
Q3. 作成した直後に実行されますか?
されません。公式ドキュメントによると、作成すると「active」の状態で保存され、繰り返しの場合は次にcron式に合う時刻が最初の実行になります。すぐ試すなら、invocationsへの手動の実行を使います。
Q4. 予定の時刻ちょうどに動きますか?
ちょうどとは限りません。繰り返しの実行には負荷を分散するための小さなランダムな遅れが加わり、送り先のセッションが別の処理を進めている間は空くまで待つと書かれています。
Q5. まとめができたら通知は届きますか?
定期実行は作業を予約する仕組みで、セッションの出力を表示したり利用者へ通知したりするのはアプリ側の役割だと公式ドキュメントに書かれています。通知が欲しい場合は、自分のアプリ側で用意します。

まとめ|時刻に任せる依頼は「読む・出す・補わない」を先に書く

OpenAI Agents APIの定期実行を使うと、人が思い出して送っていた「今どうなってる?」の依頼を、決まった時刻に任せられます。cron式と時間帯で時刻を決め、毎回新しく始めるか続きから始めるかを選び、翌朝は実行の記録とセッションの結果を確かめます。依頼文には、何を読むか、何を出すか、無い情報は補わないの3つを1行ずつ書いておきましょう。

組み立ての流れは、2026年10月26日公開の無料動画でも確認できます。AIに朝の確認を任せる別の例として、Claude Codeで朝の確認表を作る方法や、Claude Codeクラウドセッションで離席中に修正を任せる方法もあわせてどうぞ。ほかの動画記事はS.Enseのトップページから読めます。

この記事は、2026年10月26日公開の無料動画のうち無料で見られる部分と、2026年10月26日に確認したOpenAI開発者向けドキュメント「Scheduled automations」の記載をもとにしています。案件を管理する担当者は説明用の架空の例です。APIの仕様と提供の条件は更新されることがあるため、使う前に公式の最新の記載を確認してください。

この記事を書いた人

目次