Claude Code、Cursor、Codex で大規模プロジェクトを扱うたびに、誰もが「慢性的な資金消耗」の痛みを感じたことがあるはずです。エージェントがプロジェクト構造を理解するにはまずファイルを1つずつ読み込む必要があり、ある関数の呼び出し関係を特定するには十数個のファイルを漁らなければなりません。たった1行のコードを変更するだけで、エージェントは20個ものファイルを読み込んでからようやく手を付けるのです。
これが codegraph が解決しようとしている問題です。モデルをより賢くするのではなく、大量のデータを読み込ませないようにする。
コードに適用する知識グラフの発想
codegraph の核心的なアイデアは実はシンプルです。AIエージェントがアクセスするたびにコードを最初から読み込ませるのではなく、あらかじめコードベースの関係構造を抽出してグラフデータベースとして構築しておくというものです。
このグラフには何が保存されているのでしょうか?関数間の呼び出し関係、クラスの継承チェーン、モジュール間の依存関係です。つまり、IDEで Cmd+Click を押してジャンプする時に見るものと同じですが、それが構造化され、インデックス化されているというわけです。
AIエージェントが特定の関数を理解する必要がある場合、grep を実行したりファイル全体を読み込んだりする必要はありません。グラフデータベースに直接クエリを実行するだけで、「誰が私を呼び出したか」「私が誰を呼び出したか」「私の引数はどこから来たか」が分かります。数ミリ秒で完了です。
数字は直感的
プロジェクトの README に記載されている効果は以下の通りです:
- トークン消費量が 40〜70% 削減——プロジェクトの規模に依存
- ツール呼び出し回数が大幅に減少——
read_fileやgrepの繰り返し不要 - 100% ローカルで実行——コードをサードパーティサービスに送信する必要なし
1日に数時間AIプログラミングツールを使ってコードを書く開発者にとって、トークン量が半分になることは何を意味するのでしょうか?これまで1日2ドルかかっていたのが、1ドルで済むようになるということです。1年で節約できる金額は、優れたメカニカルキーボードを数本買えるほどになります。
しかし、数字が最も重要なわけではありません。本当に興味深いのは、これが示す一つのトレンドです:
AIプログラミングツールは「チャット」から「インフラ」へ進化中
第一世代のAIプログラミングツール(GitHub Copilotの初期バージョンやChatGPTへのコード貼り付け)のロジックはこうでした:コードをモデルに与え、モデルが回答を返す。
第二世代のツール(Claude CodeやCursorのAgentモード)のロジックはこうです:エージェントがプロジェクト内を自律的に探索し、読み込み、修正を行う。
codegraph が代表するのは第三世代です:エージェントは毎回ゼロから探索するべきではなく、永続的で構造化されたプロジェクトの「記憶」を持つべきである。
これは実は、私たち人間プログラマーの働き方と同じです。レガシープロジェクトを引き継いだ時、最初の1週間は必死にコードを読みますが、その後「覚える」ことになります。1行1行を暗記するのではなく、構造、関係性、パターンを覚えるのです。次に修正する時は、必要な場所に直接飛び、最初から読み直す必要はありません。
codegraph はまさに、AIエージェントのためにこの「記憶の宮殿」を構築しているのです。
実際の使い心地は?
プロジェクトの issue と commit 履歴を確認したところ、いくつかの重要なポイントが見つかりました:
- Claude Code、Codex、Cursor、OpenCode をサポート——主要なAIプログラミングツールをほぼ網羅
- インストール後は
.claude/skillsまたは.cursor/rulesを介して統合され、ツール本体の変更は不要 - プロジェクト自体が Claude を活用して開発されており(commit 履歴に多数の
commits by claudeが確認できる)、いわゆる「ドッグフーディング」を実践している - 最近
agent-eval評価フレームワークが追加されたことから、チームが品質を真剣に重視していることが伺える
もちろん注意すべき点もあります。大規模なコードベース(Linuxカーネルレベルなど)のインデックス作成にかかる時間とメモリ消費は依然として課題です。プロジェクトのドキュメントでは、まず日常業務で使っている中規模プロジェクトから試すことを推奨しています。
導入する価値はあるか
毎日AIプログラミングツールを使用しており、プロジェクトのコードが数千行を超えている場合、codegraph はほぼ無料のパフォーマンス向上策と言えます。インストールコストは低く(ローカル実行、npm install レベル)、効果は直接的(トークン節約、高速化)、リスクも小さい(ソースコードデータを外部に公開せず、すべてローカルで完結)からです。
単にたまに ChatGPT で小さなスクリプトの数行を修正するだけなら、現時点では不要でしょう。
より大きな展望
codegraph がこの取り組みを行っている唯一のチームではありません。AIエージェントに構造化され、事前計算された知識を提供するという類似のアプローチが、複数の方向で登場しつつあります:
- ドキュメントの知識グラフに取り組むチーム
- API呼び出し関係のインデックスを作成するチーム
- コードのセマンティックベクトル化を探求するチーム
しかし、codegraph は現在最も実用的なアプローチと言えます。派手なデモを追求するのではなく、「AIエージェントが読み込むファイルが多すぎる」という具体的な課題に地道に取り組んでいるのです。
時には、最も地味な問題を解決することが、最大の効率向上につながるのです。
主な情報源: