ノートPCがスリープしてもAIコーディングエージェントを実行し続ける方法

ノートPCがスリープしてもAIコーディングエージェントを動かし続ける方法:短時間の実行にはcaffeinateやスリープ防止ツール、夜間には常時稼働マシン、そしてタスクが失敗せずに待機できるキューの活用。

Aiden Flux

Aiden Flux

6 11月 2026

ノートPCがスリープしてもAIコーディングエージェントを実行し続ける方法

TL;DR

ノートPCがスリープしてもAIコーディングエージェントを実行し続けるには、手間の度合いに応じて3つの解決策があります。1つ目はcaffeinateコマンドや電源設定でノートPCのスリープを防ぐ方法、2つ目はMac miniやLinuxサーバーなどの常時稼働しているComputerにエージェントを移行する方法、そして3つ目はタスクキューを導入し、画面を閉じてもタスクが終了せずComputerの空きを待つようにする方法です。

ノートPCの画面を閉じるとエージェントが停止する理由

Claude CodeやCodexに時間のかかるリファクタリングを開始させ、ノートPCを閉じて帰宅したとします。翌朝ターミナルを開くと、前日オフィスを出た時とまったく同じステップで止まったままです。処理は何も完了しておらず、通知も一切届いていません。

これが起きる原因はシンプルです。macOSがスリープ状態に入ると、エージェントを含むすべてのプロセスが一時停止されます。モデルAPIへの接続は切断され、各種ツールやボードへの接続も同様に失われます。ノートPCが復帰した際、エージェントはリトライするか、エラーで落ちるか、あるいは返信が来ないままハングして待ち続けることになります。結果として、寝ていたはずの貴重な時間は無駄になってしまいます。

本ガイドでは、AIコーディングエージェントを動かし続ける3つの方法、それぞれのコスト、そしてノートPCでしか処理できないタスクについて解説します。すでにSharklyのような共有ボード経由でエージェントに作業を割り振っている場合、解決策2と解決策3は10分ほどで設定できます。

Diagram of the three fixes: keep the laptop awake, move agents to an always-on Computer, and queue the work so tasks wait for that Computer

解決策1:ノートPCのスリープを防ぐ

もっとも手軽な解決策は、ノートPC自体のスリープを防止することです。ただしバッテリー消費や発熱を伴い、Appleの指定する条件を満たさない限り画面を閉じた状態では動作し続けられません。毎晩使う恒久策ではなく、数時間程度の一時的なタスク向けと考えましょう。

エージェント実行中にMacをスリープさせない方法

macOSには、このためのcaffeinateというコマンドが標準搭載されています。このコマンドは実行中、「パワーアサーション(システムに対してスリープしないよう要求する仕組み)」を維持します。caffeinateのリファレンスに記載されている主なオプションは以下のとおりです。

  • -i: アイドル状態によるスリープを防ぎます。
  • -s: システムスリープを防ぎます(AC電源接続時のみ有効)。
  • -d: ディスプレイを点灯させ続けます(通常は不要です)。
  • -w <pid>: 指定したプロセスが終了した時点でアサーションを解除します。
  • -t <seconds>: 指定した秒数が経過した後にアサーションを解除します。

もっともスマートな方法は、エージェント自体のコマンドをラップすることです。これならエージェントの終了と同時にスリープ防止も解除されます。

# Hold the assertion for exactly as long as the agent runs
caffeinate -is claude -p "Refactor the billing module and run the tests"

# Or attach to an agent that's already running
pgrep -f codex          # prints the PID, for example 48213
caffeinate -i -w 48213

GUIで設定したい場合は、「システム設定」から「バッテリー」を開きます。「詳細」または追加オプションで「ディスプレイがオフのときに電源アダプタで自動的にスリープさせない」をオンにします(Appleのバッテリー設定ガイド)。なお、この設定は電源に接続している場合のみ動作します。

画面を閉じた状態でもcaffeinateは機能するか?

単体では機能しません。MacBookは「クラムシェルモード」でない限り、ディスプレイを閉じると強制的にスリープに入ります。Appleによれば、クラムシェルモードで動作させるには電源アダプタ、外部ディスプレイ、外部キーボードおよびマウスが接続されている必要があります(Appleのクラムシェルモードに関するガイド)。外部モニターなしで画面を閉じた場合は、エージェントも停止すると考えるべきです。

Sharkly Desktopを使用しているなら、コマンドを実行する必要はありません。Computer設定に「Prevent sleep」スイッチがあり、期間を5分、30分、1時間、2時間、5時間、8時間、または「Always(常時)」から選択できます。Computersのドキュメントによると、この機能はディスプレイのスリープを許可しつつシステム本体の稼働を維持し、指定時間が経過すると自動でオフになります。なお、これは現在のローカルマシン専用の機能であり、共有またはリモートのComputerには適用されません。

解決策2:常時稼働のComputerでエージェントを実行する

確実で恒久的な解決策は、時間のかかるジョブをノートPCで実行するのをやめることです。デスクの片隅にある余ったMac mini、クローゼットのLinuxサーバー、クラウドVMなど、画面を閉じることのない専用マシンにエージェントを配置しましょう。ノートPCはタスクを作成し、その成果をレビューする場所として使うようにします。

DeepSeek Harnessチームも、公開したスーパーエージェントの設計エッセイの中で同様の分離アーキテクチャについて言及しています。彼らはこれを「BYOM」と呼んでいます。エージェントループとセッション状態はクラウド上に存在し、コードを保持する各環境側では小さなデーモンが常駐します。このエッセイで語られているのはアーキテクチャの概念であり、すぐに有効化できるプロダクトというわけではありませんが、考え方は共通しています。コードやツールは自分が管理するハードウェア上に置いたまま、ノートPCの開閉に関係なくタスクの割り振りループを動かし続けるというアプローチです。

常時稼働マシンに必要な最小限のセットアップは、エージェントのCLI、Gitの認証情報、そしてセッションを維持する仕組みです。Linuxなら通常、SSHセッションが切断されてもエージェントが生き残り続けるようにtmuxやsystemdユニットを使用します。エージェントが1つだけならこれで十分ですが、5台並列などで動かし始めると、どれが完了したか確認するためにいちいちSSHでログインしなければならず、運用が煩雑になります。

SharklyにリモートComputerを追加する方法

Sharklyにおける「Computer」とは、エージェントを実行する接続済みのホスト全般を指します。マシン上で動く小さなローカルサービスが、インストールされているエージェントツール(Claude Code、Codexなど)を検出し、それぞれを「Runtime」として報告し、ハートビートを送信してタスクを受け取ります。このサービスは外向き(アウトバウンド)に接続を確立するため、一般的な構成であれば受信ポートの開放は不要です。

サーバーを接続する手順は以下のとおりです。

  1. Sharklyで「Settings」から「Computers」を開き、新しいComputerの接続を選択します。
  2. ワンタイムのインストールトークンを発行します。有効期限が短く一度しか使えないため、スクリプトやマシンイメージにハードコードしないでください。
  3. サーバー側でSharkly CLIをインストールし、登録を実行します。
sharkly computer register --install-token <install-token>

# Check it from any terminal
sharkly computer list
sharkly computer ping <computer-id> <runtime-id>
  1. Computerのステータスが「online」になるのを待ち、少なくとも1つのRuntimeが利用可能になっていることを確認します。

Computersのドキュメントには、Linux向けパッケージ(AppImage、deb、tar.gz)の導入手順やRuntimeの確認方法が詳しく記載されています。サーバー運用とノートPC運用の比較検討についての詳細は、コーディングエージェントのリモート実行ガイドやSharklyのComputersガイドをご覧ください。

解決策3:タスクを失敗させずキューに待機させる

常時稼働のComputerであっても、アップデートによる再起動やWi-Fiの瞬断などは発生します。最後の解決策は、そうした一時的な中断が発生しても、作業の遅延を一晩分ではなく数分程度に抑えるための方法です。タスクが投入された瞬間にマシンが応答しなかったからといって即失敗させるのではなく、Computerの復帰をキューで待機させる仕組みを整えます。

ここで真価を発揮するのがタスクキューです。SharklyではタスクをAgentに割り振ると、そのAgentが紐づくComputerとRuntimeに実行ジョブが送られます。公式ドキュメントによると、以下のような挙動になります。

  • Computerがオフラインの場合、新規の実行ジョブは通常、再接続されるまで待機します。
  • ディスパッチ前にComputerが切断された場合、ジョブはキューに留まります。
  • 各Computerにはタスク同時実行数の上限があり、上限を超えたタスクは「Queued」として順番待ちします。
  • 一時ディレクトリや分離されたworktreeを使用する場合、Agentのデフォルト同時実行数はComputer上限の50%となります。
A Computer's overview in Sharkly: its detected Runtimes and the task concurrency limit that decides when new runs queue

そのため、夜間に作業を回すワークフローは次のようになります。退勤前に5つのタスクを作成し、Mac mini上のAgentに割り当てます。Computerは上限数までタスクを並行実行し、残りはQueued状態で待機、翌朝に出社したとき結果を確認するだけです。リポジトリを扱う実行ごとに新しいworktreeが割り当てられるため、並行して走るタスク同士が同じチェックアウトを競合して書き換える心配もありません。同時実行数の目安については、AIコーディングエージェントを10台同時に実行する方法を参照してください。

知っておくべき制限事項も2つあります。ドキュメント上、実行中にComputerが切断された場合の処理再開は保証されておらず、またキャンセルされたジョブをその場から再開することはできません。タスクが停止した場合は、タスク詳細を開いて実行ステータスを確認し、再実行するかフォローアップの指示コメントを追加してください。またスケジュール設定されたAutomation機能については、実行ステータスに「Skipped」があるものの、オフライン時の挙動が明確に規定されていません。夜間の無人運用に任せる前に、まずは「Run now」で動作テストを行っておくことをおすすめします。

ノートPCでしか処理できないタスク

エージェントの作業環境をノートPCから移したとしても、すべてのタスクを移行できるわけではありません。以下のケースはローカルのComputer上で実行し続ける必要があります。

  • Specified directories:特定の固定ローカルフォルダで実行し、既存のファイルを再利用する運用は、ローカルComputerでのみ利用可能です。
  • Prevent sleep:このスイッチはデスクトップアプリのローカルマシン設定にのみ表示されます。
  • Local-only credentials and files:VPN接続、秘密鍵、ノートPC内にしか存在しないファイルなどを必要とするタスクには、外部サーバーからアクセスできません。安全にコピーできるものはサーバーに移すか、そのタスクだけローカルに残して解決策1を活用しましょう。

それ以外の作業――リファクタリング、テストの実行、依存関係のアップデート、ドキュメントの更新などは、画面を閉じることがない専用マシンで問題なく実行できます。なおSharkly自体はトークンを販売していないため、モデルの利用料金はそのComputerに設定されているClaude Code、Codex、または各APIプランへと通常どおり請求されます。コストを意識して運用したい場合は、AIエージェントを無料で動かす方法やCodex cloudと自前Computerの比較で各選択肢のメリット・デメリットを確認してみてください。

まとめ

ノートPCがスリープすれば、エージェントも一緒に停止してしまいます。日中の数時間動かしたいだけなら、エージェントをcaffeinateでラップするか「Prevent sleep」をオンにしましょう。夜間にまとまった作業をこなしたいなら、常時稼働のComputerへエージェントを移行するのが賢明です。そして失敗が許されない重要なタスクにはキューを挟むことで、万一の再起動やネットワーク切断が発生しても、タスクが死なずに少し待機するだけで済むようになります。

次の一歩として、まずは余っているマシンを1台Computerとして接続し、今夜2つのタスクを割り振ってからノートPCを閉じてみましょう。Sharklyは無料で使い始めることができ、Computersのドキュメントを見ればインストールトークンの発行から初回実行まで迷わず進められます。

FAQ

ノートPCがスリープするとAIエージェントが停止するのはなぜですか?

スリープ状態になるとすべてのプロセスが一時停止され、ネットワーク接続も切断されるためです。一時停止中はモデルAPIと通信できず、ノートPCが復帰した際にも処理が一時停止したままになるか、エラーで終了するか、あるいはハングアップしてしまいます。

MacでClaude Codeを一晩中動かし続けるにはどうすればよいですか?

電源アダプタに接続した上でcaffeinate -isを使って実行すれば、エージェントが終了するまでMacのスリープを防ぐことができます。画面を閉じた状態で動かすにはクラムシェルモードの要件を満たす必要があります。毎晩のルーチンとして実行するのであれば、常時稼働のComputerを用意する方がはるかに確実です。

画面を閉じてもcaffeinateでスリープを防げますか?

防げません。電源、外部ディスプレイ、外部キーボードおよびマウスを接続したクラムシェルモードでない限り、MacBookの画面を閉じると自動的にスリープ状態に入ります。

ComputerがオフラインになるとSharklyのタスクはどうなりますか?

新規の実行ジョブは通常、Computerが再接続するまで待機し、まだディスパッチされていないジョブもキューに留まります。ただし、実行中だったジョブが自動再開されることはドキュメント上保証されていないため、長時間オフラインになった後はタスクの実行ステータスを確認してください。

Linuxサーバーでコーディングエージェントを実行できますか?

はい、可能です。サーバー上にエージェントCLIとSharkly CLIをインストールし、インストールトークンを使って登録すれば、検出されたRuntimeとともにComputerとして認識されます。

関連記事

GPT-6 CyberがAIエージェントを運用するチームにもたらす影響とは

GPT-6 CyberがAIエージェントを運用するチームにもたらす影響とは

GPT-6 Cyberの利用にはDaybreak Redとモデルの承認が必要で、コストは入力100万トークンあたり20ドルです。AIエージェントチームがセキュリティレビューやトリアージをどのようにルーティングすべきか、その方法を解説します。

6 11月 2026

Gemini Omni 1.2 Flashの料金体系:1秒0.07ドルはチーム規模で運用するといくらかかるのか

Gemini Omni 1.2 Flashの料金体系:1秒0.07ドルはチーム規模で運用するといくらかかるのか

Gemini Omni 1.2 Flashの料金は720pで1秒あたり0.07ドルからですが、チームでの利用では試行ごとに費用が発生します。各解像度の料金一覧と、そのまま活用できる月額予算プランをご確認ください。

6 11月 2026

Gemini Omni 1.2 Flashは無料で使える?

Gemini Omni 1.2 Flashは無料で使える?

Gemini Omni 1.2 FlashにはGemini APIの無料枠がなく、300ドルのGoogle CloudクレジットもGemini APIには適用されません。無料で動画を利用できるプラットフォーム(Google VidsやFlow)、それぞれの上限、クリップあたりのコスト、そしてエージェントが呼び出しを行うことの意味について解説します。

6 11月 2026