「つながりの地図」に可視化
「Graphify」は、フォルダを指定してコマンドを1つ打つだけで、中のファイル同士の関係性を自動で解析し、「つながりの地図(ナレッジグラフ)」を生成してくれるツールだ。オープンソースで無料。GitHubのスター数は5日で10,000を超えた。
Karpathyさんが提唱した「AIで知識を整理する」構想を、48時間で自動化したのがこのツール。ファイルの整理が手作業頼みだった問題を根本から変える。
この記事では、Graphifyの仕組みと使い方を徹底解説する。
フォルダの中身がカオスで全体像が見えない人、前回のKarpathy記事を読んで「自分もやりたい」と思った人向け。
Graphifyのナレッジグラフは「検索」と何が違うのか?
ファイルを探す時、普通は検索しますよね。
「あのファイルどこだっけ」ってファイル名で検索する。
でも、ファイル名を覚えてなかったら?
そもそも何を探してるか分からなかったら?
検索って「答えを知ってる人」のための道具なんですよね。
Graphifyがやるのは、それとは全然違います。
フォルダの中にあるファイルを全部読んで、「このファイルとこのファイルは関係がある」っていうつながりを見つけ出す。
で、それを目に見える地図にしてくれる。
たとえるなら、本棚。
検索は「この本棚の3段目にある赤い本を取って」。
Graphifyは「この本棚全体の構造を見せてくれて、どの本がどの本と関係してるか教えてくれる」。
探し物じゃなくて、全体像が見える。
「このフォルダ、実はこういう構造だったのか」っていう発見がある。
私は普段Claude Codeを使ってるんですけど、プロジェクトが大きくなってくると「あれ、このファイルって何のためにあるんだっけ」ってなる瞬間があるんですよ。
そういう時に地図があったら、だいぶ違うなって思いました。
Karpathyの知識整理構想をGraphifyが48時間で自動化したとは?
※手動でAIに指示が必要
ちょっと裏側の話をさせてください。
4月3日に、Karpathyさんが「LLM Knowledge Bases」という構想を公開したんです。
「最近AIをコード書くより、知識の整理に使ってる」って。
フォルダにデータを入れる → AIがWikiを自動生成する → Obsidianで見る。
このワークフローが業界で大きな話題になりました。
で、その48時間後。
Safi Shamsiさんという開発者が、Karpathyさんの構想をベースにしたツールをGitHubに公開した。
それがGraphifyです。
5日で10,000スターっていうのは、GitHubの世界ではかなり異常な速度です。
それだけ「こういうのが欲しかった」っていう人が多かったんでしょうね。
Karpathyさんの方法との一番の違いは、「全自動」ってところ。
Karpathyさんの方法はフォルダ整理もWiki構築も手動でAIに指示する必要があった。
Graphifyはコマンド1つで、解析から地図の生成まで全部やってくれます。
Graphifyはどういう仕組みか?tree-sitter+AIの2段階解析
ファイル間のimport/requireを追跡
AIを使わずルールベースで正確
PDF・画像も読み取り可能
意味レベルの関係性を発見
確実なつながり
0〜1の信頼スコア付き
「確認して」と正直に表示
技術的にどうやってるのか、中身を見てみました。
Graphifyは2段階で動きます。
まず第1段階。
「tree-sitter」っていう解析エンジンで、コードの構造を機械的に読み取る。
どの関数がどの関数を呼んでるか、どのファイルがどのファイルを読み込んでるか。
これはAIを使わず、ルールベースで正確にやります。
次に第2段階。
Claude(AIの方)に中身を読ませて、「このファイルとこのファイルは概念的につながってるよね」っていう意味的なつながりを見つけさせる。
コードだけじゃなくて、PDFとか画像とかも読めます。
で、面白いなと思ったのが「つながりの信頼度」。
Graphifyが見つけたつながりには3種類のタグが付きます。
「EXTRACTED」は、コードから直接見つけた確実なつながり。
「INFERRED」は、AIが「たぶん関係あるよね」と推測したもの。0から1の信頼スコア付き。
「AMBIGUOUS」は、「ちょっと自信ないから確認して」っていうもの。
AIが「全部分かりました!」って言い切らないで、「ここは自信ないです」って正直に言ってくれる。
これ、地味にすごくないですか。
AIって何でも自信満々に答えがちじゃないですか。
「分からないものは分からない」って言えるのは、使う側からすると信頼できますよね。
Graphifyはどんな場面で使えるか?
Graphifyでプロジェクトの全体像を一瞬で可視化できるか?
Claude Codeでプロジェクトを進めてると、気づいたらファイルが増えてるんですよね。
自分で作ったはずなのに、全体像が見えなくなる。
Graphifyを使えば、フォルダ全体の構造が地図になって出てくるので、「今このプロジェクトはこういう状態」っていうのが一目で分かる。
しかもトークン効率が71.5倍っていう数字が出てます。
つまり、AIにファイルを1個1個読ませるより、Graphifyの地図を読ませた方が71.5倍少ないトークンで済む。
Claude Codeのコンテキスト(AIが覚えていられる量)って有限なので、これはかなり実用的な話です。
Graphifyで引き継ぎ資料なしのプロジェクトを理解できるか?
コメントなし
ファイル名だけが頼り
構造的なつながりを自動検出
探索効率が大幅に向上
これは自分が直面したわけじゃないんですけど、想像するだけでゾッとする場面。
前任者が作ったプロジェクトを引き継いだ。
ドキュメントはない。コメントもない。ファイル名だけが頼り。
こういう時にGraphifyでフォルダを丸ごと解析すれば、少なくとも「何と何が関連してるか」は分かります。
地図があるのとないのとでは、探索の効率が全然違いますよね。
GraphifyでPDF・画像もまとめてナレッジグラフ化できるか?
Karpathyの「知識ベース」構築をより手軽に実現
PDFや画像も読めるので、コードに限らず使えそうなのが面白いところ。
たとえば、あるテーマについて集めた論文やスクリーンショットをフォルダに入れて、Graphifyに地図を作らせる。
「この論文とこの記事は同じ概念について書いてる」みたいな関係が見えてくる。
前回のKarpathy記事でいう「知識ベース」の構築を、もっと手軽にやれるってことですね。
Graphifyに必要なものは?
料金: 無料(MITライセンスのオープンソース)
必要な環境: Python 3.10以上
対応ツール: Claude Code、Codex、OpenCode、OpenClaw、Factory Droid
日本語対応: ツール自体の表示は英語です。ただ、日本語のファイルも読めるとのこと
注意: ドキュメントや画像の解析にはAIのAPI(Claude等)を使うので、その分のAPI利用料がかかる場合があります。コードの構造解析はローカルで完結します
Graphifyのインストール手順は?(Claude Code)
※ graphifyy(yが2つ)が正しい名前
GRAPH_REPORT.md → 重要ファイル・意外なつながり
graph.json → AI用データ(次回の効率化に)
私はClaude Codeを使ってるので、Claude Codeでの手順を書きます。
ステップ1。まずインストール。
Claude Codeを開いて、こう聞いてみてください。
「Graphifyっていうツールをインストールしたい。pip install graphifyy && graphify install を実行して」
※パッケージ名が「graphifyy」(yが2つ)なので注意。公式がPyPIの名前を取得中で、今は「graphifyy」が正しい名前です。
ステップ2。インストールできたら、地図を作りたいフォルダに移動。
Claude Codeに「このフォルダでGraphifyを実行して」と伝えればOKです。あとはClaude Codeが勝手にやってくれます。
ステップ3。待つ。
フォルダの大きさによりますが、解析が終わると3つのファイルが出てきます。
graph.html → ブラウザで開くとインタラクティブな地図が見える
GRAPH_REPORT.md → テキスト形式のレポート。重要なファイルや意外なつながりが書いてある
graph.json → AIが読むためのデータ。次回以降、Claude Codeにこれを読ませると効率がいい
ステップ4。graph.htmlをブラウザで開いてみてください。
ファイルが点(ノード)になっていて、関連するファイル同士が線でつながってる。
色分けもされてて、似た役割のファイルは同じ色のグループにまとまります。
ステップ5。レポートを読む。
GRAPH_REPORT.mdには「このファイルが一番多くのファイルとつながってるよ」っていう情報や、「こことここのつながりは意外かもしれない」っていう発見が書かれています。
大事なこと: 初めて使う前に、Claude Codeに「このGitHubリポジトリ(https://github.com/safishamsi/graphify)を読んで、セキュリティ的に問題ないかチェックして」とお願いしてください。オープンソースのツールは誰でもコードを見られる反面、自分でも確認する習慣をつけておくと安心です。
よくある疑問
Q. プログラミングできないけどGraphifyは使える?
正直、Pythonのインストールとターミナル(パソコンに文字で命令を打つ画面)の操作が必要なので、完全にゼロからだとちょっとハードルはあります。
でも、Claude Codeを使ってる人なら大丈夫。
「Graphifyを入れて使いたい」ってClaude Codeに言えば、インストールから実行まで全部やってくれます。
つまり、Claude Codeが使えるなら実質ハードルはほぼゼロです。
Q. Graphifyでファイルの中身がどこかに送られる?
ここは要注意です。
コードの構造解析(どの関数がどこを呼んでるか等)はパソコンの中だけで完結します。
ただし、ドキュメントや画像の「意味を理解する」部分はClaudeのAPIに送信されるとのこと。
つまり、PDFや画像を含めて解析する場合は、その内容がAIのサーバーに送られる。
機密情報を含むファイルは、解析対象のフォルダから外しておいた方がいいですね。
Q. Karpathyさんの方法と、どっちがいい?
目的が微妙に違います。
Karpathyさんの方法は「知識をWiki形式で蓄積していく」もの。時間をかけて育てるタイプ。
Graphifyは「今あるフォルダの構造を一瞬で可視化する」もの。スナップショットに近い。
組み合わせて使うのが一番良さそうですよね。
Graphifyで全体像を掴んで、その上でKarpathyさん方式で知識を深堀りしていく、みたいな。
Graphifyの注意点と限界は?
通常のClaude(チャット版)やChatGPTでは使えない
まず、まだ生まれて5日のツールです。
GitHubを見ると最終更新は4月8日でv0.3.12。活発に開発されていますが、まだバージョン0.x台。
安定版とは言えない段階なので、「試してみる」くらいの温度感がちょうどいいと思います。
あと、オープンソースは誰でもコードを変更できるので、インストールする前に最終更新日とIssue(不具合報告)を確認してからにしてください。
それから、大きすぎるフォルダだとAIのAPI利用料がかさむ可能性があります。
まずは小さめのフォルダで試してみるのがいいかなと。
あと、対応してるAIコーディングツールがClaude Code・Codex・OpenCode・OpenClaw・Factory Droidの5つ。
普通のClaude(チャット版)やChatGPTでは使えません。
Graphifyが変える「情報の見え方」とは?
でも、つながりが見えると、理解の速度が全然違う。
今回Graphifyを見て思ったのは、結局これって「情報の見え方を変えるツール」なんですよね。
ファイルの中身は変わらない。
でも、つながりが見えると、理解の速度が全然違う。
Karpathyさんが「コードより知識の整理にAIを使うようになった」って言ってた意味が、Graphifyを見てやっと実感できた気がします。
AIの使い方って、どんどん「作る」から「整理する」「理解する」に移ってきてる。
まずは自分のプロジェクトフォルダで1回試してみてください。
「え、こことここ繋がってたの?」っていう発見が、たぶんあると思います。
前回のKarpathy記事をまだ読んでない方は、そちらも合わせてどうぞ。セットで読むと「AIで知識を整理する」の全体像が見えてきます。
参考リンク
・Graphify GitHub: https://github.com/safishamsi/graphify
・Graphify PyPI: https://pypi.org/project/graphifyy/
※この記事の内容は執筆時点のものです。AIは進化が速い分野のため、最新の仕様は公式サイトでご確認ください。