LightOn, французский стартап, специализирующийся на языковых моделях, выпустил две новинки: семейство моделей LateOn-Code для семантического поиска по коду и инструмент ColGrep, который помогает находить нужные фрагменты в больших кодовых базах.
Зачем это нужно?
Представьте ситуацию: вы работаете с проектом, в котором десятки тысяч строк кода. Нужно найти, где именно реализована определённая логика – например, обработка ошибок при загрузке файлов. Обычный поиск по ключевым словам может выдать сотни результатов, большинство из которых не имеют отношения к делу.
Проблема в том, что традиционный поиск (вроде Grep или встроенных функций IDE) работает буквально: он ищет совпадения текста. Если вы спросите «как обрабатываются ошибки загрузки», а в коде написано «exception handling for file upload», поиск не поможет. Нужно заранее знать, какие слова искать.
Современные ИИ-ассистенты для программирования, такие как Claude Code или GitHub Copilot, отлично генерируют код. Но когда дело доходит до навигации по большому проекту, они часто полагаются на те же ключевые слова. А значит, не всегда находят то, что действительно нужно.
Как работает семантический поиск?
LateOn-Code решает эту проблему иначе. Модель понимает не только слова, но и смысл запроса. Вы можете спросить «где обрабатываются ошибки при загрузке», и система найдёт соответствующие участки кода, даже если в них использованы другие термины.
Технически это называется семантический поиск: модель представляет код и запрос в виде числовых векторов (embeddings), которые отражают их смысл. Близкие по значению фрагменты оказываются близкими и в векторном пространстве. Потом остаётся только сравнить запрос с кодом и найти наиболее релевантные участки.
LightOn предлагает несколько версий модели:
- LateOn-Code-base – базовая версия для общих задач;
- LateOn-Code-small – облегчённая версия для локального использования;
- LateOn-Code-large – расширенная версия для сложных случаев.
Все модели доступны в открытом доступе на Hugging Face под лицензией Apache 2.0, то есть их можно использовать в коммерческих проектах.
ColGrep – инструмент для практического применения
Сами по себе модели – это ещё не готовый продукт. Чтобы ими можно было пользоваться, нужен инструмент, который интегрирует их в рабочий процесс. Для этого LightOn создала ColGrep.
По сути, это усовершенствованная версия классического Grep – утилиты для поиска текста, которой пользуются программисты уже десятилетия. Только вместо точного совпадения строк ColGrep использует семантическое понимание.
Инструмент работает локально, не требует подключения к облаку и интегрируется с популярными редакторами кода. Можно задать вопрос на естественном языке – и получить список файлов и строк, где содержится ответ.
Насколько это эффективно?
LightOn утверждает, что их модели показывают результаты на уровне лучших решений в индустрии. Компания провела тестирование на нескольких бенчмарках для оценки качества поиска по коду.
Конкретные цифры зависят от задачи, но общая идея такова: модель находит нужные фрагменты, даже если формулировка запроса сильно отличается от реального кода. Это особенно полезно в больших проектах, где одна и та же логика может быть реализована по-разному в разных местах.
Кому это может быть полезно?
В первую очередь – разработчикам, которые работают с большими кодовыми базами. Особенно если в проекте много устаревшего кода (legacy-кода), написанного разными людьми в разное время.
Также это может помочь при адаптации (онбординге) новых членов команды: вместо того чтобы часами разбираться в структуре проекта, можно просто спросить у системы, где реализована нужная функция.
Ещё один сценарий – рефакторинг. Когда нужно понять, где используется определённая логика, чтобы не нарушить её работоспособность при изменении кода.
Что дальше?
Пока ColGrep и LateOn-Code – это инструменты для энтузиастов и команд, готовых экспериментировать. Насколько они приживутся в реальной разработке, покажет время.
Интересно, что LightOn делает ставку на открытость: модели доступны бесплатно, инструмент можно запускать локально, без отправки кода на сторонние серверы. Это важно для компаний, которые работают с конфиденциальными данными.
В целом, это ещё один шаг к тому, чтобы ИИ помогал не только писать код, но и ориентироваться в нём.