Claude Codeでコードベースに質問するたびにGlob・Grep・Readが連鎖して、1回の質問で数十万トークンを消費した経験は多くの開発者にあるはずだ。graphify(Graphify-Labs/graphify) は、コードベースを事前に知識グラフへ圧縮し、AIアシスタントにgrepの代わりにグラフを辿らせるOSSスキルだ。PyPI graphifyy で配布されている。

PRETOOLUSE HOOK常時ONの仕組み

Glob を呼ぶ直前にフックがグラフへ回り道させる

  1. ユーザーの質問

    認証フローはどう動く?

  2. Glob を呼ぶ

    いつもなら grep 連鎖

  3. フックが割り込む

    グラフを先に読め

  4. GRAPH_REPORT.md

    god ノードとコミュニティ

  5. 構造に基づく回答

    Glob/Grep の連鎖を回避

graphify claude install が .claude/settings.json に登録する。出典: Graphify-Labs/graphify README(既定ブランチ v8)

30秒でわかるgraphify

  • ・コード・PDF・画像・動画から知識グラフを作り、アシスタントがgrepでなくグラフナビゲーションで答えるよう仕向けるスキル
  • ・tree-sitterのAST抽出(25言語)→ Whisperで転写 → Claudeサブエージェントで意味抽出 → Leidenでコミュニティ検出
  • ・PreToolUseフックでGlob/Grep直前に「グラフを先に読め」と差し込む常時ON連携が肝。14ツールに対応
  • ・かつてREADMEにあった「71.5倍削減」は既定ブランチ v8 から消えている(2026-08-31 再確認)
  • ・リポジトリは safishamsi から Graphify-Labs へ移管。ライセンスは Apache-2.0

Claude Code全体の使い方はClaude Code|2026年版・インストールからCLAUDE.md・Hooks・本番運用までの実装手引きを参照してほしい。

graphifyとは:grepの代わりにグラフを辿らせるClaude Codeスキル

Claude Codeなら/graphifyで起動し、対象ディレクトリのコード・SQLスキーマ・ドキュメント・論文・画像・動画から概念とリレーションを抽出する。出力は対話型HTML・JSON・GRAPH_REPORT.mdの3点で、後段のClaude/Codexはこのレポートを起点にナビゲーションする。

観点 従来のClaude Code利用 graphify導入後
質問への応答経路 Glob → Grep → Read を連鎖 GRAPH_REPORT.md → graph.json を参照
1問あたりのトークン 数万〜数十万 現在の公式READMEは倍率を掲げていない(旧mainの値は52ファイルで71.5倍・6ファイルで約1倍とコーパス規模依存)
クロスファイルの関係把握 ファイルを順次読まないと不明 グラフ上のedgeで即可視化
「なぜそう書いたか」 コード内の散在コメント頼み rationale_forノードとして集約
信頼度 LLMの推測 EXTRACTED / INFERRED / AMBIGUOUSのタグ付け
永続性 セッション毎に再grep graph.jsonを再利用、SHA256キャッシュ

削減倍率は公式の看板から外れた。「Karpathy repos + 5 papers + 4 images(52ファイル)」の71.5倍、「graphifyソース + Transformer論文(4ファイル)」の5.4倍は古い main ブランチのREADMEに残っているが、2026年8月31日に確認した既定ブランチ v8 のREADMEには無い(撤回の告知は出ていない)。現在の公式ポジショニングは「grepの代わりにグラフを辿る」ことそのものだ。

検証環境: macOS 14.5 / Python 3.12 / Claude Code v2.x / 確認日 2026-05-02。pip install graphifyyによるインストール可否、graphify claude installが~/.claude/CLAUDE.mdとsettings.jsonに書き込む内容まで確認。トークン削減の倍率はREADME掲載値で、手元では測っていない。

graphifyが生成した知識グラフのビューア画面。ノードとエッジでコードベースの構造が可視化されている
graphifyが生成する知識グラフのビューア(公式リポジトリ docs/graph-hero.png より)

graphifyの仕組み:3パスのパイプラインと出力

THREE PASSES3パスの分担

LLMを呼ぶのは3パス目だけ。コード更新は AST だけで済む

  1. Pass 1

    tree-sitter の AST 抽出

    25言語のクラス・関数・import・呼び出し。LLMコールゼロ

  2. Pass 2

    faster-whisper で転写

    動画・音声をローカルで文字に

  3. Pass 3

    Claude サブエージェントの意味抽出

    文書・論文・画像を並列で。EXTRACTED / INFERRED / AMBIGUOUS

抽出後は Leiden でコミュニティ検出(埋め込みは使わない)。出典: Graphify-Labs/graphify README(既定ブランチ v8、2026-08-31 確認)

Pass 1 は .py .ts .js .go .rs .java .c .cpp .rb .cs .kt .scala .php .swift .lua .zig .ps1 .ex .m .jl .vue .svelte .sql など25言語から、クラス・関数・import・呼び出し関係・docstring・設計コメント(# NOTE: # WHY: # HACK:)を抜く。SQLは graphifyy[sql] で有効になり、テーブル・ビュー・外部キーがノードになる。Pass 2 は動画・音声(YouTube等のURLはyt-dlpで音声だけ取得)をfaster-whisperでローカル転写し、graphify-out/transcripts/にキャッシュする。Pass 3 はClaudeサブエージェントが並列で概念を抜き、各エッジに EXTRACTED(confidence 1.0)・INFERRED(0.0–1.0付き)・AMBIGUOUS(要レビュー)を付ける。

統合後はLeidenでコミュニティに分ける。READMEは「Clustering is graph-topology-based — no embeddings」と明記しており、Vector DBも埋め込みパイプラインも要らない。コードだけ更新したときはASTだけで再ビルドでき、LLMコールはゼロだ。

ファイル 中身 用途
graph.html 対話型グラフ。ノードクリック・検索・コミュニティフィルタ 人間が見る
GRAPH_REPORT.md god ノード・surprising connections・suggested questions LLMが先に読む
graph.json NetworkX互換の永続グラフ クエリ・MCP・他ツール連携
cache/ SHA256キャッシュ 増分ビルド
transcripts/ Whisper転写結果 動画/音声の再利用
manifest.json mtimeベースのファイル履歴(git cloneで無効) gitignoreすべき
cost.json ローカルなトークン消費トラッキング gitignoreすべき

レポートには最大次数の god ノード、コード–論文エッジが上位に来る surprising connections、そのグラフが答えやすい4–5の suggested questions、設計理由を集めた rationale_for ノード、3つ以上のノードの集団関係を表す hyperedges が並ぶ。

graphifyのインストールとClaude Code常時ON連携

PyPIの正式パッケージ名は graphifyy(yが2つ) で、pip install graphifyは別物だ。オプションはextrasで切り替える。

pip install graphifyy
pip install 'graphifyy[mcp]'      # MCPサーバ機能
pip install 'graphifyy[video]'    # 動画/音声 (faster-whisper + yt-dlp)
pip install 'graphifyy[sql]'      # SQL DDLパース
pip install 'graphifyy[office]'   # docx/xlsx
graphify claude install

これでプロジェクトのCLAUDE.mdに「グラフがあればgraphify-out/GRAPH_REPORT.mdを先に読む」節が足され、.claude/settings.jsonにPreToolUseフックが登録される。フックはGlob/Grep直前に「graphify: Knowledge graph exists. Read GRAPH_REPORT.md for god nodes and community structure before searching raw files.」と差し込む。あとは/graphify .でgraphify-out/を作るだけで、アンインストールはgraphify claude uninstall。

CLAUDE.mdに書いただけでは指示が無視されることもあるが、フックはツール呼び出しの直前に割り込むのでガードとして効く。公式READMEは14ツールへのインストールを1コマンドで用意している。

ツール コマンド 仕組み
Claude Code graphify claude install CLAUDE.md + PreToolUseフック
Codex graphify codex install AGENTS.md + .codex/hooks.json PreToolUseフック
OpenCode graphify opencode install AGENTS.md + .opencode/plugins/graphify.js
Cursor graphify cursor install .cursor/rules/graphify.mdc (alwaysApply)
Gemini CLI graphify gemini install GEMINI.md + BeforeToolフック
GitHub Copilot CLI graphify copilot install ~/.copilot/skills/graphify/
VS Code Copilot Chat graphify vscode install .github/copilot-instructions.md
Aider graphify aider install AGENTS.md
Kiro IDE/CLI graphify kiro install .kiro/steering/graphify.md (always inclusion)
Google Antigravity graphify antigravity install .agents/rules + .agents/workflows
OpenClaw / Factory Droid / Trae / Trae CN / Hermes 各 graphify <name> install 主にAGENTS.md

フック対応のClaude Code・Codex・Gemini CLI・OpenCodeはグラフ参照を強制でき、Cursor・Kiro・AntigravityはruleのalwaysApply / inclusion: alwaysで近い動きをするが、強制力はフック版より弱い。

graphifyの基本コマンドとMCP連携

/graphify .                        # カレントディレクトリでグラフ構築
/graphify ./raw --update           # 変更ファイルのみ再抽出して既存グラフへマージ
/graphify ./raw --mode deep        # INFERREDエッジを攻めに抽出
/graphify ./raw --wiki             # コミュニティ単位でWikipedia風MDを生成
/graphify ./raw --graphml          # graph.graphml (Gephi/yEd向け)
/graphify ./raw --neo4j-push bolt://localhost:7687

/graphify add https://arxiv.org/abs/1706.03762        # 論文を取得し、グラフ更新
/graphify add <video-url> --whisper-model medium      # 動画→音声→転写→抽出

/graphify query "show the auth flow" --dfs            # 特定パスをDFSで追跡
/graphify query "..." --budget 1500                   # トークン上限を指定
/graphify path "DigestAuth" "Response"                # 最短パス
/graphify explain "SwinTransformer"                   # ノードの平易な説明
graphify hook install              # post-commit + post-checkoutでグラフ自動再ビルド
graphify update ./src              # コードのみ再抽出(LLMコール無し)
graphify merge-graphs repo1/graphify-out/graph.json repo2/graphify-out/graph.json --out cross-repo.json

--budgetで「この質問は1500トークン以内」という制約をグラフ側で強制でき、merge-graphsでマイクロサービス全体を1つのグラフで横断できる。公式READMEは「graph.jsonをプロンプトに丸ごと貼ってはいけない」と明記しており、graphify queryで必要なサブグラフだけを切り出すか、MCPサーバ経由でツールとして呼ばせる。MCPならquery_graph / get_node / get_neighbors / shortest_path が使える。

{
  "mcpServers": {
    "graphify": {
      "type": "stdio",
      "command": ".venv/bin/python3",
      "args": ["-m", "graphify.serve", "graphify-out/graph.json"]
    }
  }
}

WSL/Linuxでは、PEP 668対策で必ずvenvに入れる(公式READMEの注意書き)。抽出から外すパスは .gitignore と同じ構文の .graphifyignore に書け(vendor/・node_modules/・AGENTS.md など)、!による再包含も使える。

効く場面・効かない場面と、他のトークン削減手法との比較

ツール / 手法 アプローチ 主な削減源 適合する質問 留意点
graphify(本記事) 知識グラフ事前生成+PreToolUseフック grep連鎖の回避 構造・関係性・「なぜ」 初回構築コストあり
Claude Codeのトークン最適化ツール比較 で扱う各種CLI プロンプト圧縮、ファイル分割 プロンプト直接圧縮 単発質問 実行時のオーバーヘッド
caveman-claude(トークン圧縮) ハーネス側でのプロンプト圧縮 プロンプト本文の圧縮 長文プロンプト 圧縮による情報損失
AIエージェントのトークン最適化2026 で網羅される手法 包括的(キャッシュ、ストリーミング、context window管理) 多面的 全般 個別実装コスト

プロンプト圧縮系は質問のたびにコストを払うが、graphifyは一度作ったグラフをすべての質問で使い回す。一般的なRAGが埋め込みの類似度で探すのに対し、graphifyは明示的なエッジを辿るので、リファクタリング・設計理解・影響範囲調査に向く。

ケース 削減効果 理由
単一ファイル内の細かいバグ調査 小さい グラフより直接読む方が速い
特定文字列の出現箇所を探す 小さい グラフは構造抽出で、生テキスト検索の代替にならない
グラフ構築直後の同セッション質問 中程度 構築でトークンを消費した直後
長期メンテのコードベースへの設計質問 大きい god ノード + rationale_for が刺さる

チームでは公式READMEの推奨どおり graphify-out/ をコミットして共有し、manifest.json(mtimeベースでclone後に無効)と cost.json(個人のトークン記録)だけ .gitignore に入れる。

graphify利用上の注意

  • ・初回の/graphify .はLLMコールを伴う。「初回投資 → その後の節約」の構造で、短命のプロジェクトには向かない
  • ・Pass 3でClaudeサブエージェントを呼ぶので、コードはAnthropic APIに送られる。社内秘コードはData Usage Policyを確認する(転写はローカル)
  • ・/graphify add <video-url>はyt-dlp経由。権利のあるコンテンツのみに使う
  • ・INFERREDのconfidenceを見ずに鵜呑みにしない

リポジトリ移管とプロジェクトの現在地

WHERE IT STANDSプロジェクトの現在地

個人OSSからGraphify Labs のプロダクトへ

11.2万

GitHub スター

112,633(2026-08-31)

199本

PyPI の公開リリース

作成から約4か月

v8

既定ブランチ

v6 から変更

出典: GitHub API・PyPI graphifyy(0.9.31 は 2026-07-30 公開)の実測

・https://github.com/safishamsi/graphify は https://github.com/Graphify-Labs/graphify へリダイレクトされる(curl -sIL で確認)。旧URLのリンクとcloneは引き続き動く
・既定ブランチが v6 から v8 に変わった。/blob/v6/... は残っているが最新版を指さない
・GitHub API実測で★112,633(2026-08-31時点)・fork 9,661・open issue 732。作成は2026年4月3日
・PyPIの graphifyy は 0.9.31(2026-07-30公開)で、公開済みリリースは通算199本
・READMEにはY Combinator S26のバッジと公式サイトが並び、「Graphify Labs」という会社のプロダクトになっている

ライセンスは Apache License 2.0(2026-08-01、GitHubのライセンスAPIと LICENSE 本文で確認)。商用利用もできるが、MITと違って特許グラントの明示と、配布時のNOTICE/変更点の告知という条件が付く。リリース頻度がきわめて高く、YC企業のプロダクトになった以上ライセンスや課金方針の変更も起こりうるので、CIやチームの環境ではバージョンを固定しておきたい。

# 現在のリモートURLを確認する
git remote -v

# 新しい組織アカウントのURLへ更新する
git remote set-url origin https://github.com/Graphify-Labs/graphify.git

# インストール済み graphifyy のバージョンを固定する
pip install "graphifyy==0.9.31"

graphifyはトークン削減ツールである以上に、コードベースを事前に理解可能な構造へ整形しておく作業を、AIアシスタントが扱える形に固めたスキルだ。READMEはAndrej Karpathyが/rawフォルダに論文・X投稿・スクリーンショットをまとめている話を引き、「graphifyはあの問題への答え」と位置付けている。

参照ソース