「最大690倍」 大規模コードリポジトリのインデックス化を爆速にするCursor開発チームの新発想:セマンティック検索待ちを数時間から数秒に
「Cursor」を提供するAnysphereは、大規模コードベースのインデックス作成を高速化する技術を公開した。「ほとんどのチームは同じコードベースのほぼ同一のコピーで作業している」というシンプルな事実に基づいている。
AI(人工知能)コードエディタ「Cursor」を開発するAnysphereは2026年1月27日(米国時間)、大規模コードベースを高速にインデックス化する技術をブログで公開した。
セマンティック検索(単語や文章の意味的な理解に基づいた検索)はエージェントの応答精度を平均12.5%向上させるが、数万ファイル規模のリポジトリではインデックス構築に数時間かかり、その作業の少なくとも80%が終わるまでセマンティック検索は利用できないという課題があった。
同社は、同じコードベースのクローンが同一組織内のユーザー間で平均92%の類似度があることを発見。この知見に基づいて課題を解決したという。
大規模コードベースを高速にインデックス化する技術とは?
新しいメンバーが参加したり、マシンを切り替えたりするたびに、毎回インデックスを一から作成し直すのではなく、チームメイトの既存のインデックスを安全に再利用できる仕組みを構築した。
Cursorは、コードベースのインデックスをハッシュ木(マークル木とも)で構築する。各ファイルの暗号学的ハッシュと、その親ディレクトリのハッシュをツリー構造で管理し、ファイルが編集されると変更があった枝だけをたどって同期する。
5万ファイルのワークスペースでは、ファイル名とSHA-256ハッシュだけで約3.2MBになるが、ハッシュ木を使えばハッシュが異なる部分だけの転送で済む。同期プロセスがクライアント側のファイルを変更することはない。
変更されたファイルは構文単位のチャンクに分割され、セマンティック検索用の埋め込み(embedding)に変換される。変更されていないチャンクはキャッシュにヒットするため、埋め込みの再生成コストを抑えられる。
再利用可能なインデックスを特定する方法
新しいユーザーが参加すると、クライアントはコードベースのハッシュ木から類似度ハッシュ(simhash)を導出する。これはコードベース内のファイルコンテンツハッシュを要約した単一の値で、サーバ側のベクターデータベースを検索して、同じチーム内で類似度がしきい値を超えるインデックスを特定する。
一致するインデックスが見つかれば、それを新しいコードベースの初期インデックスとして使用する。コピー処理はバックグラウンドで行われ、その間もクライアントはコピー元のインデックスに対してセマンティック検索を実行できる。
インデックスで共有でアクセス範囲を制御する方法
インデックスの共有にはセキュリティ上の制約がある。クライアントは自分が保持していないコードに対する検索結果を見てはならない。
Cursorはこの制約をハッシュ木の暗号学的特性で解決した。ツリー内の各ノードは直下のコンテンツの暗号学的ハッシュであり、対応するファイルを保持していなければ計算できない。サーバはクライアントがアップロードしたハッシュ木をコンテンツの証明情報として保存し、検索結果をフィルタリングする。クライアントがファイルの保持を証明できない場合、その結果は除外される。
バックグラウンド同期が完了し、クライアントとサーバのハッシュ木のルートが一致すると、証明情報は削除され、以降のクエリは完全に同期されたインデックスに対して実行される。
巨大リポジトリで最大690倍の高速化
チームメンバーのインデックス再利用により、リポジトリの規模に応じてセットアップ時間が短縮された。
- 中央値のリポジトリ:最初のクエリまで7.87秒→525ミリ秒(約15倍)
- 上位10%のリポジトリ:2.82分→1.87秒(約90倍)
- 上位1%の巨大リポジトリ:4.03時間→21秒(約690倍)
これにより、大規模コードベースでもCursorのセマンティック検索を数秒で利用開始できるようになったとしている。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
Cursor開発チームが明かす、コーディングエージェントの7つのベストプラクティス
Cursor開発チームは、同社のCursor IDEを活用する上で、コーディングエージェントの性能を最大限に引き出すためのベストプラクティスを公開した。単なるコード生成にとどまらず、大規模なリファクタリングやテスト駆動開発の自動化が可能になる一方、その制御にはコツが必要だと指摘している。
AIエージェントのトークン消費を約47%削減 Cursorの「コンテキストエンジニアリング」事例
Anysphereは、コーディングエージェントの性能向上と効率化を実現する「動的コンテキスト探索」の取り組み事例を解説した。トークン消費の抑制やコーディングエージェントの応答品質向上に寄与しているという。
RAGの精度はどう評価する? Azureで作るならどの方法がよい? 有識者が課題の実践的な解決方法を解説
企業の生成AI活用において、重要な役割を果たすのが「RAG」だ。企業が独自に持つデータを学習させることで、生成AIを自社業務に生かすことができる。ただ、具体的にどのような準備、設定が必要なのかが明確になっていないケースが多い。ギブリーが開催したWebセミナーからRAG導入における課題の解決方法を探る。

