Visual Studio переходит на семантический поиск: новый уровень точности в кодовой разработке

Microsoft активно разрабатывает значительное обновление на основе искусственного интеллекта для своей интегрированной среды разработки Visual Studio. Совсем недавно компания внедрила GPT-5 в Visual Studio через GitHub Copilot, а теперь переходят от традиционных методов поиска к более продвинутому семантическому поиску.

Ранее поиск кода в Visual Studio основывался на алгоритме BM25, который является хорошо зарекомендовавшим себя способом ранжирования для нахождения элементов в документе. Ключевыми факторами при формировании результатов были частота упоминания слова в документе и его распространённость в целом репозитории. Однако данный алгоритм имеет заметный недостаток — он ориентирован на ключевые слова, что затрудняет поиск, если слово не совпадает с заданным ключом.

В версии Visual Studio 17.14.11 Microsoft обновила чат Visual Studio Copilot, заменив BM25 на новый удалённый семантический поиск. Этот подход больше акцентирует внимание на намерении и смысле запроса, используя расширенные векторные встраивания, а не прямое соответствие словам. Поэтому при запросах «извлечь учетные данные пользователя» и «получить токен аутентификации» можно получить схожие результаты.

Контекстный поиск с учётом кодовой базы даёт возможность Visual Studio выдавать более точные результаты, даже если их не так много.

Пользователи Visual Studio с GitHub Copilot могут попробовать новый поиск через чат, который индексирует решения, размещённые на Azure DevOps и GitHub.