あなたがいなくても働き続けるエージェント

Claudeを自動実行するようスケジュールする方法

ここで取り上げるのはAnthropicのClaudeとAnthropicのClaude Codeです。本ガイドは独立したものであり、Anthropicとの提携や支持関係はありません。

ラップトップを閉じたあとも、スケジュールやAPI呼び出し、GitHubのイベントをきっかけに働き続けるAIエージェントについての投稿が、今週あちこちで見られました。これは理論上の話ではありません。AnthropicのClaudeとAnthropicのClaude Codeは、すでにそれを複数の方法でサポートしています。実際にどこで作業を動かしたいかによって、使う方法は変わります。本ガイドは特にClaude Code、つまり開発者向けのツールについて扱い、一般消費者向けのチャットアプリClaudeが持つ別の予約タスク機能については扱いません。Claude Codeのセッションが自ら起動するとは実際にどういうことか、今週人々が設定している5つの方法、そして監視なしに動かす前に行うべき確認事項を説明します。

Claude Codeのセッションが自動実行されるとは、事前に保存したプロンプトから自分で起動し、それを処理して、その場で誰も端末を開くことなく結果を報告することを意味します。Claude Codeはこれを5つの方法でサポートします。自分のマシンでまだ開いているセッション内で素早くポーリングする/loop、Anthropic自身のインフラ上で動く永続的なクラウドタスクを作る/schedule、ラップトップを閉じたあとも動き続けるclaude.ai/code上のクラウドセッション、リポジトリのイベントやcronスケジュールでClaude Codeを実行するGitHub Actionsワークフロー、そしてコマンドラインからclaude -pを呼び出すcron、launchd、タスクスケジューラといった普通のOSスケジューラです。

公開日

無料レッスン · アカウント不要Claudeと出会うなぜClaudeなのか?6 分無料レッスンを始める

要点まとめ

  • 自動実行とは、Claude Codeのセッションが事前に保存されたプロンプトから自分で起動し、それを処理して、その場で誰も端末を開くことなく結果を報告することを意味します。
  • /loopは自分のマシンで開いたままにしておくセッション内で動き、/scheduleは代わりにAnthropic自身のインフラ上で動く永続的なクラウドタスクを作成します。これはリネーム前はRoutineと呼ばれていました。
  • claude.ai/code上のクラウドセッション、GitHub Actionsワークフロー、そしてclaude -pを呼び出す自分のコンピューターのスケジューラは、誰もキーボードの前にいなくてもClaude Codeを動かすさらに3つの方法です。
  • /loopの背後にあるcronツールは、Claude Codeが自分のマシンで開いたまま待機している間だけ発火します。閉じたラップトップを生き延びる必要があるものは、代わりに/schedule、GitHub Actions、あるいは自分のOSスケジューラに属します。
  • ここで紹介するどの方法も、監視なしで信頼する前に同じ確認が必要です。権限を狭く絞ること、支出の上限、実行履歴を見られること、そして送信・支払い・削除を行う操作に対する人間による承認ステップです。

一目でわかる:Claude Codeを無人で動かす5つの方法

方法動作する場所自分のマシンを起動しておく必要があるか向いている用途
/loop自分のマシン上の開いたセッション内はい、セッションを開いたままにする必要があるデプロイやプルリクエストなど、今日見ているものを見張る
/scheduleAnthropicのクラウドインフラいいえ閉じたラップトップを生き延びる必要がある定期タスク
クラウドセッション(claude.ai/code)Anthropicのクラウドインフラいいえ任せて後で確認する、一回限りの大きな作業
GitHub ActionsGitHubがホストするランナーいいえ時計ではなくリポジトリのイベントに反応する
OSスケジューラ + claude -p自分のマシンまたはサーバーはいスケジューリング自体をどのクラウドアカウントにも依存させない

コピーして使える

今日から使えるプロンプト

今まさに見ているものを素早くローカルでループで確認する

/loop 10m check whether the deploy to staging has finished, read the last 50 lines of its log, and tell me in one line whether it succeeded, failed, or is still running. Don't touch anything, just report back each time.

/loopはこのセッションが自分のマシンで開いている間だけ発火し、午後の間だけ何かを見張るのにぴったりです。

/scheduleで作成する永続的なクラウドタスク

/schedule every weekday at 8am, open the repository's pull requests, read any new review comments or failed CI checks since yesterday, and post a one-paragraph summary to our team channel. If nothing changed, say so in one line instead of repeating yesterday's summary.

/loopとは異なり、これはラップトップを閉じたあともAnthropic自身のクラウドインフラ上で動き続けます。

何かをスケジュールする前に、無人実行が何をできるかを尋ねる

Before I turn this into a scheduled task, tell me plainly what you can do without me watching: can you push commits, open pull requests, spend any API budget, or message anyone on my behalf? List anything that needs my approval first, so I know exactly what I'm turning on before I save this schedule.

ここでの良い回答は具体的です。曖昧な回答は、質問を飛ばす理由ではなく、タスクを狭める理由になります。

1つのイベントに絞ったGitHub Actionsワークフロー用のプロンプト

Read the pull request that was just opened, compare it against the project's CLAUDE.md conventions, and leave one inline comment per real issue you find. If you find nothing worth flagging, post a single comment that says the change looks clean. Never approve or merge the pull request yourself.

これはチャット画面に打ち込むものではなく、ワークフローのprompt入力欄に入れるテキストです。

対話型 対 無人実行

「自分で動く」とは実際にどういうことか

これまでAIアシスタントと行ったチャットは、おそらくすべて同じように始まったはずです。ウィンドウを開き、何かを入力し、待つ。そのウィンドウを閉じると、会話は戻ってくるまで存在をやめます。留守の間は何も起こりません。あなたがいない間に起こるよう予定されていることが何もないからです。

自動実行はそれを逆転させます。Claude Codeのセッションは自分で起動し、事前に設定した時刻、あるいはイベントへの反応として、すでに書いたプロンプトを処理し、完了したときかあなたを必要とするときに止まります。セッションを起動するのが誰かが本当の分かれ目であり、見ている瞬間に基盤となるモデルがどれほど優秀かではありません。

この一つの違い、セッションを起動するのは誰かという点が、本ガイドの残りの部分がClaude全般ではなく特にClaude Codeについて書いている理由でもあります。一般消費者向けのチャットアプリであるAnthropicのClaudeには、日々の受信トレイの要約のような用途向けの、独自の別の予約タスク機能があります。開発者向けのエージェント型ツールであるClaude Codeには、リポジトリ、端末、CIパイプライン内で動くために作られた別の仕組みがあり、本ガイドの残りはそれを扱います。

以下の5つの仕組みはいずれも、新しいソフトウェアを書くことを求めません。どれもClaude Codeに、いつ始めて、始めた後何をするかを伝える方法にすぎず、すでに今日存在するツールを使います。

作業が実際に動く場所

Claude Codeをスケジュールに乗せる5つの方法

最も印象的に聞こえるものではなく、作業が行われる必要のある場所に合うものを選びましょう。

/loop:開いたセッションでの素早いポーリング

プロンプトを一定間隔で再実行する、あるいはClaude自身に間隔を選ばせるClaude Code組み込みのコマンドで、セッションが自分のマシンで開いている間だけ動きます。

/schedule:永続的なクラウドタスク

同じくClaude Code組み込みのコマンドです。プロンプト、リポジトリ、コネクタを、スケジュール・API呼び出し・GitHubイベントによってAnthropic自身のクラウドインフラ上で動く予約タスクとして保存し、自分のマシンが起動しているかどうかに関わらず動作します。

claude.ai/code上のクラウドセッション

ブラウザ、Claudeのモバイルアプリ、あるいは端末からclaude --cloudでClaude Codeのセッションを開始します。ラップトップを閉じたあとも動き続け、どのデバイスからでも確認できます。

GitHub Actionsワークフロー

Claude CodeのGitHub Actionはリポジトリのワークフロー内で動作し、@claudeへの言及に応答するか、設定した任意のイベント(cronスケジュールを含む)で保存済みのプロンプトを自動的に実行します。

自分のコンピューターのスケジューラ、claude -pを使う

macOSとLinuxのcronとlaunchd、Windowsのタスクスケジューラが、Claude Codeの非対話オプションであるclaude -pを、自分で書いた1行やスクリプトから呼び出します。スケジュールに結びついたクラウドアカウントはまったくありません。

CLIに組み込まれている

/loopと/schedule:Claude Code自身のスケジューリングコマンド

/loopはこれを試す最も速い方法です。/loop 5m check the deploy and tell me if it finishedと入力すると、Claude Codeはその間隔をcron式に変換し、現在のセッション内でジョブをスケジュールし、停止するか7日が経過するまで(どちらか早い方まで)5分ごとにプロンプトを再実行します。間隔を省略すると、Claudeが代わりに動的に選び、見ているものが落ち着けばより長く待ちます。

落とし穴はまさにその仕組みにあります。/loopはセッション単位です。それが作るタスクは、その特定のClaude Codeセッションが自分のマシンでまだ動いていて待機している間だけ発火します。端末を閉じると停止します。これにより/loopは午後の間デプロイやプルリクエストを見張るのには非常に向いていますが、ラップトップを閉じることを生き延びる必要があるものには向きません。

/scheduleはもう一つの組み込みコマンドで、まさにそのギャップを解決します。/schedule daily PR review at 9amのように自然な言葉で定期タスクを記述するか、/schedule in 2 weeks, open a cleanup PR that removes the feature flagのように一回限りのものを記述すると、Claude Codeはそれを、Anthropicがリネーム前にRoutineと呼んでいたクラウド予約タスクとして保存します。そこからは、自分のマシンが起動しているかどうかに一切依存せず、スケジュール、API呼び出し、またはGitHubのリポジトリイベントによって起動され、Anthropic自身のクラウドインフラ上で動作します。

/scheduleタスクのカスタムcron間隔は1時間に1回までに制限されており、それより頻繁なものは拒否されます。これは不具合ではなく意図的な下限であり、これは無人で動くことを目的とした作業であって、絶え間なくポーリングされるためのものではないからです。/loopにはそのような下限はありません。そのcronツールは1分単位の粒度をサポートします。それは、積極的に見ているセッションが、完全に自分だけで動くセッションよりもずっと詰まったループに耐えられるからです。

無人で動くさらに3つの方法

クラウドセッション、GitHub Actions、自分のコンピューターのスケジューラ

クラウドセッションは、/scheduleタスクが実際に動く対象としての、より広いカテゴリです。スケジュールを一切付けずに、ブラウザのclaude.ai/code、Claudeのモバイルアプリのコードタブ、あるいは自分の端末からのclaude --cloud "your task"から直接セッションを開始できます。どのように開始しても、セッションはラップトップではなくAnthropicが管理するインフラ上で動作し、そのラップトップを閉じたあとも動き続け、同じアカウントにサインインしているどのデバイスからでも確認したり操作したりできます。

GitHub Actionsはトリガーを完全にClaude Codeの外に出し、あなたのリポジトリに置きます。Claude CodeのGitHub Actionであるanthropics/claude-code-actionは、.github/workflows/に追加するワークフローファイル内で動作します。prompt入力欄を与えると、ワークフローがリスンするよう設定した任意のGitHubイベント(開かれたプルリクエスト、ラベル付けされたイシュー、あるいは他の予約ワークフローと同じ単純なcronスケジュールトリガーなど)でそのプロンプトを自動実行します。代わりにprompt入力欄を設定せずにコメントで@claudeに言及すると、自分だけで動くのではなく、その言及に直接応答するよう切り替わります。

最も単純な選択肢は、Anthropic自身のスケジューリングインフラを完全に省きます。pがprint(出力)を意味するclaude -pは、Claude Codeを非対話的に実行します。プロンプトを受け取り、一度実行し、結果を出力し、スクリプトが確認できるステータスコードで終了します。macOSやLinuxのcron、macOSのlaunchd、Windowsのタスクスケジューラを、claude -p "your prompt" --allowedTools "..."を呼び出す1行に向ければ、Claudeがいつ動くかを決めるのはOS自体となり、スケジューリングにクラウドアカウントやサブスクリプションの階層は一切関わりません。

キーボードの前で確認に答える人が誰もいないときは、claude -pを権限モードと、確認プロンプトを無効にするオプションと組み合わせましょう。その組み合わせなしでは、無人実行は誰も出せない承認を待ったまま、単純に止まってしまうことがあります。

スケジュールを保存する前に

何かを無人で動かす前に確認すべきこと

これらの確認事項は上記のすべての方法に当てはまります。どの方法を選んだかではなく、そのスケジュールに何を触らせてよいかについてのものです。

権限を狭く絞る

予約された実行が本当に必要とするツール、リポジトリ、コネクタを決め、それだけを与えましょう。ログファイルを読むだけのタスクが、コードベース全体への書き込みアクセスを持つ理由はありません。

支出の上限を設定する

無人実行は、あなたが手で入力するよりもはるかに多くAPIを呼び出す可能性があります。一回の呼び出しに対するターン数の上限であれ、スケジュールを実行するアカウントの予算アラートであれ、上限を設けましょう。

見える実行履歴を保つ

ここで紹介したどの方法も、何がいつ動いたかの記録、つまりセッションのトランスクリプト、ワークフローの実行ログ、あるいは自分のスクリプトがファイルに書き込む1行を保持しています。特に最初の1週間はそれを読みましょう。

リスクのある操作には人間の承認ステップを加える

無人で動くものは、支払いを完了させたり、本物の人にメッセージを送ったり、保護されたブランチにプッシュしたり、何かを削除したりすべきではありません。それを行う前に、人がその特定の操作を承認する必要があります。

ハートビートを持たせる

スケジュールが静かに発火を止めたことに気づく方法を用意しましょう。タスクの実行履歴を週に一度確認すること、あるいは最後の報告が実際に時間通りに届いたかを確認する別のリマインダーなどです。

仕事に合ったツールを選ぶ

実際にどの方法を使うべきか

どの方法が最も能力がありそうかではなく、作業がどこで行われる必要があるかから始めましょう。今日の午後、デプロイやプルリクエストを積極的に見ていて、すでにClaude Codeのセッションを開いているなら、/loopは試すのに余計なコストがかからず、端末を閉じた瞬間に止まります。

そのタスクがラップトップを閉じることを生き延び、それでも翌日また動く必要があるなら、代わりに/schedule、クラウドセッション、またはGitHub Actionsを使いましょう。/scheduleは3つの中で、すでに行っている会話の中から最も速く設定できます。claude.ai/code上のクラウドセッションは、繰り返すものではなく、任せて後で確認したい一回限りの大きなタスクに向いています。GitHub Actionsは、トリガー自体が時計ではなくリポジトリのイベント、プルリクエスト、イシュー、リリースであるときの正しい選択です。

スケジューリング自体をどのクラウドアカウントにも依存させたくないとき、そのタスクがすでに自分で維持している他のcronジョブと並んで存在しているとき、あるいは組織のポリシーが自動化をベンダーのクラウドではなく自分たちが直接管理するインフラ上に保つことを求めているときは、自分のOSのスケジューラとclaude -pを使いましょう。

すべてをまとめる

実際に動いているとこうなる

平日の毎朝に設定された/scheduleタスクを想像してみてください。人ではなくトリガーがセッションを起動したので、自分で目を覚まします。リポジトリを新しくクローンし、前日以降に開かれたプルリクエストを読み、それぞれのCIステータスとレビューコメントを、プロジェクト自身のCLAUDE.mdの規約に照らして確認します。

何もマージしませんし、デフォルトブランチにプッシュしません。プロンプトが明確に許可していれば下書きの要約や、独自の小さなプルリクエストを開き、そこで止まります。それは本ガイドの他の方法と同じです。GitHub Actionsの実行は、それをトリガーしたプルリクエストにだけ投稿します。claude -pを呼び出すcronジョブは結果をログファイルに出力し、ステータスコードで終了します。/loopセッションは見つけたことを伝え、次の間隔を待ちます。

どの場合でも、スケジュールは一つの仕事をしています。人が覚えておかなくてもいいように、セッションを起動することです。その後のすべて、セッションが何に触れてよいか、何を先に確認すべきかは、プロンプトを書き権限を選んだときにあなたが下した決定であり、スケジュールが自分で決めるものではありません。

もっと大きなものを自動化する前に、依頼文を書く練習をする

Claude Codeのセッションが無人で実行できるプロンプトを書くこと、そしてどの権限を外すべきかを正確に知ることは、トリガーが/loop、/schedule、GitHubイベント、あるいはcronの1行であっても同じスキルです。Nightschool AIの無料レッスン「フックとオートメーション」は、Claude Codeを例に、承認ステップ付きの自動実行を組む方法を解説します。

よくある質問

Claudeが自動実行されるとは、実際には何を意味しますか?

Claude Codeのセッションが事前に保存したプロンプトから自分で起動し、それを自分で処理し、その場で誰も端末やチャットウィンドウを開くことなく結果を報告することを意味します。スケジュールが開始するタイミングを決め、プロンプトと設定した権限が、それが許されることのすべてを引き続き決めます。

Claude Codeの/loopと/scheduleの違いは何ですか?

/loopは自分のマシンでまだ開いているセッション内でプロンプトを再実行し、そのセッションを閉じた瞬間に止まります。/scheduleは代わりに、自分のマシンが起動しているかどうかに関わらず、スケジュール、API呼び出し、またはGitHubイベントによってAnthropic自身のインフラ上で動くクラウド予約タスクとしてプロンプトを保存します。

予約タスクが発火するために、ラップトップでClaude Codeを開いたままにする必要はありますか?

セッション単位で、セッションを閉じた瞬間に発火を止める/loopのときだけです。/scheduleで作成したタスク、claude.ai/code上のクラウドセッション、そしてGitHub Actionsワークフローはすべてラップトップ以外のインフラ上で動くので、どれも自分のマシンが起動している必要はありません。

GitHub Actionsワークフローは、プルリクエストだけでなくスケジュールでClaude Codeを実行できますか?

はい。Claude CodeのGitHub Actionにprompt入力欄を与え、ワークフローのトリガーを他のGitHub Actionsワークフローと同じようにcronスケジュールとして設定すれば、プルリクエストやイシューがなくても、設定した時刻に自動的にそのプロンプトを実行します。

claude -pとは何ですか、そして/scheduleを使う代わりになぜcronやタスクスケジューラから呼び出すのですか?

claude -pはコマンドラインからClaude Codeを非対話的に実行し、チャットウィンドウを開く代わりに結果を出力してステータスコードで終了します。自分のOSのスケジューラから呼び出すことで、スケジューリング自体をどのクラウドアカウントからも外しておけます。これは、自動化を自分が管理するインフラ上に保つことを求めるポリシーがある場合に重要です。

claude.ai/code上のクラウドセッションは予約タスクと同じものですか?

/scheduleで作成したタスクはクラウドセッションとして動きますが、スケジュールを一切付けずに一回限りの作業のために、claude --cloudやclaude.ai/codeから直接クラウドセッションを開始することもできます。予約タスクは事前に保存されたトリガーを持つクラウドセッションであり、すべてのクラウドセッションがそれを持っているわけではありません。

無人のClaude Code実行に自分で決してさせてはいけないことは何ですか?

支払いを完了させること、本物の人にメッセージを送ること、保護されたブランチにプッシュすること、あるいは何かを削除すること、それを行う前に人がその特定の操作を承認することなしに行ってはいけません。それは元に戻しにくいことのほぼすべてをカバーします。読むこと、下書きを書くこと、要約すること、フラグを立てることは、最初から完全に自動化しても問題ありません。

本ガイドはAnthropicと提携または支持関係にありますか?

いいえ。これは独立した教育目的のガイドです。本物のツールを正確に説明するために、AnthropicのClaudeとAnthropicのClaude Codeを説明的に名指ししているだけで、Anthropicとの提携、支持、パートナーシップは一切ありません。

/scheduleを使ったりクラウドセッションを開始するために有料プランは必要ですか?

クラウド予約タスクとクラウドセッションは、すべての無料ティアではなく、Pro、Max、Ultra、Teamの各プラン、そして適切なアクセス権を持つEnterpriseユーザーで利用できます。/loopと、自分のスケジューラから呼び出すclaude -pには、スケジューリング自体に関するそうした制限はありません。

これを最初の無人Claude Code実行にする

範囲を絞った一つの作業を選び、それが自分では決して行ってはいけないことを書き出し、作業が行われる必要がある場所に合った方法を選び、もっと任せる前に最初の数回の実行を見守りましょう。

Nightschool AIは独立した学習プラットフォームであり、Anthropicとは提携・承認・後援関係にありません。ClaudeはAnthropic, PBCの商標です。 Anthropic公式のClaude Academyをお探しですか?academy.claude.comをご覧ください。