この記事ではRAGに特化して解説します。RAG全般は RAGとは?仕組み・構築・ベクトルDB選定まで【2026年完全ガイド】 をご覧ください。

Graphifyとは——なぜコードをナレッジグラフにするのか

大規模コードベースをAIに理解させるとき、最大のボトルネックはトークン消費だ。10万行のコードベースをAIに読ませるには膨大なトークンが必要で、コンテキストウィンドウの制限にもぶつかる。

Graphifyは、コードベース全体——ソースコード・ドキュメント・PDF・画像・ホワイトボード写真まで——をナレッジグラフに変換するOSSだ。2026年4月3日の公開からGitHub 10,000+ starsに急成長し、AIコーディングツールのエコシステムで注目を集めている。

ナレッジグラフ化の最大のメリットはトークン効率。ソースファイルを直接読む場合と比較して、クエリあたり71.5倍のトークン削減を実現する。AIは関連するサブグラフだけを参照すればよく、ファイル全体を読む必要がない。


3パスパイプライン:グラフ構築の仕組み

Graphifyは3段階のパイプラインでナレッジグラフを構築する。

flowchart TD A["入力フォルダ
(コード・ドキュメント・画像)"] --> B["Pass 1: AST解析
(Tree-sitter、LLM不要)"] A --> C["Pass 2: トランスクリプション
(音声・動画ファイル)"] A --> D["Pass 3: LLMセマンティック解析
(Claude サブエージェント並列実行)"] B --> E["NetworkX グラフ"] C --> E D --> E E --> F["Leidenクラスタリング
(コミュニティ検出)"] F --> G["graph.json
(永続化)"] G --> H["AIアシスタント
からクエリ"] G --> I["MCPサーバー
として公開"]

Pass 1: AST解析(決定論的、LLM不要)

Tree-sitterで20のプログラミング言語を解析し、シンボル・呼び出しグラフ・import関係・クラス階層を抽出する。LLMを使わないため高速かつ決定論的。

# AST解析が抽出する情報
- シンボル(関数、クラス、変数)
- 呼び出しグラフ(関数A → 関数B)
- import/依存関係
- クラス継承階層
- エクスポート/公開API

対応言語:Python、JavaScript、TypeScript、Go、Rust、Java、C、C++、Ruby、C#、Kotlin、Scala、PHP、Swift、Lua、Zig、PowerShell、Elixir、Objective-C、Julia

Pass 2: トランスクリプション

音声・動画ファイルが含まれる場合、テキストに変換してからグラフに取り込む。

Pass 3: LLMセマンティック解析

ドキュメント(Markdown、PDF)、画像(スクリーンショット、図、ホワイトボード写真)をClaudeサブエージェントが並列で解析。概念・関係性・設計意図を抽出する。画像はClaude Visionで処理される。


エッジの3種類——情報の出自を正直に記録する

Graphifyの設計で特筆すべきは、すべてのエッジ(関係)に出自ラベルが付与される点だ。

ラベル 意味 信頼度
EXTRACTED ソースコードから直接抽出(AST解析) 確実
INFERRED LLMが推論(信頼度スコア付き)
AMBIGUOUS LLMが推論したが確信度が低い(要レビュー) 要確認
// graph.jsonのエッジ例
{
  "source": "UserService",
  "target": "DatabasePool",
  "label": "EXTRACTED",
  "relationship": "USES",
  "confidence": 1.0
}

この透明性により、AIが「確実な事実」と「推論」を区別してユーザーに回答できる。


インストールと使い方

Claude Codeでの導入

# スキルディレクトリにSKILL.mdを配置
mkdir -p ~/.claude/skills/graphify

# GitHubリポジトリからSKILL.mdをダウンロード
curl -o ~/.claude/skills/graphify/SKILL.md \
  https://raw.githubusercontent.com/safishamsi/graphify/v3/SKILL.md

PyPIからのインストール

# PyPIパッケージ名は「graphifyy」(yが2つ)
pip install graphifyy

基本コマンド

# Claude Code内で使用
/graphify              # カレントフォルダのグラフを構築
/graphify query        # グラフにクエリを実行
/graphify path         # ノード間のパスを検索
/graphify explain      # コンポーネントの説明を取得

# Git Hooksのインストール(コミット時に自動再構築)
graphify hook install

# Gemini CLI連携のセットアップ
graphify gemini install

–watchモード

# ファイル保存時にグラフを自動更新
/graphify --watch

# AST変更(コード)は即座に再構築
# ドキュメント・画像の変更はLLM再解析をトリガー

対応AIツールと統合方法

Graphifyは10以上のAIコーディングツールと統合できる。統合はIDEプラグインではなく、AIアシスタントレイヤーで行われる。

ツール 統合方法
Claude Code ~/.claude/skills/graphify/SKILL.md
Codex .codex/hooks.jsonのPreToolUseフック
Cursor .cursor/rules/graphify.mdcalwaysApply: true
Gemini CLI GEMINI.mdセクション+BeforeToolフック
OpenCode .opencode/plugins/のtool.execute.beforeプラグイン
GitHub Copilot CLI 設定ファイルへの追記
Aider 設定ファイルへの追記

MCPサーバーモード

graph.jsonをMCPサーバーとして公開し、構造化されたグラフアクセスを提供することも可能。

// MCP経由で利用できるツール
{
  "tools": [
    "query_graph",    // グラフ全体へのクエリ
    "get_node",       // 特定ノードの詳細取得
    "get_neighbors",  // 隣接ノードの取得
    "shortest_path"   // ノード間の最短パス検索
  ]
}

類似ツールとの比較

ツール スコープ マルチモーダル 設計意図の抽出 クロスリポジトリ
Graphify リポジトリ内+ドキュメント+画像 対応 対応(LLM抽出) 非対応
Sourcegraph クロスリポジトリコード検索 非対応 非対応 対応
CodeGraph リポジトリ内(Claude Code専用) 非対応 非対応 非対応
Code2Vec / Neo4j エンベディング / グラフDB 非対応 非対応 一部対応

Sourcegraphはクロスリポジトリのコード検索に強く、Graphifyの補完関係にある。CodeGraphはClaude Code専用でコードのみ対応。Graphifyはマルチモーダル(コード+ドキュメント+画像)かつツール非依存という点で差別化されている。


実用パターン:どんなコードベースで効果的か

効果が高いケース

  1. 大規模モノレポ:数十万行のコードでコンテキストウィンドウが足りない場合、グラフからの部分クエリが威力を発揮する
  2. ドキュメントが散在するプロジェクト:Markdown、PDF、Confluence等のドキュメントもグラフに統合し、コードとの関連性を可視化
  3. 新規参画者のオンボーディング/graphify explain UserServiceでコンポーネントの役割と依存関係を即座に把握
  4. レガシーコードの理解:ドキュメントがないコードでもAST解析で構造を抽出し、LLMが設計意図を推論

効果が限定的なケース

  • 小規模プロジェクト(数千行以下)——AIが直接ファイルを読む方が効率的
  • 頻繁に変更されるプロトタイプ——グラフ再構築のオーバーヘッドが大きい
# Graphifyの効果を数字で見る(公式ベンチマーク)
# 10万行のPythonプロジェクトの場合

raw_file_reading = {
    "tokens_per_query": 143_000,    # ソースファイル直接読み
    "response_time": "8-12秒",
    "accuracy": "中(コンテキスト溢れ)",
}

graphify_query = {
    "tokens_per_query": 2_000,       # グラフからの部分クエリ
    "response_time": "1-3秒",
    "accuracy": "高(関連部分のみ参照)",
}

# 削減率: 143,000 / 2,000 ≈ 71.5倍

セキュリティと注意点

  • MCPサーバーモードでは、パス検証が強化されている(パスの存在確認+.json拡張子チェック)
  • graph.jsonにはコードの構造情報が含まれるため、公開リポジトリへのコミットに注意
  • .gitignoregraph.jsonを追加することを推奨
  • LLMセマンティック解析にはAPIコストが発生する(初回構築時のみ。増分更新は低コスト)
# .gitignoreに追加
echo "graph.json" >> .gitignore

関連記事: RAGとは?仕組み・構築・ベクトルDB選定まで【2026年完全ガイド】

参照ソース