ガイド

AIエージェントを定期実行する仕組みと設定手順

結論、AIエージェントの定期実行はOS標準のスケジューラ(macOSならlaunchd)に「非対話で起動するコマンド」を登録するだけですが、承認なしで動く分だけ準備が要ります。launchd自体の設定手順はlaunchdで定期実行する方法にまとめたので、本記事はAIエージェント特有の注意点に絞ります。

なぜスケジュール実行が要るのか

AIエージェントは、依頼を受けてその場で作業するだけでなく、決まったタイミングで繰り返し走らせると効果が大きくなります。たとえば「毎朝ニュースをまとめる」「1時間ごとにログを点検する」といった定型作業は、人間が毎回起動していると忘れや手間が発生します。ここを自動化するのがスケジュール実行の役割です。

やっていること自体はシンプルで、「AIエージェントを起動するコマンド」を、OSが持つタイマーのような仕組みに登録するだけです。難しいのはコマンドの中身ではなく、非対話(人が横で見ていない状態)で安全に動かすための準備の方です。plistの書き方やlaunchctl bootstrapでの登録方法など、登録そのものの手順はlaunchdで定期実行する方法を参照してください。

AIエージェントを非対話で走らせるときの注意点

スケジュール実行では人間が横で承認できないため、対話で使うときとは別の準備が要ります。

  • 承認プロンプトが効かない前提で操作範囲を絞る: Claude Codeのようなエージェントは対話中なら操作のたびに確認を求めてきますが、非対話実行ではその確認画面自体が出せず、誰も応答できません。書き込みや外部送信を伴う操作は事前に許可リストから外すか、読み取り中心の作業に絞り、生成物は人間が後から確認して反映する運用にします。
  • 認証情報の受け渡し方法を事前に決めておく: スケジュール実行はログインシェルや対話セッションとは別の環境で動くため、都度入力するパスワードやキーチェーンの確認ダイアログには頼れません。必要なAPIキーや環境変数は設定ファイル側で明示的に渡し、キーチェーンアクセスが要る操作は事前に許可を済ませておくか対象から外します。
  • 暴走・二重起動を防ぐ設計にする: 人が止められない状態で動くため、同じ処理が二重に走っても壊れないようにし、想定より長く動き続けたら強制終了する・失敗したら止まるといったガードをスクリプト側に入れておきます。
  • 必ずログを残す: 画面に何も出ないため、標準出力と標準エラーをファイルに書き出しておきます。動かないときの原因(コマンドのパス誤り・権限不足・認証切れなど)は、ほぼログを見て切り分けます。

Claude Codeのようなエージェントを対象にする場合は、非対話で起動できる実行方法を使い、上記のように操作範囲を絞ったうえでスクリプト化して登録します。どんなルールや手順を毎回守らせたいかを仕組みとして固めておく方法は、Claude Code Skills/Hooksの作り方で解説しています。Claude Code自体の基本操作はClaude Codeの使い方ガイドにまとめているので、導入からの人はそちらを先に見るとつながりやすいです。

向いていない人

  • 作業内容が毎回大きく変わり、定型化できていない人。まずは手作業で数回繰り返し、手順が固まってから自動化した方が早い。
  • 書き込みや送信を伴う操作を、確認なしで任せることに不安がある人。その場合は生成物を人間が確認して反映する運用にとどめるのが無難。

FAQ

Q. スケジュール実行でAIエージェントを動かすと、確認なしで勝手に操作されませんか? A. 非対話で走らせる場合は人間が都度承認できないため、実行できる操作の範囲を事前に絞る設定が前提になります。読み取り中心の作業から始め、書き込みや外部送信を伴う操作は対象から外すか、生成物を人間が後から確認して反映する形にするのが安全です。

Q. ログイン用の認証情報やAPIキーはどう渡しますか? A. スケジュール実行はユーザのログインシェルとは別の環境で動くため、対話中にキャッシュされた認証情報やキーチェーンの確認ダイアログには頼れません。環境変数やAPIキーは設定ファイル側で明示的に渡し、キーチェーンアクセスが要る操作は事前に許可を済ませておくか、対象から外す必要があります。

Q. 実行されているか、失敗していないかはどう確認しますか? A. スケジュール実行は画面に出ないため、実行のたびにログをファイルへ書き出す設定にしておきます。標準出力と標準エラーを別ファイルに残しておくと、動いていない原因(コマンドのパス誤り・権限不足など)を後から追いやすくなります。

まとめ

AIエージェントの定期実行そのものの登録手順は、通常のコマンドと同じくlaunchdやcronに任せられます(launchdで定期実行する方法参照)。難所は登録方法ではなく運用側にあり、承認プロンプトが効かないことを前提に操作範囲を絞る・認証情報の渡し方を決める・暴走を防ぐ・ログを必ず残す、の4点を最初に押さえておくと、無人でも落ち着いて任せられるようになります。