Antigravityでマルチリポジトリ構成!インデックス作成を効率化させる方法

  • URLをコピーしました!

マイクロサービス構成や、共通基盤を抱えたプロジェクトを開発していると、複数のリポジトリを同時に触る機会が増えます。しかし、コードの量が膨大になると、AIがプロジェクトの全体像を把握できず、的外れな回答をしてしまうことも少なくありません。

GoogleのAIエディタ「Antigravity」は、こうした巨大なコード群を「インデックス作成(Indexing)」という工程で整理し、AIの知能を最大限に引き出す仕組みを持っています。この記事では、複数リポジトリを跨ぐ開発をスムーズに進めるための、インデックス作成のコツと効率的な設定方法を解説します。

目次

Antigravityでマルチリポジトリ構成を扱う基本

Antigravityで複数のリポジトリを扱うのは、実はそれほど難しくありません。VS Codeをベースにしているため、馴染みのある「ワークスペース」の概念を使って、複数のフォルダを一つの画面に共存させることができます。

まずは、AIエージェントに複数のコードベースを正しく認識させるための、土台作りの手順から見ていきましょう。この準備が整っていないと、AIは今開いているファイルのことしか考えられず、他のリポジトリとの依存関係を見落としてしまいます。

複数フォルダを1つのワークスペースで開く

Antigravityでマルチリポジトリ構成を実現するには、VS Codeでおなじみの「マルチルートワークスペース」機能を使います。メニューから「Add Folder to Workspace…」を選択し、必要なリポジトリを順番に追加していくだけです。

これにより、サイドバーには複数のプロジェクトフォルダが並びます。AIエージェントはこのワークスペース全体を作業範囲として認識するため、フォルダを跨いだ指示もスムーズに通るようになります。例えば、フロントエンドのリポジトリとバックエンドのリポジトリを同時に開き、APIの型定義を同期させるといった作業が格段に楽になります。

リポジトリを跨いでエージェントに指示を出す

エージェントに指示を出す際は、どのリポジトリを対象にしているかを意識させるのがコツです。AIはワークスペース内のすべてのファイルを読み取ろうとしますが、巨大なプロジェクトでは「どのリポジトリのどの部分を修正すべきか」を明確に伝えたほうが精度が上がります。

例えば「リポジトリAで作成した新機能に合わせて、リポジトリBのUIを更新して」といった具合です。AntigravityのAI(Gemini)は非常に広い文脈を理解できるため、複数のフォルダにまたがる依存関係を読み解き、一貫性のあるコードを提案してくれます。ただし、あまりに広範囲な指示を一度に出すとAIが混乱するため、タスクはリポジトリごとに細かく分けるのが無難です。

依存関係をAIに理解させる準備

複数のリポジトリを扱う際、最も大切なのは「インデックス作成」です。これはAIがプロジェクト内の関数、クラス、変数の繋がりを整理して、地図を作るような作業です。インデックスができていない状態だと、AIはコードを「ただのテキスト」としてしか見ることができません。

インデックス作成を完了させることで、AIは「リポジトリAで定義されたこの関数が、リポジトリBのここで呼ばれている」といった論理的な繋がりを把握します。初回起動時には自動的にスキャンが始まりますが、大規模なプロジェクトではこのスキャンをいかに効率よく終わらせるかが、その後の開発スピードを左右します。

  • 複数フォルダをワークスペースに追加する。
  • エージェントには「どこのフォルダの話か」を明示する。
  • インデックス作成を優先して完了させる。

巨大なコード群のインデックス作成を進める手順

プロジェクトの規模が数万、数十万ファイルに及ぶ場合、インデックス作成は避けて通れない大きな壁になります。AIがコードを隅々まで理解するためには、一度すべてのファイルをスキャンして情報の地図を組み立てる必要があるからです。

ここでは、巨大なプロジェクトを読み込ませた際、どのようにインデックス作成が始まり、どのように管理すればいいのか、具体的な流れを解説します。

インデックス作成を開始する流れ

Antigravityで新しいプロジェクトやリポジトリを開くと、バックグラウンドで自動的にインデックス作成が開始されます。特別なボタンを押す必要はありませんが、エディタの右下やステータスバーを確認すると、スキャンの進捗が表示されているのがわかります。

AIはこの工程で、各ファイルの構造を解析し、セマンティック検索(意味による検索)ができるようにデータを整理します。この作業が動いている間はPCの負荷が一時的に高くなることがありますが、AIを賢くするための「初期投資」のようなものだと考えてください。一度地図ができあがれば、その後の対話は驚くほど正確になります。

スキャンが終わるまでの時間と進捗を確認

コードの量が多ければ多いほど、初回のインデックス作成には時間がかかります。数千ファイル程度なら数分で終わりますが、巨大なモノリス(単一の巨大なリポジトリ)や多数のマイクロサービスを読み込ませた場合は、数十分から1時間近くかかることも珍しくありません。

進捗状況はエージェント管理パネルなどからパーセンテージで確認できます。もし進捗が全く進まない場合は、後述する「除外設定」が不十分で、AIが本来見なくていいライブラリフォルダ(node_modulesなど)まで一生懸命読もうとしている可能性があります。定期的に進捗を眺め、あまりに遅いようなら設定を見直す勇気も必要です。

差分更新で情報を常に最新に保つ

一度インデックスが完成してしまえば、あとは簡単です。コードを数行書き換えたり、新しくファイルを追加したりした際は、Antigravityはその「差分」だけを検知してインデックスを更新します。

この差分更新は一瞬で終わるため、普段の開発中にインデックス作成を意識することはほとんどありません。AIは常に最新のコード状態を把握した上でアドバイスをくれるようになります。ただし、Gitで別のブランチに切り替えた直後などは、大きな変更を反映するために少しだけスキャンが走ることを覚えておきましょう。

段階行われることユーザーのアクション
初回スキャン全ファイルを解析して地図を作る設定を済ませて待機する
バックグラウンド更新変更した部分だけを読み直す特になし(自動)
再構築インデックスを破棄して作り直す動作がおかしい時に実行

インデックス作成の効率を上げる除外設定

巨大なプロジェクトにおいて、インデックス作成がいつまでも終わらない最大の原因は、AIが「読む必要のないファイル」まで読み込もうとしていることです。AIの集中力を本質的なコードだけに向けさせるために、除外設定を使いこなしましょう。

除外設定を適切に行うことで、スキャン速度が劇的に向上するだけでなく、AIが古いビルド成果物やライブラリのコードを自分のコードと勘違いして誤った提案をするのを防ぐこともできます。

.antigravityignoreを活用して不要なファイルを省く

Antigravityには、AIにスキャンさせたくないファイルを指定するための .antigravityignore という専用の設定ファイルがあります。これは .gitignore と書き方が全く同じで、プロジェクトのルートディレクトリに置くことで機能します。

AIは指示を受ける際、このファイルに書かれたパスを完全に無視します。プロジェクト全体の地図を作る際にも、これらの場所には足を踏み入れません。例えば、巨大なドキュメントフォルダやログファイル、画像素材などはAIの理解を助けないどころか、メモリを無駄に消費するだけなので、真っ先に除外すべきです。

node_modulesやビルド成果物を対象から外す

Web開発における node_modules や、コンパイル後の distbuild といったフォルダは、数千から数万のファイルを含んでいることが多く、インデックス作成の天敵です。これらをAIに読ませると、スキャン時間が大幅に伸びるだけでなく、AIがライブラリ内部のコードを修正しようとするなどの暴走を招く原因になります。

ライブラリのコードをAIに学習させる必要はありません。AI(Gemini)はすでに世の中にある主要なライブラリの使い方は学習済みだからです。自分のプロジェクト特有のロジックに集中させるためにも、これらのフォルダは .antigravityignore で確実に除外しておきましょう。

特定の拡張子を持つファイルをインデックスしない

コード以外の巨大なファイル、例えば大きなJSONデータやXML、バイナリファイルなども、拡張子指定で除外しておくと効果的です。AIはこうした巨大なデータファイルを1行ずつ解析しようとして、リソースを使い切ってしまうことがあります。

以下のように設定ファイルに記述することで、AIの視界をクリアに保てます。

# ビルド成果物とライブラリを除外
node_modules/
dist/
build/

# 巨大なデータファイルを除外
*.json
*.csv
*.log

# 画像やバイナリを除外
*.png
*.jpg
*.exe

巨大プロジェクトでインデックスが終わらない時の対策

適切に設定していても、プロジェクトがあまりに巨大だとインデックス作成が途中で止まったり、PCが重くなりすぎて作業にならなかったりすることがあります。そのような状況を打破するための、実践的なトラブルシューティングを紹介します。

一気にすべてを解決しようとせず、段階的にAIの記憶を構築していくのが、巨大プロジェクトを扱う際の知恵と言えます。

スキャン対象のフォルダを段階的に増やす

最初からリポジトリをすべて読み込ませるのではなく、まずは今作業している重要なフォルダだけを開いてインデックスを作らせる方法が有効です。最小構成でAIを賢くし、余裕が出てきたら他のフォルダを順次追加していくのです。

例えば、バックエンドの開発をしているなら、フロントエンドのリポジトリは後回しにします。Antigravityはフォルダが追加されるたびにインデックスを付け足していくため、この「スモールスタート」方式ならPCの負荷を分散させつつ、必要な場所から効率よくAIのサポートを受けることができます。

PCのメモリ消費や負荷を抑えるための設定

インデックス作成はCPUとメモリを酷使します。作業中にエディタがカクつくようなら、設定画面の「Index Processing Threads(インデックス処理スレッド数)」を制限してみましょう。これを低めに設定すると、スキャン時間は伸びますが、PC全体の動作は軽くなります。

また、大規模なプロジェクトではメモリ不足(OOM)でエディタが落ちることもあります。その場合は、一度に開くリポジトリの数を減らすか、前述の除外設定をより厳しく見直してください。PCのリソースには限りがあるため、AIに「どこまで頑張らせるか」を人間が調整してあげることが大切です。

キャッシュを一度クリアして再構築を試す

「進捗が99%で止まったまま動かない」「AIが古いコードをずっと参照している」という場合は、インデックスのキャッシュが壊れている可能性があります。設定画面から「Clear Index Cache(インデックスキャッシュをクリア)」を選択し、一度まっさらな状態にしてから再スキャンを試みてください。

手間はかかりますが、壊れた地図を使い続けるよりも、作り直したほうが結果的に早く正確な開発に戻れます。特にAntigravityのバージョンアップ直後などは、古いインデックスとの互換性が原因で不具合が起きることもあるため、この再構築は有力な解決策になります。

  • スキャンするフォルダを少しずつ増やす。
  • 処理スレッド数を下げてPCの負荷を逃がす。
  • 調子が悪い時はキャッシュを消して再構築する。

インデックスが完了した後の高度な開発機能

苦労してインデックス作成が終わると、Antigravityは真の力を発揮します。ただのチャットAIではなく、プロジェクト全体の構造を熟知した「シニアエンジニアの右腕」に進化するのです。

インデックスが完成したことで開放される、マルチリポジトリ開発を強力にバックアップする3つの機能を紹介します。

リポジトリを跨いだ関数の定義場所を一瞬で探す

インデックスが完成していれば、リポジトリAで使われている関数が、実はリポジトリBで定義されているといった場合でも、AIは迷わずその場所を特定します。「この関数、どこで定義されてる?」と聞くだけで、別プロジェクトの該当ファイルを開いてくれます。

これは人間が手動で行うと非常に面倒な作業です。特に、複数のマイクロサービス間で共通のライブラリを参照しているような複雑な構成では、この「リポジトリを跨いだジャンプ」が開発のストレスを劇的に減らしてくれます。

複数のコードを考慮してリファクタリングを依頼する

「システム全体のパフォーマンスを上げたいから、リポジトリAとBの両方を書き換えて」といった指示も、インデックスがあれば可能です。AIは両方のコードを一度に脳内へ展開し、整合性を保ちながら修正案を提示します。

片方を直したせいで、もう片方が動かなくなるといった「デグレ(品質の低下)」を防ぎやすくなるのも大きなメリットです。インデックスという「プロジェクト全体の地図」があるからこそ、AIは部分的な修正ではなく、システム全体の最適化を提案できるようになります。

意味からコードを検索するセマンティック検索の活用

インデックスが作成されると、単なるキーワード検索ではなく、意味や文脈による「セマンティック検索」が使えるようになります。「ログイン処理をしているコードはどこ?」と曖昧に聞いても、AIは関連するファイルをリポジトリ横断で探し出します。

名前を度忘れしてしまった古いコードや、他人が書いた得体の知れないロジックを探す際に、この機能は魔法のように役立ちます。コードの海を彷徨う時間が減り、本質的なコーディングの時間が増える。これこそが、巨大なインデックスを構築する最大の報酬です。

複数リポジトリでのエージェントの賢い使い分け

インデックスが整った環境でさらに効率を上げるなら、エージェント(AI担当者)の使い分けが重要です。一人のAIにすべてを任せるのではなく、役割を分担させることで、巨大なコードベースを賢く管理できます。

ここでは、マルチリポジトリ特有の「エージェント運用術」について、具体的なアイデアを紹介します。

特定のリポジトリに特化したエージェントを立てる

Antigravityでは複数のエージェントを同時に起動できます。例えば、エージェントAは「決済機能リポジトリ」の専門家として、エージェントBは「フロントエンドリポジトリ」の専門家として立ち上げます。

担当範囲を絞ることで、AIが読み込むべき情報の密度が高まり、より深みのある回答が得られるようになります。指示を出す際も「あなたは決済担当です。他のリポジトリは無視して、ここだけを完璧にして」と伝えるだけで、AIの集中力が見違えるほど研ぎ澄まされます。

全体を俯瞰して設計を相談するための指示出し

個別の担当者とは別に、プロジェクト全体を俯瞰する「アーキテクト」としてのエージェントを一人置いておくのもおすすめです。このエージェントには具体的なコード修正ではなく、リポジトリ間の通信ルールや、全体の設計方針の相談だけを投げかけます。

この使い分けにより、細かいバグ修正に追われるエージェントと、大局的な判断をするエージェントを切り離すことができます。複雑なマルチリポジトリ構成において、設計の軸をぶらさずに開発を進めるためには、この「役割の分離」が非常に効果的です。

共有ライブラリの変更を他のアプリに反映させる

複数のアプリから参照されている「共有ライブラリ」のリポジトリを修正する際、その変更が他のアプリにどう影響するかをチェックさせる役割をAIに与えましょう。

「ライブラリを修正したから、ワークスペース内の他の全リポジトリでビルドエラーが出ないか確認して」といった指示が有効です。AIは全リポジトリのインデックスを駆使して、修正が必要な箇所を一斉にリストアップしてくれます。これにより、共有部分の変更に伴う大規模な修正作業が、一気に単純作業へと変わります。

エージェントの役割得意な指示運用のコツ
個別担当「このフォルダのバグを直して」範囲を最小限に絞る
全体設計「リポジトリ間の繋ぎ込みを考えて」実装ではなく相談に使う
横断チェッカー「変更による影響範囲を教えて」インデックス完成後に使う

セキュリティとプライバシーの観点で知っておくべきこと

巨大なコードベース、特に仕事で扱う機密性の高いコードをインデックス化する際、そのデータがどこへ行くのか不安に思うのは当然です。AntigravityはGoogleのインフラを使っていますが、ユーザーの権利を守るための仕組みが備わっています。

安心してインデックス作成を任せるために、データの保存場所やプライバシーの保護ルールについて正しく理解しておきましょう。

インデックス情報がどこに保存されるか

作成されたインデックスデータ(コードの解析結果や埋め込みデータ)の大部分は、あなたのPCのローカルストレージに保存されます。これにより、二回目以降の起動が早くなり、オフラインに近い状態でも高速な検索が可能になっています。

Googleのサーバーへ常にすべてのコードが置かれ続けているわけではありません。あくまで「AIが考えるための補助データ」として、手元のマシンが情報の多くを管理しているという点は、セキュリティを考える上で大きな安心材料になります。

クラウドでの解析とデータのプライバシー保護

高度な意味解析(セマンティック解析)を行う際、一部のデータは一時的にGoogleのセキュアなクラウドインフラで処理されることがあります。ただし、有料プラン(Google AI Pro/Ultra)を利用している場合、これらのデータがGoogleのモデル改善(学習)に使われることは、設定によって拒否(オプトアウト)できます。

業務で利用する場合は、プライバシー設定画面で「データの改善協力をオフ」にしていることを必ず確認しましょう。これにより、巨大なコードベースを解析させつつ、その内容が外部の知能に取り込まれるのを防ぐことができます。

外部送信を制限した状態でインデックスを作る

どうしてもクラウドにデータを送りたくない場合は、設定で一部の高度なインデックス機能を制限することも可能です。ただし、その場合はAIの「意味を理解する力」が少し低下し、単純なキーワード検索に近い挙動になる可能性があります。

理想的なのは、プライバシー設定を「学習なし」に固定した上で、Googleの強力な計算リソースを借りてフルスペックのインデックスを作成することです。高いセキュリティ設定と、AIの利便性を両立させることが、現代のエンジニアリングにおける正しいツールの使いこなし方と言えるでしょう。

まとめ:巨大なプロジェクトこそAIの地図を頼りに進もう

Antigravityでマルチリポジトリ構成を扱うことは、巨大で複雑な迷路に「最強の地図」を持ち込むようなものです。

  • 基本:マルチルートワークスペースで複数のリポジトリを統合する。
  • 効率化:除外設定(.antigravityignore)を徹底し、不要なスキャンを省く。
  • 安定性:スキャンが終わらない時は段階的にフォルダを追加し、PC負荷を調整する。
  • 活用:インデックス完成後は、リポジトリ横断の検索やリファクタリングで速度を上げる。

インデックス作成という「最初の一歩」を丁寧に踏み出すだけで、その後の開発体験は驚くほど変わります。巨大なコードの海で迷子になる時間をゼロにし、本来のクリエイティブな仕事に集中するために、ぜひこの記事の設定を試してみてください。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

目次