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