AI関連の最新ニュースをピックアップ
GitHubは、ターミナル環境で動作するAIエージェント「GitHub Copilot CLI(ターミナル上で自律的にコード編集やコマンド実行を行うGitHubのCLIツール)」において、C++プロジェクト向けのコードインテリジェンス(コード解析機能)を高速化する「Whole Codebase Indexing(プロジェクト全体のシンボル情報を永続化して高速再利用する索引機構)(全体コードベース索引、WCI)」のサポートを開始した。大規模なC++リポジトリにおいて、定義ジャンプやシンボル検索、参照箇所の特定に伴う待ち時間が大幅に削減される。
GitHub公式ブログのChangelog(2026年9月22日付)によると、本機能の仕様と挙動は以下のとおりである。
C++リポジトリは、深く結合した多数のソースファイルとヘッダーファイルで構成され、コード規模が数百万行に及ぶことも少なくない。再利用可能なインデックスが存在しない場合、コードナビゲーションを行うたびにプロジェクト全体の情報を再探索する必要が生じ、定義の特定や参照の追跡、不慣れなコードの把握に時間を要していた。
WCIは、開発者が現在エディタやターミナルで開いていないファイルも含め、C++プロジェクト全体のシンボルに関する永続的なインデックスを構築する。
/lsp logs コマンドを実行することで、インデックス作成の進行状況を随時確認できる。| 項目 | WCI導入前 | WCI導入後(本アップデート) |
|---|---|---|
| シンボル情報の保持 | リクエストごとの都度再探索 | プロジェクト全体の永続的シンボルインデックス |
| 未オープンファイル | 探索対象外または遅延探索 | 初回インデックス構築により即座に解決可能 |
| 進捗状況の可視化 | 不透明 | /lsp logs コマンドでリアルタイム確認可能 |
| システム負荷特性 | リクエストごとにCPU負荷が分散発生 | 初回に集中的なメモリ/CPU負荷、以降は差分更新 |
国内のソフトウェア開発において、C++はゲームエンジン開発、自動車の車載制御システム、組み込み機器、金融機関の高頻度取引(HFT)システムなど、大規模かつ低遅延が求められる中核基盤で広く採用されている。
これらのプロジェクトではリポジトリが数百万行規模に肥大化しやすく、従来のCLI型AIツールではコンテキスト把握や参照解決に数十秒以上の待機時間が生じるケースが散見された。今回のWCI導入により、ターミナル上でCopilot CLIを活用したリファクタリングや不具合調査を行う際のレスポンスが劇的に改善される。
一方で、メモリリソースが制約された開発用仮想マシンやCI環境では、初回インデックス構築時のメモリ消費急増に注意が必要であり、メモリ不足が発生する場合は /lsp logs での監視やWCIの無効化検討が推奨される。
ターミナル上で自律的にコードを編集するAIエージェントにとって、プロジェクト全体の型定義や関数呼び出しの依存関係を正確かつ高速に取得することは、生成コードの正確性を担保する要となる。Microsoft C++ Language Serverとの密接な連携によるWCIの標準有効化は、大規模C++開発におけるAI支援の実用度を大きく引き上げる一歩であると評価できる。
引用元:The GitHub Blog