個人開発の記録です。5月に発注して約2ヶ月、ついにMac mini M4 Pro(メモリ48GB)が届きました。到着初日にやった環境構築の記録と、そこでの判断を書きます。

Contents

まず結論

初日にやったのは、ローカルLLMでも開発環境でもなく、「土台」だけです。具体的には、開発ツールの下ごしらえ・ネットワークへの参加・スリープの無効化・疎通確認の4つ。派手なことは何もしていません。

でも、この「何もしていない初日」こそが、過去の自分の失敗から学んだ結果でした。

届く前に、計画を作り直した

実は6月の時点で、到着日の計画は一度立ててありました。当時の主役はローカルLLMで、「初日にLLMを動かして32Bモデルに会う」つもりだったのです。

ところが、この1ヶ月で状況が変わりました。電車アプリでコンテスト参加を決め、データの収集を止めないことが最優先になったのです(細部は応募まで伏せますが、蓄積したデータ量そのものが資産になる、という話です)。

そこで到着直前に、手順書を作り直しました。優先順位の理由はシンプルです。

LLMは1週間遅れても、失うものがない。
収集は、止まった時間がそのまま「欠測」になる。

前回の記事で書いた「欠測をゼロと読み違えかけた」失敗——収集役のMacがスリープして、記録が4時間止まっていた件——が、そのまま今回の優先順位を決めました。失敗は、次の計画の材料にして初めて元が取れるのだと思います。

初日にやった4つのこと

① 開発ツールの下ごしらえ(Xcode Command Line Tools → Homebrew → Git設定)

なぜ最初にこれかというと、この後入れるツールがほぼすべてHomebrew(Macのアプリ管理ツール)経由で入るからです。土台の土台、というわけです。

ここでひとつ、初学者が踏みやすい罠を。Homebrewはインストールの最後に「Next steps」として2行のコマンドの実行を求めてきます。これを飛ばすと、入れたはずの brew コマンドが「見つからない」と言われます。表示された指示は最後まで読む——地味ですが、これだけで数十分の遠回りを防げます。

② Tailscaleで「3台が同じ島」になった

Tailscaleは、自分の機材同士を安全な専用ネットワークで繋ぐサービスです。これでiMac・MacBook Air・Mac miniの3台が、自宅でも外出先でも互いに届く状態になりました。

なぜ初日にやるかというと、Mac miniはモニターの前に座って使う機械ではなく、他の2台から声をかける「サーバー」になる予定だからです。通り道が先にないと、この後の作業がすべて「Mac miniの前に座らないとできない作業」になってしまいます。

③ スリープの完全無効化——今回の生命線

設定でスリープを一切しないようにコマンドで固定しました。普通のMacの使い方なら省エネに反する設定ですが、今回は違います。

スリープ=収集の停止=欠測。前回の失敗の直接の再発防止策です。24時間起きていることが仕事のマシンにとって、この1行の設定が一番大事な設定でした。

④ pingで「通り道」を先に確定させる

最後に、iMacからMac miniへping(通信の疎通確認)を打ちました。結果は送った分すべて返答あり、取りこぼしゼロ。

なぜわざわざこんな軽い確認を挟むのか。この次に控えているのが、iMacに貯めてきた実測データをMac miniへ丸ごと引っ越しさせる作業だからです。もし確認なしで大きな転送を始めて失敗したら、「ネットワークが悪いのか、転送のやり方が悪いのか」を切り分けられず、原因探しで時間が溶けます。先に軽いpingで「通り道は白」と確定させておけば、この先何が起きても容疑者を1つ消した状態で調べられます。

病院SEの仕事でも、障害対応はまず切り分けから始まります。同じ考え方が自宅の机の上でも効く、というのは少し面白い発見でした。

そして「今日はここで一区切り」を選んだ

本当は続きをやりたい気持ちがありました。Python環境、データの引っ越し、収集の常駐化——次の作業は目の前に並んでいます。

でも、自分のローカルLLM学習プランに、過去の自分がこう書いていました。「到着日に欲張ると、セットアップ作業に追われて肝心なことが後回しになる」。データ移行や常駐化は、疲れた頭で途中まで進めると「どこまでやったか」が曖昧になり、次回に混乱の種を残します。区切りの良いところで止めるのも、作業のうちです。

初日の到達点だけ、メモとして残しました。土台4つ、すべて完了。次回は、データの引っ越しと24時間収集の常駐化からです。

おわりに ── 机の上の小箱が、今夜から起きている

学習プランに「クラウドのAIは借りている知性、ローカルのAIは所有している知性」と書いてから約1ヶ月。その置き場所になる小箱が、ようやく机の上に来ました。

まだLLMも入っていない、ただの静かな箱です。でもスリープを切ったので、今夜からこの箱はずっと起きています。まず任せるのは、賢い仕事ではなく「休まず記録し続ける」という愚直な仕事から。相棒との生活は、案外そういう地味な役割分担から始まるのかもしれません。


Mac mini / Homebrew / Tailscale / 環境構築

このブログでは、ローカルLLM・Aider・個人開発の試行錯誤をそのまま記録しています。