Cursor ускоряет regex-поиск по коду для ИИ-агентов
Компания Cursor рассказала о подходе к ускорению поиска по регулярным выражениям в больших кодовых базах. Речь идет о задаче, которая становится все важнее на фоне распространения ИИ-агентов для программирования. Такие системы постоянно ищут по проекту функции, сигнатуры, конфигурации и другие точные текстовые совпадения, а в крупных монорепозиториях это превращается в заметное узкое место.
По данным Cursor, в больших репозиториях обычный поиск через ripgrep в отдельных случаях может занимать более 15 секунд. Для разработчика это означает паузу в работе, а для ИИ-агента - дополнительную задержку при каждом обращении к коду. Поэтому компания решила ускорить не только сами модели, но и базовую инфраструктуру поиска.
В основе нового подхода лежит локальная индексация. Вместо того чтобы каждый раз заново просматривать всю кодовую базу, Cursor предлагает заранее строить индекс на компьютере пользователя и использовать его для предварительного отбора файлов, где совпадение действительно вероятно. После этого система запускает уже обычную проверку регулярным выражением, но не по всему проекту, а по более узкому набору кандидатов.
Для такой фильтрации Cursor использует триграммы - последовательности из трех символов. Это известный подход из систем поиска по тексту и коду, который позволяет быстро определить, в каких документах потенциально может встретиться нужный шаблон. В компании отмечают, что одних триграмм для больших проектов недостаточно, поэтому дополнительно применяются более сложные методы отбора, включая sparse n-grams - «разреженные n-граммы» и вероятностные маски. Их задача уменьшить число лишних совпадений и сократить объем файлов, которые все же придется читать полностью.
Cursor подчеркивает, что индексы будут
Читать на habr.com
