blog.dopana

Back

Claude Code、Cursor、CodexなどのAIコーディングアシスタントは強力ですが、根本的な制限があります:コードベースを理解するために生のソースファイルを読む必要があることです。大規模プロジェクトでは、これはコンテキストウィンドウとAPIクレジットを驚くべき速度で消費します。

Graphifyはこの問題を、プロジェクト全体(コード、ドキュメント、PDF、画像など)を構造化された検索可能な知識グラフにマッピングすることで解決します。AIアシスタントは即座にこのグラフを照会できます。

Graphifyとは#

Graphifyはオープンソースのローカルファーストツールで、フォルダを実際のノード・エッジグラフ(graph.json)にパースします。AIコーディングアシスタントは生のファイルを読む代わりにこのグラフを照会するため、トークン使用量を劇的に削減しながら構造的精度を維持します。

36以上のプログラミング言語をtree-sitters AST解析でサポートし、マルチモーダルコンテンツ(PDF、画像、動画、スプレッドシート)を処理し、graphify-out/に3つの主要なアーティファクトを生成します:

  • graph.html — インタラクティブでクリック可能なグラフ可視化
  • GRAPH_REPORT.md — 主要な概念とファイル間接続を含むアーキテクチャ要約(Obsidian互換)
  • graph.json — プログラムによる照会のための生の知識グラフ

このプロジェクトは公開から数ヶ月で10万近いGitHubスターを獲得する急速な成長を遂げています。

動作の仕組み#

Graphifyは2パスハイブリッド処理アーキテクチャを採用:

パス1:コード(決定論的AST解析)#

36以上の言語に対応したローカルtree-sitter解析。完全にオフライン — LLM呼び出しはゼロ、データがマシンを離れることはありません。抽出:

  • クラス、関数、メソッド、インターフェース
  • インポート/エクスポート関係
  • コールグラフと継承階層
  • 変数参照と型情報

パス2:ドキュメントとメディア(意味論的抽出)#

非コードファイル(PDF、画像、音声、動画、スプレッドシート)については、設定されたAIバックエンド(Claude、OpenAI、Gemini、Ollama、Bedrockなど)を使用して意味論的概念を抽出し、コードグラフにリンクします。

エッジのラベル付け#

すべての関係は明示的にタグ付けされます:

  • EXTRACTED — ソースに明示的に存在する(例:関数呼び出し)
  • INFERRED — Graphifyの解決アルゴリズムによって導出された(例:概念的な類似性)

これにより、開発者とAIエージェントは検証済みの関係とアルゴリズムによる推論を区別できます。

コミュニティ検出#

GraphifyはLeidenクラスタリング(LLM不要)を適用してコードを論理的なサブシステムに分割し、コードベース内で最も中心的な「Godノード」を特定します。

サポートされているデータソース#

タイプフォーマット
コードPython, TypeScript, JavaScript, Go, Rust, Java, C/C++, C#, Ruby, Swift, Kotlin, Scala, PHP, Lua, Zig, SQL, Terraform/HCLなど(36以上の文法)
ドキュメントMarkdown, MDX, HTML, reStructuredText, YAML, JSON, Obsidian wikilinks
オフィスWord (.docx), Excel (.xlsx), Google Workspace
メディアPDF, PNG/JPG/WebP/GIF, 音声/動画 (.mp4, .mov, .mp3, .wav), YouTube URL, arXiv論文

インストール方法#

# 前提条件: Python 3.10+

# CLIをインストール(パッケージ名: graphifyy)
uv tool install graphifyy
# または
pipx install graphifyy

# AIスキルを登録
graphify install

# プロジェクトに対して実行
graphify .
bash

スキルを特定のプロジェクトにスコープする場合:

graphify install --project
bash

主な機能#

ストリクトモード#

Claude Code統合により、最初の生ファイル読み取りをブロックし、エージェントに最初にグラフを参照するよう強制します。

Gitフック統合#

コミット/チェックアウト時にコードグラフを自動再構築:

graphify hook install
bash

クエリエンジン#

AIエージェントはファイル全体を読む代わりに、ターゲットを絞ったサブグラフクエリを実行:

graphify query "認証はどのように機能しますか?"
graphify path "auth-service" "user-service"
bash

トークン最適化#

生ファイルの代わりに正確なサブグラフをAIアシスタントに提供することで、Graphifyはトークン使用量とAPIコストを大幅に削減します — 特に大規模コードベースで価値を発揮します。

Graphify vs. 代替ツール#

機能GraphifyベクターRAG (mem0など)Grep
構造的正確性✅ ASTレベル❌ 類似性ベース✅ 完全一致
インデックスLLM費用❌ ゼロ(パス1はローカル)⚠️ 高い埋め込みコスト✅ ゼロ
マルチモーダル対応✅ コード+文書+メディア✅ テキストのみ❌ テキストのみ
関係タイプ✅ EXTRACTED vs INFERRED❌ 意味的類似性のみ❌ なし
インタラクティブグラフ✅ graph.html❌ なし❌ なし

ユースケース#

大規模コードベースへのオンボーディング — 新メンバーがGRAPH_REPORT.mdを探索し、グラフを照会することで、何日もかけてファイルを読む必要がありません。

コードレビューの影響分析 — 編集前に変更がモジュール間でどのように伝播するかを追跡。

マルチモーダルプロジェクト文書化 — コードロジックをアーキテクチャ図、会議PDF、ホワイトボード写真と統合し、統一された知識グラフに。

コスト効率的なCI/CD — リポジトリ全体ではなく正確なサブグラフをAIコードレビューエージェントに提供。

まとめ#

GraphifyはAIコーディングアシスタントがコードを理解する方法を変革します。生ファイルをコンテキストウィンドウに投入する代わりに — 高コストで非効率、かつ不正確 — エージェントが外科的な精度で照会できる構造化された知識グラフを構築します。

ゼロコストのコードインデックス(tree-sitter、ローカル限定)、広範なマルチモーダルサポート、視覚的探索ツールにより、GraphifyはAI支援開発スタックの必須ツールになりつつあります。

参考資料#