AIエンジニアAndrej Karpathyが「自分の/rawフォルダを整理できるツールが欲しい」と投稿してから48時間。その要望にそのまま応えるツールがGitHubに登場した。それがGraphifyだ。Claude Codeで /graphify を実行するだけで、コードベース全体がナレッジグラフに変換される。公開直後から急速に広まり、GitHubスター数は36,800を超えている(2026年4月時点)。
本記事では、公式GitHubリポジトリをもとに、Graphifyの仕組み・インストール方法・「71.5倍トークン削減」の根拠を正確に解説する。
Graphifyとは
GraphifyはSafi Shamsi氏(ロンドン在住のAI研究者)が開発したオープンソースのClaude Codeスキルだ。コードベース・PDF・画像・Markdownなどを読み込み、ナレッジグラフとして構造化する。
| 項目 | 内容 |
|---|---|
| 作者 | Safi Shamsi(GitHub: safishamsi) |
| ライセンス | MIT(無料) |
| GitHubスター | 36,800+(2026年4月) |
| 対応AI | Claude Code、Cursor、GitHub Copilot、Geminiほか13プラットフォーム以上 |
| 必要環境 | Python 3.10以上 |
71.5倍トークン削減の根拠
「71.5倍」という数字は、Karpathy氏の混合コーパスを使った計測に基づく。
計測条件(公式READMEより):- GPTフレームワーク関連リポジトリ3件 + Attentionの論文5本 + 図解画像4枚
- 合計約52ファイル・約92,000語
- 生ファイルをそのまま読む場合:クエリあたり約123,000トークン
- Graphifyのナレッジグラフ経由:クエリあたり約1,700トークン
- 削減率:71.5倍
重要な補足として、削減効果はコーパスの規模に比例する。6ファイル程度の小規模プロジェクトではほぼ効果がなく、50ファイル以上・ドキュメント混在の大規模コーパスで最大の恩恵を受けられる。
3パス処理の仕組み
Graphifyは内部で3段階の処理を行っている。
Pass 1:AST抽出(ローカル完結・LLM不要)
Tree-sitterを使ってソースコードを静的解析する。コードは一切外部に送信されない。
対応言語は25言語:Python、JavaScript、TypeScript、Go、Rust、Java、C、C++、Ruby、C#、Kotlin、Scala、PHP、Swift、Lua、Zig、PowerShell、Elixir、Objective-C、Julia、Verilog、SystemVerilog、Vue、Svelte、Dart。
抽出内容:クラス・関数・コールグラフ・インポート・継承階層・ドキュメントコメント。
Pass 2:音声・動画の文字起こし(ローカル完結)
faster-whisperを使ってローカルで文字起こしを行う。音声データも外部に送信されない。
Pass 3:LLMによる意味抽出
PDF・画像・Markdownなどのドキュメントに対してClaudeサブエージェントが並列で処理する。Claude Visionで図解・スクリーンショットからも概念を抽出する。
コードの中身そのものではなく、意味的な記述のみがAPIに送信される設計になっている。
クラスタリングについて: ベクターデータベースは使用しない。グラフのエッジ密度をもとにしたLeidenコミュニティ検出アルゴリズムで、意味的な近さを表現している。
出力物
/graphify を実行すると以下のファイルが生成される。
| ファイル | 内容 |
|---|---|
graph.html |
ブラウザで開けるインタラクティブなグラフ可視化 |
graph.json |
クエリ可能な永続グラフデータ |
GRAPH_REPORT.md |
重要ノード・意外なつながり・推奨質問のサマリー |
cache/ |
SHA256キャッシュ(2回目以降は差分のみ再構築) |
obsidian/(オプション) |
Obsidianで開けるバックリンク付きVault |
wiki/index.md(オプション) |
エージェントが巡回できるMarkdownウィキ |
グラフが生成された後は、次のような質問をそのままClaude Codeに投げられる。
「この関数を呼び出しているのはどこ?」
「この2つのモジュールをつなぐ経路は?」
「プロジェクト全体で最も重要なノードは?」
インストール方法
注意: SNSで拡散している pip install graphify は誤りだ。PyPIのパッケージ名は graphifyy(yが2つ) となっている。
# 推奨(uv使用)
uv tool install graphifyy && graphify install
# pipxの場合
pipx install graphifyy && graphify install
# pipの場合
pip install graphifyy && graphify install
インストール後、Claude Codeのチャットで次のように実行する。
/graphify . # カレントディレクトリ全体を対象
/graphify ./src # 特定フォルダを対象
/graphify ./raw --watch # ファイル変更を検知してリアルタイム更新
活用シーン
- 大規模コードベースの把握: 初めて触るリポジトリの全体像を素早く掴む
- 研究資料の整理: 論文PDF・図解・コードを横断した概念マップの作成
- リファクタリング前の調査: 「この関数を消したら何が壊れる?」を事前確認
- ドキュメント生成の補助: GRAPH_REPORT.mdをベースに設計ドキュメントを起こす
注意点
効果が薄いケース:- ファイル数が少ない(〜10ファイル程度)小規模プロジェクトはコンテキストウィンドウに収まるため恩恵が小さい
- 変更頻度が高いプロトタイプ段階のコードは、グラフの再構築コストが蓄積する
初回構築のコスト: ASTパスはLLM不要でコスト0だが、ドキュメント・画像のセマンティック抽出は自前のAPIキーを使用する。大規模コーパスでは初回の構築にトークンコストがかかる点は把握しておきたい。
graph.jsonの取り扱い:
コードの構造的メタ情報が含まれるため、公開リポジトリへのコミットは避けて .gitignore に追加することが推奨されている。
まとめ
Graphifyはコードベースをナレッジグラフとしてインデックスすることで、AIエージェントが必要な情報に最短経路でアクセスできるようにする。71.5倍というトークン削減値はKarpathy氏の大規模混合コーパスでの実測値で、小規模プロジェクトには過剰期待は禁物だが、ドキュメントと図解が混在するような複合的な知識ベースへの適用では明確な効率化が期待できる。
MITライセンスで無料、Python 3.10以上があれば1コマンドで導入できる。大きめのコードベースを抱えているなら試す価値は十分にある。