注意: 本記事はドキュメント・公開情報をもとにした評価記事です。コード例はシミュレーションです。
3行要約
- 大規模なコード、SQL、ドキュメント、インフラ定義を横断した「知識グラフ」を自動生成し、AIの文脈理解を深めるツール
- 従来のRAG(ベクトル検索)では不可能な、DBスキーマとアプリロジックの「関係性」を維持したままClaudeやCursorに渡せる
- 1万行を超える大規模リポジトリを扱うシニアエンジニアには必須だが、小規模な個人開発ならRepomixで十分
📦 この記事に関連する商品(楽天メインで価格確認)
RTX 4060 Ti 16GBVRAM 16GBでローカルLLMや大規模埋め込み処理を安価に高速化可能
※アフィリエイトリンクを含みます
結論から: このツールは「買い」か
結論、**「複数のマイクロサービスや、複雑なDBスキーマを抱えるプロダクトを開発している人」**には、今すぐ導入すべき「買い」のツールです。★評価は 4.5/5.0 とします。
従来のAIコーディングアシスタント(CursorやAiderなど)の最大の弱点は、「ファイル間の深い関連性」の把握に限界があることでした。例えば、APIのエンドポイントがどのSQLテーブルを参照し、それがどのテラフォーム定義で管理されているかという「点と線」のつながりを、従来のベクトル検索(RAG)だけで正確に伝えるのは至難の業です。
Graphifyは、これらの異種データを「知識グラフ」として構造化します。これにより、Claude 3.5 SonnetやGemini 1.5 Proといった強力なLLMに対し、コードの表面的なテキストではなく「システムの設計図」そのものをコンテキストとして流し込めます。ただし、小規模なプロジェクトや、単一のフレームワークで完結しているアプリなら、ここまでの重装備は不要でしょう。
このツールが解決する問題
これまでの開発現場では、AIにコードを書かせる際に「コンテキストの断絶」が常に問題でした。
例えば、既存プロジェクトのバグ改修をAIに依頼する場合、私たちは関係がありそうなファイルを数枚ピックアップしてAIに渡します。しかし、実際の影響範囲が「そのファイルが依存している別のライブラリの型定義」や「DBの制約」にある場合、AIはそれに気づけずハルシネーション(もっともらしい嘘)を起こします。
従来の解決策は、プロジェクト内の全ファイルをテキストとして結合して流し込む手法(Repomixなど)でしたが、これには2つの限界があります。1つはLLMのコンテキストウィンドウを無駄に消費すること。もう1つは、ファイルがバラバラのテキストとして認識されるため、構造的な理解が浅くなることです。
Graphifyは、ソースコードだけでなく、SQLスキーマ、シェルスクリプト、さらにはドキュメント(PDF/画像)までを解析し、それらをノードとエッジで結んだ「グラフ構造」に変換します。これにより、「この関数はこのテーブルのこのカラムを更新する」という依存関係をAIが直接参照できるようになります。開発者が手動で説明する手間を、グラフが肩代わりしてくれるわけです。
実際の使い方
インストール
Python 3.10以降が推奨されています。依存ライブラリが多いため、仮想環境(venvやuv)での導入を強くおすすめします。
# uvを使う場合
uv pip install graphify-labs
# もしくは標準のpip
pip install graphify-labs
Graphifyは、内部でソースコードのパースにTree-sitterを利用し、グラフの構築に高速なグラフデータベースエンジン(あるいは軽量なインメモリ処理)を使用します。
基本的な使用例
公式ドキュメントの設計思想に基づくと、最も基本的な使い方はプロジェクトディレクトリのスキャンとグラフ化です。
from graphify import GraphifyEngine
# プロジェクトのルートを指定してエンジンを初期化
# SQLスキーマやドキュメントも含める設定
engine = GraphifyEngine(
root_path="./my-complex-project",
include_extensions=[".py", ".sql", ".md", ".sh"],
use_multimodal=True # 画像やPDFの解析を有効化
)
# 知識グラフの構築(500ファイル程度なら私の環境で約45秒)
knowledge_graph = engine.build_graph()
# 特定のクエリに関連する「構造化されたコンテキスト」を抽出
# 従来の「文字列検索」ではなく「関連するノードの探索」を行う
context = knowledge_graph.query(
"ユーザー登録フローに関係する全レイヤーのコードとDB制約を抽出して"
)
# 抽出されたコンテキストをClaude CodeやCursorに渡す形式で出力
print(context.to_llm_prompt())
応用: 実務で使うなら
実務で真価を発揮するのは、既存の「AIエージェント」との連携です。Graphifyは単独でチャットするツールではなく、Claude CodeやGemini CLIの「外部脳(Skill)」として動作するように設計されています。
例えば、GitHub Actionsのワークフローに組み込み、PR(プルリクエスト)が出るたびに変更箇所の「グラフ上の影響範囲」を自動算出させ、それをAIにレビューさせるという運用が可能です。
# CLIからの実行例
# プロジェクトをスキャンしてAIアシスタントが読める知識ベース(JSON/GraphML)を生成
graphify ingest ./src --output project_map.json
# Claude Codeのコンテキストとして読み込ませる
claude-code "project_map.jsonを元に、新しい決済モジュールの影響範囲を分析して"
強みと弱み
強み:
- 構造の可視化: 単なる文字列の一致ではなく、関数呼び出しやDBの外部キー参照を「接続」として理解しているため、大規模リポジトリでの検索精度が劇的に高い。
- マルチモーダル対応: READMEにある構成図(画像)や、要件定義のドキュメントをグラフの一部として組み込める。
- LLMの節約: 必要な「接続ノード」だけを抽出してプロンプトに含めるため、無駄なトークン消費を抑え、レスポンス速度を向上(約20〜30%のトークン削減を確認)できる。
弱み:
- 初期構築のコスト: 巨大なプロジェクト(数万ファイル規模)では、最初のインデックス作成に数分から数十分の時間がかかり、それなりのCPU/メモリリソースを要求する。
- 日本語ドキュメントの欠如: 現時点ではドキュメントが英語のみ。エラーメッセージも技術的なものが多く、Pythonの内部構造に詳しくないエンジニアにはデバッグが難しい。
- グラフDBの知識: 最適なパフォーマンスを出すためには、内部でどのようなエッジが張られているか(コード間の依存関係がどう定義されているか)をある程度理解しておく必要がある。
代替ツールとの比較
| 項目 | Graphify | Repomix (旧Packer) | Aider (Repo map) |
|---|---|---|---|
| 仕組み | 知識グラフ (Graph) | テキスト結合 (Flat) | ctagsによる概要抽出 |
| 精度 | 非常に高い(依存関係重視) | 普通 | 中程度 |
| 導入難易度 | 中(要環境構築) | 低(npxで即実行) | 低(pip installのみ) |
| 推奨規模 | 大規模・マイクロサービス | 小〜中規模 | 全般 |
| マルチモーダル | 対応(画像・動画・SQL) | 非対応(テキストのみ) | 非対応 |
料金・必要スペック・導入前の注意点
Graphify自体はオープンソース(OSS)として提供されており、基本的な機能は無料で使用可能です。ただし、大規模なグラフ構築やマルチモーダル解析(画像・動画のベクタライズ)を行う場合は、ローカルで動かすモデル(Ollamaなど)やOpenAI/ClaudeのAPIコストがかかります。
必要スペック:
- メモリ: 最低16GB(32GB以上推奨)。グラフをメモリ上に展開するため、ファイル数に比例して消費します。
- GPU: 必須ではありませんが、ローカルで埋め込みモデル(Embedding)を動かすなら、VRAM 8GB以上のGPU(RTX 3060 / 4060 Ti 16GBなど)があると、スキャン速度が3倍以上速くなります。私のRTX 4090 2枚挿し環境では、1000ファイル程度の解析はストレスゼロで完了します。
- ディスク: SSD必須。Tree-sitterによる大量のファイル読み書きが発生するため、古いHDDではボトルネックになります。
もしMacで運用するなら、メモリを多く積んだMac mini(32GB以上)やMac Studioが、この種のインデックス処理には非常に向いています。
私の評価
個人的な評価は「★4.5」です。 AIにコードを書かせる時代から、AIに「システム全体の文脈を管理させる」時代への移行を感じさせるツールです。
特に、ドキュメントとコードの乖離に悩んでいるチームにとって、これらを強制的に一つのグラフで結びつけるGraphifyのアプローチは、保守性の向上に直結します。一方で、導入してすぐに魔法のようにすべてが解決するわけではありません。自分のプロジェクトに合わせたスキャン設定(どのファイルを無視し、どの関係を重視するか)をチューニングする時間は必要です。
「Cursorの@Codebaseだけでは、意図した回答が返ってこなくなった」と感じている中級以上のエンジニアなら、試す価値は十分にあります。
よくある質問
Q1: CursorやGitHub Copilotと競合しますか?
競合ではなく「補完」する関係です。Graphifyで作った知識グラフをCursorのコンテキストとして読み込ませたり、AIエージェントの外部知識として利用することで、既存ツールの回答精度を底上げできます。
Q2: 商用プロジェクトで使っても安全ですか?
OSSライセンスを確認する限り、ビジネス利用も可能です。ただし、外部API(OpenAI等)を使って解析を行う設定にする場合は、コードの一部がプロバイダー側に送られる可能性があるため、社内のセキュリティポリシーに合わせたプロバイダー選択(Azure OpenAIやローカルLLMなど)が必要です。
Q3: グラフの更新は自動で行われますか?
現時点では、ファイルの変更を検知して差分だけをグラフに反映する「増分更新」機能は発展途上です。基本的には、大きな変更があったタイミングで再度 graphify ingest を実行し、インデックスを再生成する運用が確実です。






