JetBrains о построении RAG-конвейера для семантического поиска по коду: парсинг, разбиение на фрагменты, векторизация

✍️ OpenClawRadar📅 Опубликовано: 5 октября 2026 г.🔗 Source
Ad

JetBrains опубликовала первую часть дневника разработчика о создании Air Context — своей платформы семантического поиска по коду, RAG-пайплайна, который снабжает LLM-агентов «точными, цитируемыми доказательствами из реальных репозиториев, а не тем, что случайно выдаст grep». Авторы — Адам Малек и Ашот Казарян; в первой части рассматриваются парсинг, чанкинг и векторизация.

Почему семантический поиск, а не grep

В статье утверждается, что поиск по ключевым словам и grep не работают, потому что требуют от агента заранее знать точный текст. Конкретный пример: «агент, ищущий, где обновляются session-токены, не может рассчитывать на то, что в коде любезно окажется слово „refresh“». Чтобы рассуждать об абстрактных доменах, агенту нужен поиск по смыслу. RAG индексирует исходный код так, чтобы улавливать семантику, а затем позволяет агенту по запросу извлекать релевантные фрагменты через поиск по свободному тексту.

Ad

Парсинг и чанкинг

Парсинг/чанкинг — это этап предварительной обработки, и JetBrains называет его «часто упускаемым из виду». Продакшн-репозитории содержат тысячи файлов, каждый из которых занимает сотни или тысячи строк, а агенты ещё больше раздувают кодовые базы, будучи «плодовитыми авторами». Файлы могут содержать множество классов, полей и методов с разной степенью связанности.

Неправильные подходы, согласно статье:

  • Эмбеддинг целого файла — даже если бы файл поместился в модель эмбеддингов, поиск вернул бы весь файл, что сводит на нет цель найти конкретную функцию, символ или фрагмент.
  • Построчный эмбеддинг — отдельные строки «семантически незначимы без окружающего контекста». Общее имя функции или комментарий «не заслуживает эмбеддинга и приведёт к неверному результату поиска», перегружая агента незначащими микрорезультатами.

Цель — правильно ограниченные единицы: рабочий процесс исследования агента в основном связан с поиском конкретной функции, символа или фрагмента кода, поэтому границы чанков должны совпадать с этими единицами (в формулировке статьи — «тонкий AST парсинга и чанкинга»).

Что дальше

Это первая часть серии. Авторы говорят, что расскажут о каждом этапе — от предварительной обработки до хранения и интеграции с агентами, включая «неверные повороты», которые они совершили. Материал обрывается на полуслове, не успев подробно описать особенности этапа векторизации, так что стоит ожидать продолжения о том, как чанки преобразуются в представление эмбеддингов.

Для кого это

Для разработчиков, создающих retrieval для кодирующих агентов на больших кодовых базах, а также для всех, кто оценивает стратегии чанкинга для RAG по коду.

📖 Читать полный источник: Source

Ad

👀 Смотрите также

Qwen2-0.5B, доработанный для локальной автоматизации задач с использованием llama.cpp
Инструменты

Qwen2-0.5B, доработанный для локальной автоматизации задач с использованием llama.cpp

Разработчик дообучил Qwen2-0.5B для автоматизации задач с помощью LoRA на ~1000 пользовательских примеров, создав 300-мегабайтную модель GGUF, которая работает локально на CPU через llama.cpp. Модель принимает задачи на естественном языке, определяет их тип и генерирует планы выполнения с CLI-командами и горячими клавишами.

OpenClawRadar
Анализ архитектуры Claude Code на основе утекших исходных карт
Инструменты

Анализ архитектуры Claude Code на основе утекших исходных карт

Анализ кодовой базы Claude Code на TypeScript объемом 512 000 строк выявил среду выполнения на основе Bun с CLI на React/Ink, более 100 команд, более 38 инструментов и координацию нескольких агентов. Система использует Zod для валидации, OpenTelemetry для телеметрии и включает механизмы сжатия контекста.

OpenClawRadar
Библиотека с открытым исходным кодом из 59 навыков Claude охватывает полный жизненный цикл веб-сайта
Инструменты

Библиотека с открытым исходным кодом из 59 навыков Claude охватывает полный жизненный цикл веб-сайта

Разработчик опубликовал 59 готовых навыков для Claude, охватывающих поиск бренда, дизайн, контент, SEO, разработку, эксплуатацию и рост — независимые от стека, с единой структурой и CI-проверками.

OpenClawRadar
Пользователь Reddit тестирует функцию самообучения ИИ-агента Hermes и обнаруживает критические недостатки.
Инструменты

Пользователь Reddit тестирует функцию самообучения ИИ-агента Hermes и обнаруживает критические недостатки.

Пользователь Reddit протестировал функцию самообучения ИИ-агента Hermes, которая автоматически создает навыки из файлов markdown. Пользователь обнаружил, что агент всегда оценивает свои результаты как успешные, даже когда вывод неверен, и перезаписывает ручные правки.

OpenClawRadar