本文へ移動
Chandler Nguyen
AI1分で読めます

Macが死んだ。ChromeとDeepSeekだけで組み直した。

Macが死んだので、ドライブを消して、Chromeとエージェントハーネス1つだけで作り直しました。おかげで空き容量は以前より60 GBほど増え、私はアプリケーション単位で物を考えるのをやめました。

Mac miniが死にました。劇的な死に方ではなく、信頼できるマシンでなくなっただけなので、素直にドライブを消して一から入れ直すのが妥当な判断でした。

この作業は何度もやってきました。手順はいつも同じです。OSを入れ直し、そのあと一晩かけてあれこれを再インストールする。Homebrew。Node。Python。自分がいつ入れたかも覚えていないコマンドラインツールが10数個。そして3週間後、以前は動いていた何かが動かないせいで、入れ忘れた1本に気づくわけです。

今回は違うやり方を試しました。

Chromeを入れて、Terminalでコマンドを1つ走らせてハーネス本体を入れる。リストはこれで全部です。あとは残りをセットアップして、と頼みました。

この話の中でChromeは飾りではありません。私が唯一本当に欲しいGUIアプリであり、タスクが必要とするときにエージェントが動かすブラウザでもあります。ブラウザまわりのツールも、ほかと同じようにハーネスの設定で宣言するもので、手で入れるものではありません。

ハーネスこそ、私が無視してきた部分

この2年、AIコーディングツールについてはほとんどモデルの話として考えてきました。どのモデルが一番賢いか、どれが一番安いか、どれがフロントエンドのコードをうまく書くか。その問いでサブスクを解約したこともありますし、それについて何度も書いてもいます。

私が軽く見ていたのはハーネスのほうでした。実際に私とマシンの間に立っているもの、それがハーネスです。知能を供給するのがモデル。手足と、私の仕事の進め方の記憶と、インターフェースを供給するのがハーネスです。

今回の組み直しでは、ハーネスがOpenCodeで、モデルがDeepSeek V4.1 Flashでした。ただ、どちらの層も1つの選択に固定すべきだとは、もう思っていません。この2つは、まったく別の基準で選ばれるものだからです。

**モデルは4つの点で選びます。**どれだけ賢いか、どれだけ速く生成するか(1秒あたりのトークン数で、これは思っていたよりずっと体感に効きます)、コストがいくらか、そして送ったデータがどう扱われるか。

コストは、表示価格よりも重く見るべきです。表示価格は、実際に支払う額ではないからです。効いてくるのはキャッシュヒット率です。ハーネスが安定したコンテキストを保持できると、入力の大半がキャッシュから供給され、請求額は崩れるように下がります——私のDeepSeekのキャッシュヒット率は、日常的に99%を超えています。同じトークン単価のモデルでも、ハーネスがキャッシュを保てるかどうかで、実際に支払う額は大きく変わります。

だから、すべてを1つのモデルに通すのもやめました。タスクによって向くモデルは違い、機械的な作業なら無料のもので十分なことも多い。そこにフロンティアのモデルを投入するのは、ただの無駄です。

**ハーネスは好みで選びます。**インターフェースと、習慣。私がOpenCodeを使うのは、自分の習慣がそこにあるからで、DeepSeek自身のハーネスを並行して使うのは、両方で作業するのが好きだからです。仕事ではまた別のものを使っています——Gemini 4 Argon または 3.8 Flashを動かすAntigravity CLIです——その仕事は形が違うからです。計画を渡すと、何時間もかけてやり切ってくれます。

モデルのように、これを決着させるベンチマークはありません。自分に何が必要かを分かったうえで、それに合わせて選ぶしかありません。

8月に、単一のモデルと単一のハーネスに移行したことを書きましたが、そのときは自分にとって実際に何が変わったのかを名指ししていませんでした。あの記事は、この価格なら使わない理由がないのでFlashをもっと使っていくと締めくくっています。その続きがこれです。ただし訂正が1つあって、単一という発想が間違いでした。

この区別は、実際にコンピュータを組み直すまでは学術的な話に聞こえます。組み直し始めると、あっという間に学術的な話ではなくなります。コマンドを実行し、ファイルを読み書きし、パッケージを入れ、自分の作業を自分で検証しようとするハーネスは、オートコンプリートの入力欄ではありません。どちらかといえばオペレーティングレイヤーに近い。そして一度それを手に入れると、自分で入れるもののリストは驚くほど短くなります。

ワークフローを順番に

パターンは毎回同じで、昔のやり方とは違います。

  1. 手順ではなく、結果を伝える。「brewのコマンドはこれです」ではなく、「こういうスクリプトをローカルで動かせるようにしたいので、セットアップして」と伝えます。
  2. インストールと設定はエージェントに任せる。自分で壊したものを直すところまで含めて。
  3. 検証——ここは今も私の担当です。 何を実行したかを正確に示してくれるので、検証は安く済みます。
  4. 自分で検証できないものは自分でやる。 サービスキーとSSHの認証情報は、私が手で作り、エージェントに渡さなかった2つです。
  5. 実際に何をしたのかを読み、もっともらしい間違いはいずれ返ってくると想定しておく。 全行ではなく、自分のマシンで何が変わったかを把握できるだけの量を。そして、正しく見えて実は正しくない1つの変更に気づけるだけの量を。

昔の組み直しとの違いは、説明するより見せたほうが早いです。

昔の組み直し今回
手作業で入れたものOS、それから一晩がかりのHomebrew、Node、Python、CLIツール10数個Chromeと、ハーネス用のコマンド1つ
それ以外私が一晩かけてエージェントが、頼まれて
状態がどこにあるかローカルのサービス、ランタイム、コンテナイメージ設定ファイル1つと、一度だけ認証した接続
何が積み上がるか実験のたびに溜まる一式「念のため」にインストールされたものは何もない

これを可能にしている要素が2つあります。1つは、ハーネスは設定を私が読めて編集できるファイルに置くという点です。何がどう繋がっているかを正確に見て、変えられます。もう1つは、私のMCPサーバーの多くがリモートになったことです。Supabase、Resend、Vercelは一度認証したURLであって、私のディスク上にあるサービスではありません。ローカルのものは必要になった時点でnpx経由で動くので、使う瞬間までインストールされません。

以前の私のマシンはサービスを抱えていました。今は設定ファイルとトークンを抱えていて、サービスはどこか別の場所にあります。

ディスクは空いたまま

これを測るために始めた話ではないので、計測値ではなく観察として受け取ってください。ただ、この数字は無視しづらい。以前の構成と比べて、同じマシンで空き容量が約60 GB増えました。

SSDが直付けのマシンでは、これは誤差ではありません。ストレージは、最近のMacで後から増やせない数少ない要素のひとつで、値段もそれ相応です。60 GBが戻ってきたのは、1つ上の容量を買った場合の差額のかなりの部分です。

どこに消えたのかは、証明するより説明するほうが簡単です。一部のツールは、ディスクに常駐するのではなく必要になったときに動くようになり、「念のため」に何かを先回りして入れる習慣は薄れました。必要になったときに頼むほうが安いからです。

アプリケーションの形から、意図の形へ

ここからが転換点で、どこまで通用するのか、私自身まだ整理しきれていません。

私のコンピュータ生活の大半はアプリケーションの形でした。何かをしたいと思ったら、それをやってくれるアプリケーションを探して、インストールして、そのインターフェースを覚えて、そのアプリの考え方の中に住む。仕事の単位はアプリケーションです。

このやり方は意図の形です。必要なことを説明する。マシン上で動く能力を持った何かが、どの部品が要るかを判断し、セットアップし、実行する。アプリケーションは実装の詳細になり、場合によっては意識して入れることすらない部品になります。

「AIが私のコードを書く」というより、ずっと大きな変化です。コーディングはもともとボトルネックではありませんでした。ボトルネックだったのは、何かを欲しいと思ってから手に入るまでの距離のほうです。その距離は今、ずっと短くなりました。

だから、Linuxに落ち着くかもしれない、と半分冗談で言い続けてもいます。私が何年もmacOSにとどまった理由は一度もOSそのものではなく、組み直さなければならない積み上げ済みの環境でした。環境の大半が設定ファイルと有能なエージェントで済むなら、下にあるプラットフォームの重みは以前より軽くなります。今週切り替えるつもりはありません。ただ、何が自分を止めるのか、もう確信が持てないだけです。

こんな展開は来ると思っていませんでした、と認めざるを得ません。5年前に、新しいMacとブラウザとエージェント1つがあれば仕事に戻れると言われたら、私はそれをデモの話だと思ったでしょう。静かな火曜の夜の話だとは思いません。

私が主張していないこと

誠実な但し書きをいくつか。これについては十分に熱のこもった文章を読んできたので、自分の熱にも疑いを持っています。

  • ハーネスこそが新しいロックインです。 モデルの乗り換えはどんどん楽になっていますが、私の習慣と設定とワークフローはハーネスの中にあります。これは現実的な依存であり、注視しています。
  • 「全部インストールした」は「自分のマシンを理解している」と同じではありません。 手で組み上げていた頃より、自分の構成をよく分かっていません。本当のコストであり、上のステップ5がある理由です。
  • 無料ではありません。 直近30日で約$60。この数字は私のコーディングだけではなく、本番で動いているいくつかのプロダクトの裏側にあるDeepSeek APIも含みます。参考までに、1年前は同じ習慣に月およそ$200かかっていました。(その変化については8月に書いています。)

よくある質問

AIコーディングにおけるハーネスとは何ですか?

ハーネスとは、モデルを実際の環境につなぐプログラムです。推論するのはモデル。ハーネスはツール——コマンドの実行、ファイルの読み書き、外部サービスの呼び出し——を渡し、そのまわりの会話と権限を管理します。OpenCodeは意図的にモデル非依存なので、ほかを何も変えずにモデルを差し替えられました。Claude CodeもCodexもハーネスですが、どちらも自社のモデルを中心に組み立てられています。私の目安は、モデルは能力、速度、コスト、データの扱いで選び、ハーネスは自分が実際に気持ちよく作業できるかで選ぶ、というものです。

ブラウザとAIエージェントだけで、本当に新しいコンピュータをセットアップできるのですか?

私のような構成——主にターミナルとブラウザで作業する開発者——なら、ほぼイエスです。しかもコマンドはゼロではなく1つ。モデルとインターネットにたどり着くためのブラウザと、ハーネス本体をインストールする手段が必要で、エージェントがやったことを検証する気構えも要ります。デザイナーや経理の人のマシンでも同じことが成り立つとは思いません。

なぜこの構成はディスクをそんなに使わないのですか?

以前の構成より約60 GB少なくなりました。理由は3つです。一部のサービスはリモートで動き、ローカルに入れる代わりにURL経由で到達します。一部のツールはディスクに常駐せず、必要なときに動きます。そして「念のため」に先回りして入れる習慣は、あとから頼むのが安いと分かれば薄れていきます。


「Chromeを入れて、どうなるか見てみよう」が動くコンピュータになったのは、今も不思議です。

それでは、Chandler :P