AI専用のMac miniを1台置きました──常駐で回っている12の仕事

7月28日に Mac mini を1台導入しました。私が普段使うマシンではなく、AIが常駐して働くための1台です。
3日経った時点で、この Mac mini の上では12本の定期ジョブが動いています。この記事では、1日のあいだに何が起きているのかをそのまま並べてみます。
なぜ「自分のノートPC」ではなかったのか
先日、AIで自分の作業を効率化するのをやめました──「AIが働けるように人が支える」に切り替えた1日の記録という記事で、仕事の進め方を変えたことを書きました。
人が自分の作業を効率化するためにAIを使うのではなく、AIが仕事をできるように人が支える
この視点で自分のノートPCを見ると、AIの職場としては具合が悪いことに気づきます。蓋を閉じれば止まり、持ち歩けば回線が変わり、夜には閉じる。人が使う道具としては当たり前ですが、「毎朝8時に投稿する」「毎日11時45分に仕訳を入れる」といった約束を載せる場所としては向いていません。
そこで、AIが常駐するためのマシンを別に用意しました。Apple M4・メモリ16GB の Mac mini です。本体スリープを切り、Tailscale というサービスで外出先からでも ssh macmini の一行で入れるようにしてあります。
Mac miniの1日
実行の仕組みは macOS の定期実行(cron と launchd)です。まず、時刻が決まっているものから。
| 時刻 | やっていること |
|---|---|
| 6:00 | 3つのリポジトリで最新のコードを取得する(社内ツール/バックオフィス業務の2系統) |
| 6:10 | 会計ソフトに溜まったレシート画像を取り込む |
| 7:00(平日) | 顧客案件のプルリクエストを1件レビューし、GitHubにコメント+通知 |
| 8:10 | 会計サービスの全口座を同期する(ブラウザ操作の自動化) |
| 9:00 | 複合機から届いたスキャンPDFを、中身を読んでリネーム・仕分け |
| 10:00(平日) | プルリクエストのレビュー 2回目 |
| 11:45 | 銀行明細とレシートのうち、ルールが確定しているものを仕訳として登録 |
| 13:00 / 16:00 / 19:00(平日) | プルリクエストのレビュー 3〜5回目 |
| 16:30(毎月11〜20日) | 毎月届く送金明細書をダウンロードしてクラウドストレージへ保管 |
そのあいだ、間隔で回り続けているものがこちらです。
| 間隔 | やっていること |
|---|---|
| 5分おき | 予約投稿のキューを見て、時刻を過ぎたものをXに投稿する |
| 5分おき | 各担当のメール・チャットのトリアージ状況を集約し、閲覧用サイトへ反映 |
| 20分おき(6〜23時) | 課題管理ツールの状況を台帳へ合流 |
| 毎時35分 | 社内ツールに溜まった課題を1件だけ自動で直し、プルリクエストを出す |
朝6時から夜7時まで、だいたい1時間に1回は何かが動いている状態です。私はこの時間、別の仕事をしているか、寝ています。
決め打ちのプログラムでは書けない仕事もある
12本のうち、「スキャンPDFの仕分け」「仕訳の登録」「プルリクエストのレビュー」の3つは、スクリプトではなく AIエージェント自身を非対話モードで起動して処理させています。
スキャンされた書類が何なのかを読んで判断する、明細の内容から勘定科目を決める、コードの差分を読んで指摘を書く。いずれも中身を読まないと決められない仕事なので、条件分岐を並べたプログラムでは書けません。「決まった手順を速く回す」自動化ではなく、「読んで決める人がもう1人いる」という状態に近いです。
Xの予約投稿は前日に積んでおく
ブログ記事の告知スレッドは、前日のうちに下書きと予約時刻をキューに積んでおきます。あとは Mac mini が5分おきにキューを見て、時間が来たら投稿し、社内の発信記録の該当行を実際の投稿URLに書き換えます。
先日、朝8時ちょうどに出た5連続の投稿も、この経路で出たものです。私は前日の夜に下書きを置いただけで、当日は何も触っていません。
無人で走らせるときに効くのは「止まる線」のほう
12本を載せてみて、いちばん効いたのはAIを賢くすることではなく、迷ったときに止まる線をどこに引くかでした。実際に入れている歯止めはこうです。
- 課題を自動で直すジョブは、プルリクエストを出すところまで。マージは一切しない。 差分は人がレビューします
- 仕訳の自動登録は、あらかじめ許可したパターンだけ。 それ以外は登録せず、通知に回します
- スキャンの仕分けは、ルールに明確に一致したものだけ。 迷ったものは動かさず、まとめて通知します
- AIレビューは1回につき1件、かつ費用の上限つき。 溜まっていても一気に処理させません
- 6時間以上遅れた予約投稿は、投稿せずに捨てる。 マシンが止まって寝過ごした「朝8時の投稿」が夕方に出るのは、出ないより悪いからです
先日のレビュー回が、まさにその通りに動いていました。指摘そのものは1件投稿した一方で、開発者が私宛に判断を仰いでいた2点については「これは仕様の判断だから」と投稿せずに残していました。approve もマージもしていません。こちらが指示しなくても、判断が要るものを人に返してくる。この線が引けているかどうかが、任せられる範囲をそのまま決めています。
無人運用というと「どこまで任せられるか」の話になりがちですが、実際に設計するのは逆側です。どこで止まってほしいかを先に決めて、そこから任せる範囲が決まります。
この12本で、結局なにが良かったのか
「1日に12回、自動で何かが動く」だけなら、ただの自動化です。実際に置いてみて効いたのは、もう少し別のところでした。
1. 「覚えておく」という仕事が消えた
いちばん大きいのはこれです。
毎月11〜20日に届く送金明細をダウンロードする。溜まったレシートを取り込む。銀行明細を仕訳に落とす。どれも作業そのものは大したことがなく、しんどいのは「その時期が来たことを覚えている」ほうでした。
カレンダーに登録しても、通知が来た瞬間に手が空いているとは限りません。「あとでやる」と思った瞬間に、それは頭の片隅に居座り続けます。この居座りが地味に効きます。
今は、覚えていなくても終わっています。私がやるのは、通知に「処理対象なし」や「◯件登録しました」と流れてくるのを見ることだけです。
2. 溜まらないので、「まとめてやる日」がなくなった
経理まわりの仕事は、放っておけば溜まる一方です。溜まってから片づけようとすると、まとまった時間が要る塊になり、その日は他のことがしづらくなります。
12本のうち5本が毎日走るので、溜まる上限が「1日分」で頭打ちになります。 1日分なら、残るのはルールから外れた例外だけです。塊にする前に削っていく、という形に変わりました。
3. 人の稼働時間と、仕事の時間が切り離された
朝8時に投稿するために、朝8時に起きて操作する必要がなくなりました。前日の夜に下書きを置いておけば、当日の朝は関係ありません。移動中でも、打ち合わせ中でも、寝ていても出ます。
これは「楽になった」以上に、約束できる範囲が広がったという意味が大きいです。自分の予定に左右されない仕事は、最初から予定に入れなくてよくなります。
4. 人を待たせる時間が短くなった
顧客案件のプルリクエストのレビューは、平日の7時・10時・13時・16時・19時に巡回します。つまり開発者から見ると、出したプルリクエストには最大でも3時間ほどで一次コメントが付く計算になります。
私が忙しくてレビューを開けない日でも、明らかな指摘や見落としは先にコメントが付いている。人のレビューがそのぶん軽くなりますし、開発者が止まる時間も減ります。ここは自分が楽になる話ではなく、相手の待ち時間の話です。
そのうえで、人の側に残っているものもはっきりしました。何を任せてどこで止めるかの判断、プルリクエストのマージや例外処理の承認、そして自動で登録された仕訳もAIが案件に投稿したレビューも最終的にはこちらの名前で残るという責任です。この3つは、たぶん12本が100本になっても人の側に残ります。
逆に言えば、それ以外でAIが止まっている箇所は、人が肩代わりする場所ではなく「AIが自走できる形に直す場所」だと考えています。
席は用意できて、12本が回り始めました。次は、ここに何を載せていくかです。
