Cursor стартовали создавать локальные индексы для regex-поиска прямо в IDE

1 мин
Cursor стартовали создавать локальные индексы для regex-поиска прямо в IDE

Классический ripgrep работает быстро, но всё равно читает каждый файл. В крупных монорепо это стоит 15+ секунд на один вызов, а агент делает их десятками.

Решение взяли из 1993 года: тригрaмный инвертированный индекс. Любой текст разбивается на все возможные 3-символьные последовательности, они становятся ключами в словаре, значения — список файлов. Regex-запрос декомпозируется в набор тригрaм, пересечение posting lists даёт кандидатов, и уже по ним запускается grep. Вместо тысячи файлов — десяток.

Поверх этого добавили sparse n-grams: длина каждого n-gram определяется детерминированно через веса символьных пар (crc32 или частотная таблица по терабайтам open-source кода). При индексации генерируются все возможные n-grams, а при поиске — минимальное покрывающее множество. Получается меньше lookup'ов и точнее скоуп.

Индекс живёт на машине пользователя по двум причинам: агент всё равно должен читать файлы локально для финального матча, и задержка на network roundtrip убивает смысл оптимизации. Хранится в двух mmap-файлах, привязан к git-коммиту, поверх которого накладываются незакоммиченные изменения.

Источник: https://cursor.com/blog/fast-regex-search

Русскоязычное сообщество про AI в разработке

Друзья! Эту новость подготовила команда ТГК «AI for Devs» — канала, где мы рассказываем про AI-агентов, плагины для IDE, делимся практическими кейсами и свежими новостями из мира ИИ. Подписывайтесь, чтобы быть в курсе и ничего не упустить!

Читают сейчас

Новые изображения Солнца демонстрируют его поверхность с мельчайшими деталями

1 час назад

Новые изображения Солнца демонстрируют его поверхность с мельчайшими деталями

Международная группа учёных получила детальные изображения крошечных вихрей намагниченной плазмы на поверхности Солнца. Это позволит объяснить, как Солнце накапливает и высвобождает энергию. Ознакомит

JetBrains представили Context: семантический индекс репозиториев для Claude Code, Codex и Junie

1 час назад

JetBrains представили Context: семантический индекс репозиториев для Claude Code, Codex и Junie

JetBrains открыли ранний доступ к JetBrains Context — сервису, который создаёт семантический индекс программных репозиториев и предоставляет его кодовым агентам. Продукт интегрируется с Claude Code, C

OpenAI отменила ограничения на текстовые чаты для всех пользователей ChatGPT

2 часа назад

OpenAI отменила ограничения на текстовые чаты для всех пользователей ChatGPT

Организация OpenAI объявила об отмене ограничений на текстовые чаты для всех пользователей ChatGPT, число которых недавно преодолело отметку в 1 млрд в неделю. Читать далее

Microsoft представила ИИ‑инструменты для процесса отладки в Windows 11

2 часа назад

Microsoft представила ИИ‑инструменты для процесса отладки в Windows 11

Microsoft представила некоторое количество новых инструментов, которые могут сделать аналитика и оптимизацию производительности Windows быстрее. Ранее компания анонсировала предварительную версию ETW

Грег Кроа-Хартман заявил запрет на приём ИИ-патчей в раздел drivers/staging ядра Linux

2 часа назад

Грег Кроа-Хартман заявил запрет на приём ИИ-патчей в раздел drivers/staging ядра Linux

Сопровождающий разработчик стабильной и staging (приём «сырого» кода, тестирование железа, учебная площадка для начинающих программистов по исправлению мелкие баги и ознакомлению с устройством ОС) вет