Семантический поиск в Cursor: как улучшили работу кодовых агентов на больших проектах

Обычно для поиска по кодовой базе применяются классические инструменты вроде grep. Они подходят для поиска точных совпадений или регулярных выражений, но начинают давать сбои, когда запрос формулируется естественным языком. Например, фраза «где реализована авторизация?» может означать несколько участков кода с разными функциями и файлами.
Семантический поиск решает эту проблему. Он сравнивает смысловые представления кода и текста запроса, а не только совпадения строк. Это позволяет агенту быстрее ориентироваться в контексте проекта, особенно если структура сложная, а файлов много.
Как это работает
Для реализации функции команда Cursor обучила собственную embedding-модель для программного кода и построила систему индексирования для быстрого извлечения данных. Модель обучалась не на теоретических примерах, а на реальных сессиях работы агентов. Разработчики анализировали историю поиска и открытия файлов в ходе решения задач и на основе этих данных определяли, какие части кода по смыслу должны были быть найдены раньше.
Так формируется цикл обратной связи: модель получает примеры реального использования и постепенно учится выдавать более точные результаты.
Результаты тестов
Эффект был проверен двумя способами: на внутренних наборах данных и в онлайн A/B-тестах среди пользователей.
На офлайн-оценке Cursor Context Bench, где требуется правильно извлечь фрагменты кода с известными ответами, поддержка семантического поиска стабильно повышала точность агентов. Прирост составил в среднем около 12,5%, в зависимости от используемой модели диапазон достигал 6,5–23,5%.
В реальных пользовательских сценариях влияние оказалось заметным по двум показателям. Код, который агенты добавляют в проект, стал чаще оставаться без последующих удалений или переписываний. Кроме того, уменьшилось количество запросов на исправления после ответа — в крупных кодовых базах это особенно проявилось.
Комбинация инструментов, а не замена
Важно, что семантический поиск не отменяет grep. Оба подхода остаются в работе одновременно. Поиск по смыслу помогает ориентироваться в архитектуре и логике, тогда как классический поиск по строкам остаётся незаменимым для точного нахождения конкретных символов, переменных или участков кода.
По словам команды Cursor, именно сочетание этих методов даёт лучший практический результат.
Что это означает для разработчиков
С увеличением размеров проектов навигация по коду стала одной из главных точек трения при работе с ИИ-ассистентами. Обновление Cursor показывает, что продуктивность ИИ в разработке напрямую зависит не только от модели генерации, но и от того, насколько эффективно AI получает доступ к контексту проекта.
Семантический поиск фактически становится обязательным компонентом для кодовых агентов, работающих в реальных условиях, а не только на демонстрационных примерах.


