Журнал · Rit.work

SAG2 ищет цепочки фактов без эмбеддингов

SAG2 переносит семантический отбор документов с этапа индексации на время запроса и обходится SQLite, BM25 и внешней моделью JEV.

Rit.work
Студия разработки
19 октября 2026 г.3 мин чтения

Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.

Многошаговый поиск по документам можно собрать без заранее рассчитанных векторных представлений и отдельной серверной базы. В препринте Yuchao Wu, который не проходил рецензирование и содержит замеры самого автора, система SAG2 показала более высокую полноту первых десяти результатов, чем сравниваемые методы. Такой подход упрощает загрузку и обновление коллекции, но переносит модельные расходы и обработку данных на время запроса.

Как поиск строит связь между документами

Обычный лексический поиск хорошо находит документ, если вопрос и ответ используют одинаковые слова. Он хуже справляется с цепочкой, где первый отрывок называет место рождения человека, а второй связывает это место с нужным регионом. Слова из вопроса могут вообще не встречаться во втором отрывке.

SAG2 хранит исходные тексты и словарный индекс в SQLite FTS5. Первые кандидаты выбирает BM25 — алгоритм, который ранжирует документы по совпадениям слов и учитывает, насколько редко эти слова встречаются в коллекции. На этапе подготовки не нужны модель для эмбеддингов, извлечение сущностей или заранее построенный граф связей.

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

При выборе терминов система учитывает их редкость в корпусе, частоту в подходящем отрывке, соседство со словами исходного вопроса и оценку JEV. Затем BM25 ищет новые документы по этим словам. Найденные факты попадают в общий контекст, поэтому на следующем шаге JEV оценивает кандидатов уже с учётом собранной цепочки.

Цикл расширения повторяется до двух раз и останавливается раньше, если подходящих терминов или новых документов не осталось. В итоговую выдачу попадают исходные отрывки, а не сгенерированные пересказы. Это упрощает проверку источников в последующей системе генерации ответа.

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

Полнота выросла на трёх многошаговых наборах

Систему проверяли на одинаковых подвыборках из тысячи вопросов MuSiQue, 2WikiMultiHopQA и HotpotQA. Основная метрика — полнота первых десяти результатов (Recall@10): доля размеченных подтверждающих отрывков, которые система вернула среди первых позиций.

На MuSiQue SAG2 получила 86,62%, на 2WikiMultiHopQA — 97,43%, а на HotpotQA — 99%. Во всех трёх случаях результат оказался выше, чем у включённых в сравнение лексических, векторных и структурных систем.

На EnterpriseRAG-Bench полнота документов достигла 81,10% при поиске по корпусу из 511 962 документов. Контрольные варианты на MuSiQue также показали, что пошаговое расширение находит больше подтверждений, чем однократный отбор увеличенного списка BM25. Общий контекст между шагами дополнительно улучшал результат.

Сравнение относится к системам целиком: SAG2 использовала JEV, а некоторые альтернативы — другие модели и хранилища. Эксперименты проводили на фиксированных подвыборках разработки с объединёнными подтверждающими и отвлекающими документами; MuSiQue также применяли при разработке метода, а EnterpriseRAG-Bench содержит синтетический корпус. Проверка оценивала только поиск доказательств, не качество готовых ответов.

Когда SAG2 меняет архитектурный план

SAG2 подходит проектам, где коллекции часто перестраивают или разворачивают для отдельных клиентов. Весь корпус MuSiQue система проиндексировала за 2,36 секунды, а файл SQLite занял 25,87 МиБ. На подготовительном этапе модель не вызывалась, поэтому добавление новой коллекции не требует полного расчёта эмбеддингов.

Плата за простую подготовку возникает при запросах. Обработка набора MuSiQue через JEV стоила около 4,33 доллара за тысячу вопросов без учёта генерации ответа и аренды машины. В работе не отделили ожидание внешнего сервиса от параллельного выполнения, поэтому по ней нельзя оценить задержку одного запроса.

Полностью локальной эта схема не становится. Индекс работает в SQLite, но вопрос, контекст и тексты кандидатов отправляются в размещённый у провайдера API JEV. Архитектура модели, её веса и размер в работе не раскрыты, поэтому воспроизвести тот же результат внутри закрытого контура пока нельзя.

Для продукта с запретом на внешнюю обработку документов зависимость от JEV перекрывает выигрыш от простого индекса. Для системы, которой разрешён внешний API, SAG2 предлагает другой баланс: почти бесплатная подготовка корпуса, компактное локальное хранение и семантический отбор во время запроса.

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

Источники

Пауза в чтении

Похоже на вашу задачу?

Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.

Rit.work

Студия разработки

Собираем мобильные приложения и помогаем командам получать от AI реальную пользу. Основатель и команда, работаем удалённо — с клиентами в России и за рубежом.

← Ко всем материалам
Понравилось? Обсудим вашу задачу