こんにちは、小華です。効率的な仕事と最先端のAIツールを追求しています。毎日、オープンソース技術や実践的なヒントを厳選し、作業時間を50%削減し、他より一歩先を行くお手伝いをします。👉無料購読で、10万人以上のエンジニアとスキルアップの秘訣を共有しましょう!
AIコードレビューを行うとき、こんな感覚を持ったことはありませんか?——レビューを依頼するたびに、AIがコードベース全体を読み込もうとして、トークンが飛ぶように消費される一方で、本当に関連するコードはむしろ埋もれてしまっている、と。
それは気のせいではありません。
先週、Claude Codeで2,000ファイルを超えるFlaskプロジェクトをレビューした際、特定のAPI変更箇所を調べてもらおうとしました。するとClaudeは丸15分かけて読み込み、約20万トークンを消費した後、「分析によると、以下のファイルに注目することを推奨します...」という回答を返してきました。
詳細を開いてみると——「関連する可能性がある」ファイルが47個もリストアップされていたのです。
47個です。私はただ、あるAPI変更の影響範囲を知りたかっただけなのに、47個ものファイルを提示されたのです。
大規模プロジェクトでAIコードレビューを経験した開発者なら、誰もが共感するでしょう。たった1行のコード変更に対して、AIが『戦争と平和』並みの大作を返してくるのです。AIが賢くないのではなく、AIはあなたのコードベースにおいて「誰が誰を呼び出し、誰が誰に依存しているか」を本当には知らないのです。
主要なAIコーディングツールは、タスクのたびにコードベース全体を再スキャンします。トークン消費は膨大ですが、効率は非常に低いのです。
今回紹介するオープンソースツールcode-review-graphは、まさにこの問題を解決するためのものです。その核心理念はシンプルです:AIにコードの「地図」を構築し、本当に必要なものだけを読ませる。
実際のテスト結果では、コードレビューシナリオでトークン消費量を6.8分の1に、日常的なコーディングタスクでは最大49分の1に削減しました。
01 どのように機能するのか?
code-review-graphは「知識グラフ」の考え方を採用しており、プロセス全体は4つのステップに分かれています。
第一段階:Tree-sitterによる解析
Tree-sitterを使ってコードを抽象構文木(AST)に解析し、関数、クラス、インポート関係、呼び出しチェーンといった構造化された情報を識別します。
第二段階:コードグラフの構築
解析結果をグラフとして保存します。ノードは関数、クラス、モジュール、エッジはそれらの関係(誰が誰を呼び出すか、継承するか、参照するか)です。
第三段階:影響範囲の追跡
コードに変更があると、ツールはこの変更がどのファイル、関数、テストに影響を与えるかを計算します。これがいわゆる「ブラスト・ラディウス」(影響半径)です。
第四段階:MCPプロトコルによる注入
Model Context Protocol (MCP) を通じて、正確なコンテキストをAIコーディングツールに渡します。AIはコードベース全体ではなく、わずか数KBのこの重要な情報だけを読めばよくなります。
02 確かなデータが物語る
原理を説明するだけでは不十分です。実際のテストデータを見てみましょう。開発者は6つの実際のオープンソースプロジェクト(13回のコミット)で自動評価を実施しました。
トークン消費量の比較
| プロジェクト | 従来方式 | グラフ使用後 | 削減率 |
|---|---|---|---|
| Flask | 44,751 | 4,252 | 9.1倍 |
| Gin | 21,972 | 1,153 | 16.4倍 |
| FastAPI | 4,944 | 614 | 8.1倍 |
| Next.js | 9,882 | 1,249 | 8.0倍 |
| HTTPX | 12,044 | 1,728 | 6.9倍 |
| 平均 | — | — | 8.2倍 |
平均して8.2倍のトークン削減は、AIの利用枠をより長く使えるか、同じ枠でより多くのタスクをこなせることを意味します。
影響分析の正確性
さらに重要なのは、この手法が「簡素化」によって正確性を犠牲にしていないことです。
- ●再現率 100%:実際に影響を受けるファイルはすべて検出され、漏れはありませんでした。
- ●平均F1値 0.54:ある程度の過剰予測(関連する可能性のあるファイルまで含む)が存在しますが、これは意図的なものです。重要な変更を見逃すよりは、多少多めに読んだほうが良いからです。
大規模プロジェクトでの効果
大規模なモノレポプロジェクトでは、その効果はさらに顕著になります。
27,700ファイル以上ある巨大なリポジトリで、code-review-graphは99.9%の無関係なファイルを除外し、AIに本当に関連する約15ファイルのみを読ませました。
03 どのようなシーンに適しているか?
シーン1:コードレビュー
PRレビューや変更の影響範囲を確認する際、code-review-graphはどのファイルや関数が影響を受けるかを正確に示します。「関連する可能性がある」47ファイルではなく、本当に関連する5~10ファイルです。
シーン2:大規模プロジェクトの保守
数十人で保守しているレガシーコードベースに直面し、あるモジュールが誰に依存されているか、その変更がどの機能に影響するかを把握したい場合?グラフが一目瞭然です。
シーン3:アーキテクチャ再構築
「使われていないように見える」モジュールを削除したい?まず知識ギャップ分析で、それが本当に孤立しているかどうかを確認してから判断しましょう。
シーン4:コードのオンボーディング
新入社員が未知のコードベースの構造を素早く理解する必要がある場合?グラフはフォルダを一つずつ見ていくよりはるかに効率的です。
04 増分更新:コード変更でグラフが自動リフレッシュ
「グラフ構築は一度きりの作業で、その後のメンテナンスが面倒なのでは?」と心配する人も多いでしょう。実際は違います。
code-review-graphは、gitコミット時やファイル保存時に自動的に更新がトリガーされます。
- 1.フックが変更ファイルを検出する
- 2.SHA-256で関連する依存関係を見つける
- 3.変更部分のみ再解析する
- 4.グラフデータベースを増分的に更新する
2,900ファイルのプロジェクトで、増分インデックス作成は2秒未満で完了します。 初回構築は少し時間がかかりますが(約10秒で500ファイル処理)、以降は増分で有効になります。
05 対応言語とプラットフォームは?
現在、23以上のプログラミング言語をサポートしており、主要な技術スタックを網羅しています。
Python、TypeScript/TSX、JavaScript、Vue、Svelte、Go、Rust、Java、Scala、C#、Ruby、Kotlin、Swift、PHP、Solidity、C/C++、Dart、R、Perl、Lua、Zig、PowerShell、Julia、そしてJupyter/Databricksノートブック。
サポートするAIコーディングプラットフォームも幅広いです。
- ●Claude Code
- ●Cursor
- ●Codex
- ●Windsurf
- ●Zed
- ●Continue
- ●OpenCode
- ●Antigravity
- ●Kiro
基本的に、あなたが使用しているAIコーディングツールはすべてサポートされています。
06 コードレビューだけに留まらない
これを単なる「コードレビューツール」と思っている人が多いですが、実際にはその能力はそれ以上です。
アーキテクチャ分析
コードのアーキテクチャ図を自動生成し、結合度が高すぎる場所(ハブノード)やアーキテクチャのボトルネック(ブリッジノード)をマークします。アーキテクチャ再構築時に特に役立ちます。
知識ギャップ分析
「孤立した」コード(十分にテストされていない関数、ほとんど呼び出されないモジュール、テストカバレッジが低い領域)を発見します。
セマンティック検索
ベクター埋め込み検索をサポートし、キーワード一致だけでなく、意味的にコードエンティティを検索できます。
リファクタリング支援
名前変更プレビュー、フレームワーク対応のデッドコード検出、コミュニティ構造に基づくリファクタリング提案。
エクスポート機能
グラフをGraphML(Gephi用)、Neo4j Cypher、Obsidianナレッジベース、またはSVG静的画としてエクスポートできます。既存のワークフローに柔軟に接続可能です。
07 インストールと使用方法は?
前提条件: Python 3.10以上
インストールコマンド:
pip install code-review-graph
# 使用しているAIコーディングプラットフォームを自動検出して設定
code-review-graph install
# コードグラフを構築
code-review-graph build
たった1つのコマンドで全ての設定が完了します。install は、インストールされているAIコーディングツールを自動検出し、対応するMCP設定を書き込み、グラフ認識命令を注入します。
オプションの依存関係(必要に応じてインストール):
pip install code-review-graph[embeddings]
# コミュニティ検出サポート
pip install code-review-graph[communities]
# 評価ベンチマーク
pip install code-review-graph[eval]
# Wiki生成(ollamaが必要)
pip install code-review-graph[wiki]
# 一括インストール
pip install code-review-graph[all]
インストール後、プロジェクトを開き、AIアシスタントに以下を送信します。
これで使い始めることができます。
08 まとめ
code-review-graphは、非常に現実的な問題を解決します。それは「AIに読むべきコードだけを読ませる」ことです。
コアバリュー:
- ●トークン消費量を平均8.2倍、最大49倍削減
- ●増分更新で、コード変更後グラフが自動リフレッシュ
- ●23以上の言語と主要なAIコーディングプラットフォームに対応
- ●ローカルSQLiteストレージ、クラウドサービス非依存
- ●レビューだけでなく、アーキテクチャ分析、リファクタリング支援、知識ギャップ発見も可能
制限事項も把握しておく必要があります:
- ●小規模な単一ファイル変更のシナリオでは、グラフ構築のオーバーヘッドがメリットを上回る可能性がある
- ●検索品質(MRR)にはまだ改善の余地がある
- ●現状、フロー検出はPythonプロジェクトでのみ信頼性が高い
コードレビューを頻繁に行う方や、大規模プロジェクトでAIコーディングツールを使っている方には、ぜひ試していただきたいツールです。
プロジェクト詳細情報
- ●GitHub: https://github.com/tirth8205/code-review-graph
- ●公式サイト: https://code-review-graph.com
- ●PyPI: https://pypi.org/project/code-review-graph/
- ●ライセンス: MIT(無料のオープンソース)
この記事がお役に立てば、「いいね」で応援いただけると嬉しいです。ご質問があれば、コメント欄でお気軽にどうぞ。
便利だと思ったら、GitHubでStarを付けていただけると、開発者への最高の応援になります。
では、また次回お会いしましょう!