Ядро grounding-режима: как вопрос превращается в
обоснованный ответ, когда модель решает искать. RAG здесь —
маршрут: вызвав search_knowledge,
модель спускает запрос через пять шагов —
Embed → Retrieve → Rerank → Augment →
Generate. Решение позвать инструмент и сам самостоятельный запрос — за
моделью (решение о
поиске); зона ответственности маршрута — переранжирование, упаковка
контекста и grounding-генерация; эмбеддинг запроса и сам поиск
принадлежат
Knowledge Store. Кто какой моделью работает — на
карте моделей; где один раунд
инструментов кончается и начинается агентный цикл — на
границе.
Маршрут — тело инструмента search_knowledge:
он запускается, когда модель решила искать и передала
самостоятельный
запрос. Один проход сверху вниз: шаги 1–2 (embed · retrieve)
исполняет Knowledge Store, шаги 3–5 (rerank · augment · generate) —
Query Engine. На входе — кэш-гейт: повторный идентичный поиск той же
личности отдаёт кандидатов из кэша, минуя дорогой embed/retrieve.
Граница между сторонами проходит по слою, а не между секциями: тот же
стек показывает, где storage отдаёт кандидатов, а RAG их доводит.
Та модель, что пользователь выбрал в чате, ведёт
весь ход: решает, звать ли search_knowledge,
формулирует самостоятельный запрос и строит ответ на найденном. Не отдельная
платформенная «модель RAG» и не служебный роутер. Назначается в
admin · AI-модели.
В v1 переранжирование — RRF-порядок из Knowledge Store, без инференса. Cross-encoder reranker как модель — v2.
Переранжирование решает, что из кандидатов попадёт в контекст и в каком порядке. Развилка по итерациям, не по альтернативам — v2 надстраивается над v1, а не заменяет.
Порядок берётся прямо из собранного hybrid-результата: Knowledge Store уже слил списки примитивов по reciprocal rank fusion. Query Engine упаковывает кандидатов в том порядке, что пришёл.
Отдельная модель переоценивает top-N кандидатов парами «запрос × кандидат» — точнее RRF, потому что видит запрос и текст вместе, а не складывает позиции.
Граница не в том, есть ли у модели инструменты, а в том, есть
ли цикл. У chat-модели Query Engine — один раунд
инструментов за ход: она может позвать несколько параллельно
(например search_knowledge + web_search),
получить результаты и обязана ответить. Петли нет — за раундом не
следует второй раунд по итогам первого. Это держит ответ предсказуемым
и отделяет диалоговый ход от полноценного агента. Сам tool-calling под
обоими — общий
харнесс: граница ниже — это его параметризация, один раунд против
петли.
За ход модель делает один раунд: зовёт ноль, один или несколько инструментов разом (KB + веб-поиск), получает результаты и строит ответ. Без планирования и без второго раунда по итогам первого.
Многошаговый и инструментальный reasoning — циклы поиска, выбор инструмента из набора, планирование — у → Agent Engine, который вызывает примитивы Knowledge Store напрямую, минуя Query Engine.
v2 — многораундовый агентный чат: модель планирует и идёт несколькими раундами в самом диалоге, дочитывая по итогам предыдущего. Надстройка над одним раундом, а не граница доступа.
v2-исключение к одному вызову: при низкой уверенности в кандидатах Query Engine делает ограниченный (N=1) повторный поиск перед тем, как ответить «не нашёл», — одна попытка переформулировать и переспросить, не полноценный агентный цикл. Сам ответ «не нашёл» и его честность держит grounding.