RAG Hub: поиск знаний для LLM без галлюцинаций — архитектуры, метрики и чек-листы

Этот хаб собран для команд, которые хотят внедрить Retrieval-Augmented Generation (RAG) — связку поиска знаний и генерации ответов моделью — в продакшен. Мы систематизируем архитектурные решения, метрики качества и стоимости, эксплуатационные процессы и риски. Базовые определения приведены на странице RAG; слой хранилищ и индексов см. в обзоре векторных БД, а представления текста — на странице эмбеддингов.

RAG Hub: поиск знаний для LLM без галлюцинаций — архитектуры, метрики и чек-листы

Зачем RAG продукту

  • Проверяемость и доверие. Ответы с привязкой к источникам (ID/ссылки) прозрачнее и легче аудируются.
  • Экономия контекста. Конденсация извлечённых фрагментов уменьшает длину подсказки и снижает «цену эпизода».
  • Актуальность. Выносим знания за пределы модели — легче обновлять витрины данных, чем переобучать веса.
  • Контроль рисков. Лицензии на данные, списки допустимых источников и политика PII управляются на уровне ретривера и витрин.

Базовые блоки RAG-контура

Блок Роль Ключевые вопросы
Инжест Приведение сырья к документам и метаданным Очистка, лицензии, частота обновлений
Чанкинг Разбиение на фрагменты с «якорями» Размер/перекрытие, семантические границы
Представления Преобразование в векторы и индексы Версии эмбеддера, дрейф качества
Ретривер Поиск кандидатов по запросу Гибрид: лексика + векторы + фильтры
Реранкер Пересортировка кандидатов Скорость/качество, латентность
Конденсация Сжатие контекста перед генерацией Формат «док-карточек», дедупликация
Генерация Сборка ответа с цитатами Контракты вывода, лимиты длины
Логи/цитатность ID источников и атрибуция Политика ссылок, прозрачность

Переизбыточная подача контента модели — главная причина роста стоимости и деградации устойчивости. Конденсация и строгие контракты вывода снижают ретраи и «длинный хвост».

Архитектурные паттерны RAG

Паттерн Когда уместен Сигналы зрелости Риски
«Наивный» одноэтапный Небольшие коллекции, короткие ответы Простота, низкий TTFT Пропуски фактов, чувствителен к шуму
Гибридный поиск Разношерстные данные/метаданные Метрики recall/precision стабильны Сложнее настройка фильтров
Многоступенчатый (retrieve→rerank→condense) Длинные ответы/отчёты Цитатность, экономия контекста Рост латентности без кэшей
Иерархический Иерархия документов/глав Точность на «глубине» Сложный инжест и обновления
«Граф знаний»/связности Связанные сущности/факты Лог связей в ответах Стоимость поддержки графа
Агентский RAG (planner) Композитные задачи/инструменты Проверка шагов/ссылок Взрыв шагов и цены эпизода

Практика: начинайте с гибридного поиска, добавляйте реранкер и конденсацию, включайте иерархию и граф только при явной пользе.

Метрики качества и стоимости

Метрика Что показывает Где управлять
Recall/Precision Полнота/точность выдачи Инжест, фильтры, гибридный поиск
NDCG/MRR Релевантность ранжирования Реранкер и метаданные
Цитатность Долю ответов с валидными ссылками Контракты вывода и политика ссылок
Контекст/ответ (токены) Стоимость ввода/вывода Конденсация, лимиты длины
TTFT / P95 «Живость» и «длинный хвост» Кэши, warm-пулы, профили очередей
Доля неформата Нарушения схем вывода Пред-валидация, ретраи по правилам
Цена эпизода Полную себестоимость ответа Все слои + отчёты «до/после»

Минимальный дешборд: Recall/Precision, Цитатность, Токены контекста, TTFT, P95, Неформат, Цена эпизода.

Экономика контекста и «цена эпизода»

«Цена эпизода» = ввод (контекст) + префилл + генерация + инструменты (ретривер/классификаторы) + ретраи + пост-обработка. RAG влияет прежде всего на ввод и ретраи:

  • Сократите токены за счёт конденсации и удаления дублей.
  • Делайте жёсткие контракты вывода (JSON/таблицы, цитаты обязательны).
  • Версионируйте эмбеддер и индекс, чтобы отслеживать дрейф качества.

Процессы инжеста и обновлений

  • Data-manifest. Источники, лицензии, периодичность, запреты.
  • ETL-чек. Очистка, нормализация, качество метаданных.
  • Шедулинг обновлений. Полные пересборки vs инкрементальные.
  • Тесты регрессий. Набор запросов и эталонных ответов с ссылками.

Практика конденсации

  • Комбинируйте «сниппеты» в карточки с минимально достаточным контекстом.
  • Удаляйте повторы и узкие цитаты, сохраняйте ID источников.
  • Порог по токенам и эвристика «одна мысль — один фрагмент».

Наблюдаемость и релизы

  • Трейсинг с trace_id: запрос, версионирование эмбеддера/индекса, длины контекста, TTFT, P95.
  • Карточка релиза: что поменяли, «до/после», пороги отката.
  • Канарейка: 5–10% трафика на новую сборку индекса/эмбеддера.

Безопасность и данные

  • PII и секреты. Маскирование, списки исключений для инжеста, чистка логов.
  • Лицензии. Фильтры источников, запреты на «серые» домены.
  • Prompt-инъекции. Разделяйте инструкции и данные, держите стоп-словари, проверяйте ссылки и диапазоны.

Чек-листы внедрения (30/60/90)

0–30 дней

  • Сформулировать сценарий, эталонные запросы и критерий «готово».
  • Запустить гибридный поиск, базовую конденсацию, контракты вывода с цитатами.
  • Поднять дешборды: Recall/Precision, Цитатность, Токены контекста, TTFT, P95, Неформат.

31–60 дней

  • Добавить реранкер и кэши, ввести пороги ретраев/лимиты длины.
  • Версионировать эмбеддер/индекс, завести карточки релизов и канарейки.
  • Наладить инкрементальные обновления и тесты регрессий.

61–90 дней

  • Рассмотреть иерархический/многоступенчатый паттерн.
  • Включить отчёты по «цене эпизода» и мониторинг дрейфа качества.
  • Регулярно ревизовать источники и политику ссылок.

Типовые ошибки и как их чинить

Ошибка Симптом Решение
«Только векторы» Пропуски терминов/дат Гибридный поиск и метаданные
Перекорм контекстом Дорогие запросы, регрессии Конденсация, дедуп, лимиты
Нет цитат Жалобы на «враньё» Обязательная цитатность и валидация
Без версионирования Случайные деградации Метки версий эмбеддера/индекса
Ретраи «до победы» Рост счёта и P95 Ретраи только по коду/неформату
Смешение очередей «Длинный хвост» Развести профили и кэши

FAQ

Можно ли обойтись без реранкера? На малых коллекциях — иногда да. На практике реранкер стабилизирует релевантность и снижает потребный объём контекста.

Сколько фрагментов подавать модели? Ровно столько, сколько нужно для ответа: начните с 3–5 сниппетов после конденсации и замерьте «цитатность/неформат/цену эпизода».

Как выявить дрейф качества? Держать эталонный набор запросов, версионировать эмбеддер/индекс и сравнивать метрики «до/после».

Что хранить в логах? Trace_id, запрос, ID и версии эмбеддера/индекса, выбранные источники, токены контекста/ответа, TTFT, P95, неформат.

RAG решает галлюцинации полностью? Нет. Он снижает риск, повышая проверяемость; дисциплина ссылок и контрактов всё равно обязательна.

Словарь коротких определений

  • Эмбеддинг — векторное представление объекта для семантического поиска.
  • Гибридный поиск — сочетание лексического и векторного поиска с фильтрами.
  • Реранкер — скорер, пересортировывающий кандидатов после ретривера.
  • Конденсация — сжатие и нормализация фрагментов перед генерацией.
  • Цитатность — доля ответов с валидными ссылками/ID источников.
  • Неформат — нарушение контракта вывода (битый JSON/таблицы).
  • Дрейф эмбеддера — падение качества представлений со временем.

Токены по теме (навигация)

Организации (навигация)

См. также

AI Overview AI Agents Overview

Task Runner