2.1Kпросмотров
34.8%от подписчиков
24 марта 2026 г.
📷 ФотоScore: 2.3K
Cursor внедрил локальные индексы для ускорения regex-поиска в крупных репозиториях Классический ripgrep работает быстро, но всё равно читает каждый файл. В крупных монорепо это занимает 15+ секунд на один вызов, а агент делает их десятками. Решение взяли из 1993 года: триграмный инвертированный индекс. Любой текст разбивается на все возможные 3-символьные последовательности, они становятся ключами в словаре, значения — список файлов. Regex-запрос декомпозируется в набор триграм, пересечение posting lists даёт кандидатов, и уже по ним запускается grep. Вместо тысячи файлов — десяток. Поверх этого добавили sparse n-grams: длина каждого n-gram определяется через веса символьных пар. При индексации генерируются все возможные n-grams, при поиске — минимальное покрывающее множество. Получается меньше lookup'ов и точнее скоуп. Индекс живёт на машине пользователя: агент должен читать файлы локально, и задержка на network roundtrip убивает смысл оптимизации. 💎 Вступай сообщество вайбкодеров