この記事ではAIエージェントに特化して解説します。AIエージェント全般は AIエージェントフレームワーク比較2026年版 をご覧ください。
何が起きたか
CursorがAIエージェント向け高速正規表現検索インデックス技術をブログで公開した。大規模コードベースでripgrepが15秒以上かかるケースがエージェントを停滞させていた問題に対処。sparse n-gramインデックスにより、正規表現パターンの即座のマッチングを実現した。
技術的な仕組み
Cursorのインデックスは、1993年のZobel・Moffat・Sacks-Davisの研究を基盤とし、複数の技術を組み合わせた構造を持つ。
Inverted Indexがトークンからポスティングリスト(文書識別子のリスト)へのマッピングを提供する。コード検索では単語レベルのトークン化が不適切なため、Trigram Decomposition(3文字の重複シーケンス抽出)を採用。bigramの64Kキーでは候補が多すぎ、quadgramの数十億キーでは大きすぎるため、trigramが実用上の最適解となっている。
Cursor独自のSparse N-Gram手法では、文字ペア出現頻度に基づく重み関数で可変長n-gramを選択し、クエリ時のルックアップを最小化する。加えて確率的マスキング(8ビット位置マスク+文字ブルームフィルタ)により、trigramサイズでquadgram相当の精度を実現。
インデックスのアーキテクチャ
インデックスはサーバーではなくクライアントマシン上でローカルに構築・クエリされる設計。ストレージは2ファイル構成で、ポスティングリストとルックアップテーブルに分離。後者のみがmmap(メモリマップ)され、O(log n)のバイナリサーチでアクセスされる。Gitベースのバージョニングにより、エージェントの書き込みが即座に検索結果に反映される一貫性も保証されている。
エンジニアへの影響
- 大規模リポジトリ対応: Chromiumクラスのモノレポで通常のgrepが180秒以上かかる場面でも、インデックス検索により即座に結果を取得
- エージェントの応答速度改善: 15秒以上のgrep待ちがなくなり、エージェントワークフローの停滞を解消
- API コスト最適化: 検索候補の事前絞り込みにより、エージェントが処理する候補ファイル数を削減
- 偽陽性の許容設計: 確率的マスクは偽陽性を生むが、最終マッチングは実ファイル内容に対して決定的に実行されるため精度は維持
- 既存ツールとの共存: インデックスは候補文書の絞り込みのみを担当し、最終的な正規表現評価は従来手法で実行
参考リンク
この記事はAI業界の最新動向を速報でお届けする「AI Heartland ニュース」です。