← 記事

Mac のディスクが満杯寸前、いっそ AI に容量マップを作らせた

· 10 分で読めます
macOS ディスク容量 AI Agent オープンソース
Hoard のアイコン:リス
開発メモ

Mac のディスクが満杯寸前、

いっそ AI に容量マップを作らせた

Hoard は自分のために作ったディスク容量ツールです。アイデアからオープンソース公開までの 2 日間と、以前のツールの作り方と何が違ったかを書きます。

きっかけ

ディスクは満杯寸前なのに、既存のツールは待たされる

2026 年 10 月、Mac mini のディスクが満杯寸前になりました。システム設定の「ストレージ」には色分けされたバーが 1 本あるだけで、いちばん大きな部分は「システムデータ」。クリックしても中身はわかりません。

システム設定のストレージ:409.67 GB 使用中、いちばん大きな灰色の部分がシステムデータ
システム設定の「ストレージ」:中央の大きな灰色の部分が「システムデータ」

最初は Mole という無料の Mac クリーンアップツールを使いました。ちゃんと動きますが、スキャンのたびにしばらく待たされます。Hoard ができてから、同じマシンで両方を計測しました。下のボタンを押すと、実際の秒数どおりに再生できます。

~/Library の初回スキャン (約 48 万ファイル)
Hoard
3.2 秒
Mole
9.3 秒
初回スキャンの時間(秒、短いほど速い)
どちらも最初から全部たどります。同じ Mac mini、2026 年 10 月 23 日、5 回の中央値
Hoard Mole
~/Library · 約 48 万ファイル
Hoard
3.2
Mole
9.3
自分のプロジェクトフォルダー · 約 83 万ファイル
Hoard
3.6
Mole
7.1
0510 秒
フォルダーHoardMole
~/Library3.17 (2.39–7.51)9.31 (8.05–12.10)
自分のプロジェクトフォルダー3.63 (3.57–6.67)7.10 (6.07–8.64)

2026 年 10 月 23 日、同じ Mac mini。Hoard 0.6.3 と、Mole のオープンソースのコマンドライン版 V1.62.0 を比べました。2 つのツールを交互に 5 回ずつ実行した中央値で、括弧内は最速〜最遅、単位は秒です。計測中はマシンでほかの作業も動いていたので、秒数は全体に遅めです。相対的な差を見てください。普段使っている Mole.app の GUI 版は別のプログラムで、計測していません。

初回スキャンでは、どちらも最初から全部たどり、Mole は Hoard の 2〜3 倍の時間がかかります。どちらにもキャッシュがあり、スキャンしたばかりのフォルダーを開き直すのはどちらも 1〜2 秒です。違いはキャッシュが正確かどうかです。Mole のキャッシュはフォルダーの更新日時を見ているので、ファイルが大きくなってもフォルダーが変わらなければ、古い数字を返します。あるファイルに 50 MB を追記しても、Mole がキャッシュから返したのは元の 150 B のままでした。Hoard はキャッシュを読んだあと、macOS が記録しているファイル変更の履歴で、その後の変化を埋めます。さらに Mole は node_modules のようなフォルダーをまとめて推定するので、~/Library では実際には半分ほどのファイルしか数えていませんでした。

欲しかったのは、1 回スキャンすれば正確で、あとはクリックしたところがすぐ見えること。だから自分で作ることにしました。

考え方

今回の第一歩はコードを書くことではなく、まず計測することでした

以前は、ツールが合わなければ別のものに替えるか、我慢して使っていました。今回は順番を変えて、全体を通して私は主に判断をし、コードは AI に任せました。

まず計測し、作れると確かめてから手を動かす

まず AI に小さな実験を書いてもらい、「フォルダーを全部たどるのにどれくらいかかるか」だけを計測しました。10 月 20 日の時点で約 88 万ファイルあったプロジェクトフォルダーを、1 回たどるのに約 4 秒。Mole が 8 秒かかった(しかもファイルの 3 割しかたどっていない)のと比べても速かったので、作ることに決めました。

他人のコードを読んで、考え方を学ぶ

Mole のコマンドライン版はオープンソースです。APFS のクローンをどう扱うか、読めないフォルダーをどう表示するかを AI に読んでもらい、その考え方を借りました。コードは 1 行もコピーしていません。

私が要件を書き、結果を見て、差し戻す

タスクカード、実装、レビューは別々のエージェントに割り振り、以前書いた「マルチエージェントの分業」のやり方で回しています。名前もこうして決めました。AI が最初に出した Meerkat(ミーアキャット)と手描きのアイコンはどちらも却下し、最後にリスを選びました。リスは木の実をあちこちに隠し、隠した場所も覚えています。英語名の Hoard は「ため込む」という意味です。

Hoard のアイコン、ライト版とダーク版
リスのアイコン、ライトとダークの 2 種類

10 月 20 日に設計ドキュメントを書き、22 日には Hoard 0.6.0 を GitHub でオープンソース公開しました。

設計

人はマップを見て、AI は問い合わせてリストを受け取る

Hoard の使い手は 2 種類います。私自身と、手伝ってもらう AI エージェントです。同じ 1 回のスキャンを、2 通りの読み方で渡します。

人には容量マップを渡します。フォルダーごとに 1 つのブロックを描き、面積がそのサイズです。いちばん大きなブロックはひと目でわかり、ダブルクリックで中に入れます。

Hoard の容量マップ:フォルダーごとに 1 ブロック、面積がサイズを表す
容量マップ:面積が大きいほど、使っている容量が多い(デモ用フォルダー)

マップのほかに、リストが 3 種類あります。いちばん大きなファイル、ファイルの種類、長いあいだ開いていないファイルです。

いちばん大きなファイルのリスト
いちばん大きなファイル
ファイルの種類の内訳
ファイルの種類
長いあいだ開いていないファイルのリスト
長いあいだ開いていないファイル

AI にはコマンドラインと MCP を渡します。どのコマンドにも --jsonを付ければ、プログラムが読める形式で出力されます。Claude Code で「何を消せる?」と聞くと、Claude Code が Hoard に問い合わせ、理由付きのリストを持って帰ってきます。たとえば、再ダウンロードできるキャッシュはどれか、といった具合です。

Claude Code で何を消せるか聞く:AI が Hoard でスキャンを実行し、Hoard が安全に削除できると判定したもの、AI が人の確認が必要と判断したもの、残すことをすすめるものの 3 つに分ける
Claude Code で「何を消せる?」と聞く:Hoard が理由付きのリストを出し、AI が自分の判断を付け加える(デモ用フォルダー)

人は目で大きなものを探し、AI は尋ねてリストを受け取る。その裏にあるのは同じ 1 回のスキャンです。

過程

初版のあとの機能は、AI にコメントを読ませて選びました

初版が使えるようになってから、Hacker News と Reddit で Mac のディスクツールについて語られた約 1,600 件のコメント(2026 年 10 月)を AI に読んでもらいました。評価されている点は取り入れ、不満が出ている点は避けました。

いちばん多かった要望は「前回のスキャンから何が大きくなったか」でした。Hoard にはちょうど「最近の変化」という機能がすでにあったので、説明の最初の項目に移しました。

最近の変化:前回のスキャンと比べて大きくなったもの、小さくなったもの、追加されたもの、削除されたもの
最近の変化:前回のスキャンと比べて、何が大きくなり、小さくなり、増え、消えたか

まだできていなかったいくつかは、その後のバージョンで補いました。「システムデータ」から計測できる部分、たとえばスワップファイル、スナップショット、読めないフォルダーを切り出しました。Finder で右クリックすれば Hoard で開け、リストは CSV に書き出せます。わからないサイズはすべて「不明」と表示し、0 とは書きません。

「削除できるもの」のページ:見えない容量のカードに仮想メモリ、ほかのボリューム、スナップショット、読めないフォルダーが並び、その下に理由付きの削除の提案がある
「見えない容量」:スワップファイル、スナップショット、ほかのボリューム、読めないフォルダーがそれぞれどれだけ使っているか。その下は理由付きの削除の提案

初版のあとに補った細かい点は、ほとんどがこれらのコメントから来ています。

オープンソース

この種のツールは課金しにくいので、オープンソースにした

有料にするかどうかも考えましたが、考えるほど据わりが悪く感じました。Hoard がやることは一言で説明できます。スキャンして、マップを描いて、リストを出す。その説明をどの AI エージェントに渡しても、同じものを作り直せますし、このアプリをそのままリバースエンジニアリングすることもできます。

そこで MIT ライセンスでオープンソースにしました。代わりに得られるのは別のものです。誰かが使い、問題を報告し、やり方を交換する。私の作ったものが実際に使えるかどうかも、ほかの人から見えます。私にとっては、その信頼のほうがライセンス料よりも積み上げる価値があります。

オープンソースにもコストはあります。メンテナンスが公開されることです。README には「できる範囲でメンテナンス」と書き、issue への返信時期は約束していません。

課金しても作り直しは止められません。オープンソースなら、少なくとも交流が生まれます。

試す

試す前に、知っておいてほしい 3 つのこと

  • Apple の公証を受けていない(公証には有料の開発者アカウントが必要)ので、初回起動はブロックされます。「プライバシーとセキュリティ」で「このまま開く」を押してください。
  • ディスク全体をスキャンするには「フルディスクアクセス」が必要で、アップデートのたびに許可し直す必要があります。
  • Apple シリコン向けにだけビルドしていて、Intel Mac ではテストしていません。
brew install operonlab/tap/hoard

この 3 つが問題なければ、インストールして自分のディスクを一度スキャンしてみてください。

ここを持ち帰る

あなたの AI エージェントにコピー

まず誰が容量を使っているかを見てから、消すかどうかを決める。

Hoard があなたの Mac に合うか知りたければ、下の文章を AI に貼り付けて、実際の環境に合わせて判断してもらってください。

# あなたの AI エージェントにコピー まずこの記事を読んでください:https://blog.joneshong.com/ja/blog/hoard-disk-map 記事では macOS のディスク容量ツール Hoard を紹介しています。コマンドラインには次のコマンドがあります: - hoard doctor:依存している macOS の仕組みをチェックする - hoard scan ~ --top 10:いちばん大きなフォルダー - hoard stale ~ --days 180 --min-size 50MB:半年開いていない大きなファイル - hoard diff:前回のスキャンと比べて増えたもの - hoard hidden:「システムデータ」のうち計測できる部分 どのコマンドも --json を付けると JSON で出力します。 次のことを評価してください: 1. まず、私の Mac が macOS 14 以降で Apple シリコンか、Homebrew が入っているかを確認する。 2. 条件を満たしていれば Homebrew でインストールし、hoard doctor と hoard scan ~ --top 10 --json を実行する。 3. 上位 3 つのフォルダーが何か、そのうちどれが再生成できるキャッシュに見えるかを教える。 私のマシンが条件を満たしていない、またはディスクの容量にそもそも余裕があるなら、不要だとはっきり言ってください。無理にインストールしなくてかまいません。

関連情報

資料重要な理由
operonlab/hoardソースコード、インストール手順、4 言語の README。本文の速度や機能はここで確かめられます。
手元のツールと利用枠を活かす、複数エージェントによる分業の試みHoard のコードは、この分業で書きました。誰がタスクカードを書き、誰が実装し、誰がレビューするか。

おすすめの記事

✦ プロンプトをコピー