C
ChaoBro

CodeGraph:AIプログラミングアシスタントに「地図」を提供——ツール呼び出しを94%削減、探索速度を82%向上

CodeGraph:AIプログラミングアシスタントに「地図」を提供——ツール呼び出しを94%削減、探索速度を82%向上

VS Codeのコードベース内でClaude Codeに「ある機能がどのように実装されているか」を探させると、デフォルトでは何をするでしょうか?

まずExploreエージェントを起動し、その後grepgloblsReadといったコマンドを順次実行して、ファイルを1つずつ調べていきます。その結果:52回のツール呼び出し、所要時間1分37秒、トークン消費量89.4K、約15ファイルの読み込み。

同じタスクをCodeGraphを導入した環境で実行すると:3回のツール呼び出し、所要時間17秒、トークン消費量56.6K、読み込んだファイル数は0件。

ツール呼び出し回数は94%削減、処理速度は82%向上しました。

これはベンチマークの「ズル」ではありません。根本的なアプローチの転換です。

コード知識グラフ vs ブルートフォース検索

CodeGraphの核心的なアイデアは極めてシンプルです:エージェントが毎回ファイルシステムからブルートフォースで検索する代わりに、あらかじめコードベース全体の「地図」——シンボル間の関係性、呼び出しグラフ、コード構造——を構築・インデックス化しておくのです。

エージェントが必要な情報を求めるとき、ファイルを1つずつ開いて探すのではなく、このグラフを直接参照すればよいのです。

codegraph init -iコマンド1発でプロジェクトを初期化できます。対話型インストーラーが、Claude Code、Cursor、Codex CLI、opencodeを自動的に設定します。

その後、エージェントがコードを探索する際には、codegraph_exploreツールを呼び出すだけで、grepやglobによる手動探索を経ずに、構造化された回答を即座に得られます。

ベンチマークテスト結果

著者は6つの実際のコードベースで比較実験を行い、すべてClaude Opus 4.6(コンテキスト長100万トークン)+Claude Code v2.1.91を用い、同一のExploreエージェントに対して同一の質問を投げました:

コードベース CodeGraphあり CodeGraphなし 改善度
VS Code(TypeScript) 3回呼び出し、17秒 52回呼び出し、1分37秒 呼び出し回数94%↓、速度82%↑
Excalidraw(TypeScript) 3回呼び出し、29秒 47回呼び出し、1分45秒 呼び出し回数94%↓、速度72%↑
Claude Code(Python+Rust) 3回呼び出し、39秒 40回呼び出し、1分8秒 呼び出し回数93%↓、速度43%↑
Claude Code(Java) 1回呼び出し、19秒 26回呼び出し、1分22秒 呼び出し回数96%↓、速度77%↑
Alamofire(Swift) 3回呼び出し、22秒 32回呼び出し、1分39秒 呼び出し回数91%↓、速度78%↑
Swift Compiler(Swift/C++) 6回呼び出し、35秒 37回呼び出し、2分8秒 呼び出し回数84%↓、速度73%↑

平均値:ツール呼び出し回数92%削減、処理速度71%向上

特に説得力があるのはSwift Compilerのテスト結果です——25,874ファイル、272,897ノードからなる知識グラフにおいて、CodeGraphなしでは37回の呼び出しと2分8秒を要したタスクが、CodeGraph導入後はわずか6回の呼び出し・35秒で完了しています。

時間だけでなく、それ以上のものを節約

ツール呼び出し回数の削減は、単に処理時間が短縮されるだけではありません。大規模言語モデル(LLM)のAPI課金体系では、各ツール呼び出しには明確なコストが伴います——API利用料金のみならず、エージェントのコンテキストウィンドウの占有も含みます。

grepやReadの出力でコンテキストウィンドウが埋まってしまうと、本来の推論に使える領域が狭まります。CodeGraphは、エージェントを「情報を探す」という反復作業から解放し、そのコンテキストウィンドウを「情報を理解する」ことに集中させるのです。

これはしばしば見落とされがちな最適化の次元です:モデルの能力を高めるのではなく、モデルが無駄な作業をしないようにすること——それが本質的な価値です。

制限事項

初期化に時間がかかる。 大規模なコードベースでは、知識グラフの初回構築に数分~数十分かかる場合があります。これは一回限りのコストですが、ワークフローへの組み込みを検討する必要があります。

グラフは「生きていない」。 コードが変更されても、グラフは自動更新されません。チームで頻繁にコミットが行われる場合、CIパイプラインにグラフの自動再インデックス化タスクを設定する必要があります(現時点では、差分更新機能は未実装です)。

Explore(探索)シーンのみに対応。 CodeGraphは、エージェントがコードベースを探索するプロセスを最適化するものであり、コードの作成・修正・テストといった他の工程には対応していません。つまり、これは「探索加速器」であって、「コーディング加速器」ではありません。

現時点で対応しているのはClaude Code、Cursor、Codex CLI、opencodeのみ。 他のエージェントについては、今後の対応待ちとなります。

私の見解

このプロジェクトの真の価値は、「AIプログラミングツールのボトルネックは、モデルの能力ではなく、情報検索の効率にあるかもしれない」という問いかけにあります。

エージェントにコードの「地図」を与えることは、ファイルを1つずつ手探りで探すよりも圧倒的に効率的です。これは直感的に理解しやすい考え方ですが、「直感的である」=「すでに実現済み」ではありません。

もし、Claude Codeで数千ファイル以上の大規模コードベースを扱っているなら、npx @colbymchenry/codegraphをインストールするコストはほぼゼロです。GitHubスター数5,816、MITライセンス、100%ローカル実行。

唯一の問いはこれです:あなたのコードベースは、知識グラフを構築するほど十分に大きいでしょうか?小規模プロジェクトでは、grepで十分でしょう。しかし、ある規模の閾値を超えた瞬間、この「地図」の価値は急激に高まります。


主な情報源: