Разработчики MetaVision for 1C отказались от чанков в пользу трёх источников фактов

Разработчики MetaVision for 1C — программы для статического анализа конфигураций 1С с ИИ-агентом — рассказали, почему схема «чанки + embeddings + векторный поиск» провалилась на реальных кодовых базах. Вместо неё они построили три источника фактов в одной SQLite: SQL-индекс, полнотекстовый поиск FTS5 и вектора, добавив граф вызовов со скрытыми связями.

Главное
  • Классический RAG на чанках почти не работает на реальных кодовых базах: агент отвечает «такого нет» там, где код есть.
  • Вместо чанков команда собрала три источника фактов в одной SQLite: SQL-индекс, полнотекстовый FTS5 и вектора.
  • К трём источникам добавлен граф вызовов со скрытыми связями между элементами кода.
Схема архитектуры ИИ-агента для анализа кода 1С с тремя источниками фактов в SQLite
Фото: Хабр: ИИ

Команда MetaVision for 1C, программы для статического анализа конфигураций 1С с ИИ-агентом, столкнулась с классической проблемой RAG: на реальных кодовых базах схема «чанки + embeddings + векторный поиск» почти не работает. Агент уверенно отвечает «такого нет» там, где это есть. Разработчики рассказали, почему чанки провалились на коде, и что они построили вместо них.

Почему чанки не работают на коде

При разбиении кода на чанки теряются связи между элементами: вызовы функций, зависимости, контекст использования. Векторный поиск по embeddings находит семантически похожие фрагменты, но не гарантирует, что нужный факт вообще попал в индекс. В результате агент не может ответить на вопрос, хотя ответ есть в кодовой базе.

Три источника фактов в одной SQLite

Вместо чанков команда построила три источника фактов, объединённых в одной базе SQLite:

  • SQL-индекс — структурированные данные о коде.
  • Полнотекстовый поиск FTS5 — точный поиск по тексту.
  • Вектора — семантический поиск.

К ним добавлен граф вызовов, который фиксирует скрытые связи между элементами кода. Такой подход позволяет агенту находить факты, которые терялись при чанкинге.

Разработчики опубликовали статью с живыми примерами и описанием грабель, на которые наступили при переходе от классического RAG к новой архитектуре.

Для профиТехнические детали: архитектура, цифры, ссылки

Архитектура MetaVision for 1C: AI использует единую базу SQLite, в которой совмещены SQL-индекс, полнотекстовый поиск FTS5 и векторный поиск. Дополнительно строится граф вызовов со скрытыми связями. Подход противопоставлен классическому RAG на чанках с embeddings. В статье на Хабре приведены живые примеры и описание проблем, возникших при разработке.

Вопросы и ответы

Почему классический RAG на чанках плохо работает с кодом?
При разбиении на чанки теряются связи между элементами кода, и агент не находит факты, которые есть в базе.
Какие три источника фактов используются в MetaVision for 1C?
SQL-индекс, полнотекстовый поиск FTS5 и вектора, объединённые в одной SQLite.