Mac miniをAI自動化サーバーにする|claude -p×launchdで定期実行を集約
「AIに定型作業を任せたいのに、自分のパソコンを閉じると全部止まってしまう」——1人で事業を回していると、誰もがこの壁にぶつかります。
結論から言うと、答えは「常時起動のMac 1台を"自動化サーバー"にして、そこへ定型ジョブを集約する」ことです。鍵になるのは claude -p(Claude Codeのヘッドレス実行)と、macOS標準の launchd という組み合わせです。
株式会社Fyveの田嶋です。私は実際に中古のMac mini 1台を24時間動かし、SNS発信・SEO記事の下書き・作業記録・秘書業務といった定型ジョブを1台に寄せて無人で回しています。この記事では、その構成の作り方と、非エンジニアがつまずくポイントを実運用ベースで解説します。
「自動化サーバー」とは — 常時起動のMac 1台に定型ジョブを集める発想
ここで言う自動化サーバーとは、専用のクラウドを借りることでも、難しいインフラを組むことでもありません。常に電源が入っている手元のMacを1台用意し、そこに「毎日決まった時刻に動く作業」を集約するだけの発想です。
普段使いのノートPCで自動実行を組むと、蓋を閉じる・スリープする・持ち歩くたびにジョブが止まります。定型作業を安定して回すなら、実行する場所を「閉じない1台」に分けるのがいちばん確実です。
私はこの役割の1台に「Smith」と名前を付けています。裏方の定型作業だけを黙々とこなす、事務所の当直のような存在です。ハードは中古のMac mini(M1・16GB)で、購入費用はおよそ6万5千円。1台をこの用途に固定してしまえば、あとはジョブを足していくだけです。
なぜ launchd × claude -p なのか
Claude Codeには /loop・cron・routines といった定期実行の仕組みが内蔵されています。まずはこれらの違いを押さえておくと、自分に合った選択ができます。
詳しい使い分けはこちらの記事にまとめています。
そのうえで、私が土台に launchd を選んでいる理由は3つあります。launchdはmacOSに最初から入っている常駐の仕組みで、追加のサービス契約が要りません。指定した時刻に決まったコマンドを起動でき、Macがスリープから復帰したときに取りこぼしを拾う挙動も設定できます。
そして肝心のAIの実行部分は claude -p "指示文" という1行です。これは画面を開かずにClaude Codeを走らせるヘッドレスモードで、launchdが時刻になったらこのコマンドを叩く——たったこれだけで「決まった時刻に、決まった作業を、無人で」が成立します。

ヘッドレス実行では必ず使うモデルを明示するのも実務上の鉄則です。--model を指定しないと、その時のマシン既定に引きずられて品質がぶれます。私は定型ジョブの下限をSonnetに置き、文章品質を優先したいジョブだけ上位モデルに上げています。
読者特典・無料ダウンロードClaude Codeを「素のまま」使うな無料でダウンロード →私が1台に集約している定型ジョブ
実際にSmithへ寄せているのは、次のような「毎日・決まった時刻に発生する作業」です。
- AIニュースのまとめ投稿:朝・昼・夜の3枠で、前日のAI動向を調べてSNSへ下書き
- SEO記事の下書き生成:在庫から種を1つ選び、記事を書いてCMSへ下書き保存(この記事もその1本です)
- 発信ネタの提案:早朝に、その日の投稿ネタ候補をまとめて提示
- 記録・秘書系:作業ログの整理や、投稿素材の予約投入
ポイントは、これらを別々のパソコンや別々の仕組みでバラバラに動かさず、1台に集約していることです。動いているかの確認も、直したいときの修正も、対象が1台なら一目で済みます。1人で回す事業では、この「見る場所を1つにする」効果が想像以上に効きます。
非エンジニアがつまずく3つの罠と回避策
ここからが実運用の本題です。私自身がぶつかって直した、3つのつまずきを共有します。
罠1:無人だと権限確認のダイアログで止まる
macOSはファイルや画面へのアクセス時に「このアプリに許可しますか?」という確認(TCC)を出します。無人運用では、この「はい」を押す人がいないためジョブがそこで固まります。人がいる前提の確認が、無人化では地雷になるのです。
対策は、使うコマンドやスクリプトに必要な権限をあらかじめ許可しておくこと。launchd絡みの権限は特にハマりやすく、私も自動コミットが静かに止まる罠を踏みました。その顛末はこちらにまとめています。
罠2:ジョブの時刻が重なると、書きかけを壊し合う
ジョブが増えると、起動時刻が近いもの同士が同時に走ります。特に同じフォルダを触るジョブが重なると、片方の「作業のやり直し(リセット)」が、もう片方の書きかけを消してしまう事故が起きます。
私の回避策は、全ジョブを1本のラッパー経由に通し、実行中は「鍵」をかけて他のジョブを待たせる(直列化する)ことです。フォルダを1つ作れたら実行権を得る、という単純な仕組みで、時刻の被りによる破壊を根本からなくせます。
罠3:AIの書き込み範囲を絞らないと暴走が怖い
無人でAIにファイルを書かせる以上、触ってよい場所をあらかじめ限定しておくのが安心です。私は自動化サーバーが書き込んでよいフォルダを1つに固定し、それ以外への書き込みはラッパー側で破棄する「関所」を設けています。これがあると、想定外の指示が来ても被害が1フォルダに収まります。

何を集約すべきで、何を集約すべきでないか
すべての作業を自動化サーバーに載せればよいわけではありません。向き・不向きの線引きが大事です。
- 向いている:毎日・毎週など周期が決まっている/手順がだいたい固まっている/失敗しても致命傷にならない(下書き止まりなど)作業
- 向いていない:その場の判断が要る/外部へ本番公開する/取り返しのつかない操作を含む作業
私の場合、SEO記事もSNS投稿も「下書き」で止める設計にしています。最終的に世に出す一手だけは人間(私)が確認して押す。無人化するのは"準備まで"で、公開の判断は手元に残す——この線引きが、安心して任せられる範囲を決めます。
非エンジニアのための立ち上げ4ステップ
最後に、これから自分の1台を立てる人向けに、最小の手順を整理します。
- ステップ1:常時起動できるMacを1台決める(中古のMac miniで十分。スリープを切って24時間稼働に)
- ステップ2:任せたい作業を1つだけ選び、
claude -p "指示文" --model ...で手動実行して結果を確かめる - ステップ3:うまくいったら、その1行を
launchdで決まった時刻に起動するよう登録する - ステップ4:安定したらジョブを1つずつ増やし、直列化と書き込み範囲の関所を足していく
最初から全部を組もうとせず、1ジョブを無人で回せた成功体験を作ってから増やすのがコツです。定常業務の切り出し方そのものは、こちらの記事も参考になります。
まとめ
AIに定型作業を任せる第一歩は、高度なインフラではなく「閉じない1台」を用意することです。常時起動のMacに claude -p と launchd でジョブを集約すれば、非エンジニアでも無人の自動化サーバーを持てます。
そのうえで、TCC権限・時刻の被り・書き込み範囲という3つの罠を先回りで潰し、公開の一手だけは人間に残す。この設計にたどり着けば、1人でも「裏方が勝手に進む」状態を安全に作れます。まずは1ジョブから、あなたの当直役を立ててみてください。
Claude Codeを「素のまま」使うな

設定で差がつく——CLAUDE.md・権限・スキルの実物を公開(全24ページ)
素のClaude Codeは"優秀な新入社員"。仕事を教えるほど、自分専用になります。覚えさせる4点セット——会社の説明書(CLAUDE.md)・権限の柵・手順書(スキル)・フォルダの地図——を、1人会社の実運用からコピペで使える型つきで公開します。
- そのまま書き換えて使えるCLAUDE.mdの型
- お金と送信をAIに触らせない「3段階の柵」
- 1回教えたら何度でも動く、手順書のコピペ雛形
- AIが迷子にならないフォルダ構造の3原則
毎週金曜の無料ニュースレター「ひとりAI経営」の購読特典です。メール登録後すぐ、ダウンロードページのご案内が届きます。あわせて、AI活用に関するお知らせやお役に立てそうなご案内をお送りすることがあります。解除はいつでも1クリック。
御社の業務に合わせたClaude Code導入支援
「AIツールを導入したが、現場で使われない」を終わらせる。
業務課題のヒアリングから設計、ハンズオン実践、運用定着まで一貫して支援します。