「つながりの地図」に可視化
「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は進化が速い分野のため、最新の仕様は公式サイトでご確認ください。