AIエージェントがコードを「読める」だけでは足りない理由
最近のAIコーディングツールは、ファイルを読んでコードを補完したり、簡単なバグを修正したりするのが得意です。でも、少し規模の大きいプロジェクトになると、「なぜこのファイルがこの構造になっているのか」「この関数を変えると他のどこに影響するか」といった問いには、うまく答えられないことが多いです。
AIエージェントに欠けているのは、コードそのものの情報ではなく、その背景にある文脈です。どういう意図でこの設計が選ばれたか、過去にどんな変更が加えられてきたか、誰がどの部分を担当しているか。こうした情報がないと、AIは「今見えているもの」しか扱えません。
Repowiseは、その文脈をAIエージェントに渡すことを目的としたオープンソースツールです。
Repowiseが索引化する4つの層
Repowiseは、リポジトリを単純にファイルの集まりとして扱うのではなく、4つの異なる切り口で情報を整理します。
まず、依存関係グラフです。コード内の関数やモジュールがどのようにつながっているかをグラフとして構造化します。使われているのはtree-sitterという構文解析ライブラリで、Python・TypeScript・Goなど複数の言語に対応しています。このグラフを使って、「このファイルを変えると何に影響するか」が視覚的にも、AIにも分かるようになります。
次に、Gitインテリジェンスです。コミット履歴を分析し、「よく一緒に変更されるファイルのペア」や「変更頻度の高いホットスポット」、特定のコードを理解しているメンバーが少ない「バス係数」(その人が抜けたらどうなるか)なども算出します。これはLLMを使わずに計算されるため、コストが発生せず、大規模リポジトリでも現実的な速度で動きます。
3つ目が、LLMによる自動生成ドキュメントです。コードの各部分について、AIが自然言語での説明を生成して索引に含めます。これにより「このモジュールは何をするものか」という問いに対して、コメントが書かれていない箇所でも答えやすくなります。
最後が、アーキテクチャ上の意思決定記録です。Gitのコミットメッセージや明示的な入力から、「なぜこの設計が選ばれたか」という判断の経緯を抽出して保持します。さらに、コードが変化するにつれてその判断が古くなっていないかを追跡する「決定の鮮度」という概念も持っています。
MCPサーバーとして動く仕組み
Repowiseの特徴的な点は、これらの情報をMCP(Model Context Protocol)ツールとしてAIエージェントに提供できることです。Claude Code、Cursor、Windsurf、VS Codeといったツールと接続することで、AIがコードを読む際に上記の4層の情報を参照しながら回答できるようになります。
たとえば、「この認証モジュールをリファクタリングしたい」とClaude Codeに伝えたとき、Repowiseが接続されていれば、AIは依存関係グラフから影響範囲を確認し、Gitインテリジェンスから過去の変更パターンを参照し、意思決定記録から「なぜこの構造になったのか」を踏まえた上で提案ができます。これが接続されていない場合と比べると、提案の精度は大きく変わります。
また、ローカルダッシュボードも提供されており、デッドコード候補の一覧、所有権マップ、ホットスポットの可視化などをブラウザから確認できます。
初回25分、その後は30秒未満という更新速度
コードインテリジェンス系のツールでよく問題になるのが、索引の更新コストです。Repowiseは差分更新の仕組みを持っており、コミットのたびに変更されたファイルだけを再索引します。初回の全体索引化にはおよそ25分かかりますが、それ以降の増分更新は30秒未満とされています。
ただし、効果を最大限に引き出すにはコミットメッセージの質が重要です。「fix」や「update」といった一言のコミットが続くリポジトリでは、意思決定記録の精度が落ちます。チームで丁寧にコミットメッセージを書く文化があるほど、Repowiseの恩恵は大きくなります。
フリーランスエンジニアへの影響
フリーランスとして複数のクライアントのプロジェクトを掛け持ちしている場合、新しいリポジトリを引き受けるたびにコードベースの全体像を把握する時間が発生します。特に既存のプロジェクトの改修や追加開発では、「このコードがなぜこうなっているか」を調べるのに意外と時間がかかります。
Repowiseを導入しておくと、AIエージェントとのやり取りを通じてその理解が早まる可能性があります。たとえば、引き受けたばかりのプロジェクトでClaude CodeにRepowiseを接続し、「このAPIレイヤーの設計意図を説明して」と聞くだけで、コードを上から下まで自分で読まなくても概要がつかめるかもしれません。
個人開発のサイドプロジェクトを長期間メンテナンスしている場合にも、自分で書いた設計判断を忘れかけているときにRepowiseが手がかりを提供してくれる、という使い方が考えられます。ただし、現時点では日本語対応の情報が不明なため、コードコメントや設計ドキュメントが英語で書かれているプロジェクトの方が、より効果が出やすいと思われます。
まとめ
Repowiseは、AIエージェントに「コードの文脈」を渡すことを目的としたオープンソースツールです。Claude CodeやCursorをよく使うエンジニアの方は、一度GitHubでリポジトリを確認してみるのがおすすめです。コミットメッセージの書き方次第で効果が変わるため、導入前に手元のリポジトリの履歴を軽く見直しておくと良いかもしれません。

コメント