RAG (Retrieval-Augmented Generation)
Архитектурный паттерн корпоративного AI, который динамически обогащает контекстное окно модели релевантными верифицированными знаниями из внешних хранилищ (векторных баз, графов, полнотекстовых индексов) перед генерацией финального ответа.
1. Обзор концепции и системная проблема
Попытка «впихнуть» все внутренние документы компании в веса нейросети путем предварительного обучения или Fine-Tuning является фундаментальной инженерной ошибкой:
- Катастрофическое забывание (Catastrophic Forgetting): Модель может частично утратить базовые навыки рассуждения, пытаясь запомнить специфические корпоративные артефакты.
- Невозможность отзыва данных (Right to be Forgotten / GDPR): Если конфиденциальный документ попал в веса модели, его невозможно удалить оттуда без полного перенаправления стоимостью в сотни тысяч долларов.
- Недостаток разграничения прав доступа (RBAC): Обученная модель ответит рядовому сотруднику информацией о зарплатах топ-менеджеров, поскольку данные перемешаны в общих матрицах весов.
RAG (Retrieval-Augmented Generation) разделяет вычислительный интеллект и хранилище данных: LLM остается беспристрастным «процессором рассуждений», а все знания хранятся во внешней базе данных под строгим инженерным контролем.
2. Архитектурная таксономия и ментальная модель
Эволюция архитектуры RAG классифицируется на три поколения:
- 1. Наивный RAG (Naive RAG): Линейный пайплайн: Chunking -> Embedding -> Vector DB -> Top-K Nearest Neighbors -> Prompt Context. Имеет высокий уровень шума, слеп к точным совпадениям и страдает от галлюцинаций при неудачных разрезах текста.
- 2. Продвинутый RAG (Advanced RAG):
Включает этапы до и после выборки:
- Pre-Retrieval: расширение запроса (Query Expansion), генерация гипотетических ответов (HyDE) и маршрутизация к различным базам знаний.
- Retrieval: гибридный поиск (BM25 + HNSW-векторы).
- Post-Retrieval: фильтрация по метаданным, компрессия контекста и кросс-энкодерный реранкинг.
- 3. Модульный и агентский RAG (Modular / Agentic RAG): Агент сам решает, когда ему нужен поиск, проверяет полученные факты (Self-RAG), корректирует запрос в случае нехватки данных и использует графовые индексы (GraphRAG) для выявления сложных межсубъектных связей.
3. Технический пайплайн и внутренняя механика
Полный цикл производственной системы RAG состоит из двух контуров:
Контур индексации (Offline Ingestion Pipeline):
- Parsing & Clean: Извлечение текста из PDF, Markdown, Notion или SQL, очистка от разметки.
- Syntax-Aware Chunking: Сегментация по логическим границам (AST / заголовки) с буфером перекрытия.
- Vectorization & Indexing: Генерация векторов эмбеддингов и сохранение в векторной БД с метаданными доступа.
Контур запроса (Online Query Pipeline):
- Query Transformation: Преобразование пользовательского вопроса в оптимизированный поисковый запрос.
- Hybrid Retrieval: Одновременное извлечение кандидатов через векторы и полнотекстовый индекс BM25.
- Re-ranking: Модель-реранкер (Cross-Encoder) ранжирует топ-30 найденных чанков и оставляет топ-5 наиболее релевантных.
- Grounded Generation: LLM получает строгий промпт с подставленными чанками и формирует точный ответ с обязательным указанием источников.
4. Практические инженерные сценарии в продакшене
01. Корпоративный ассистент с разграничением прав (RBAC)
Запрос пользователя сопровождается его JWT-токеном. Векторная база отсекает документы на этапе pre-filtering: WHERE team_id = 'engineering' AND access_level <= user.level. Модель физически не получает в контекст информацию, к которой пользователь не имеет доступа.
02. Техническая документация для инженеров с прямыми ссылками
Разработчик запрашивает: «как настроить репликацию SQLite». RAG возвращает точную последовательность шагов с пометками [источник: docs/replication.md#L45], позволяя инженеру за один клик перейти к исходному коду.
03. Автоматизированный комплаенс-аудит юридических контрактов
Система проверяет 100-страничный договор против реестра корпоративных политик, подтягивая только релевантные пункты о форс-мажоре и неустойке.
5. Подводные камни, типовые ошибки и безопасность
- Отравление базы знаний (RAG Poisoning): Злоумышленник загружает во внутреннюю базу файл с скрытыми инструкциями (Prompt Injection), который заставляет RAG выдавать ложные инструкции всем пользователям. Проверяйте источники знаний и используйте защитные рейки (Guardrails).
- Мусор на входе — мусор на выходе (Garbage In, Garbage Out): Если вы загрузили в RAG плохо отсканированный PDF с кучей разорванных слов, никакая модель не сможет дать адекватного ответа.
- Потеря связи между чанками: Использование слишком мелкого разбиения лишает предложения контекста. Всегда обогащайте чанки заголовками родительских разделов.
FAQ: RAG (Retrieval-Augmented Generation)
Связанные термины
Векторные базы данных (Vector DBs & ANN Search)
Специализированные СУБД и расширения (Qdrant, pgvector, Milvus, Chroma, Turso), оптимизированные для хранения миллионов многомерных векторов и сверхбыстрого приближенного поиска ближайших соседей (Approximate Nearest Neighbors).
Векторные эмбеддинги (Dense Embeddings)
Математическая проекция текста, кода или мультимодальных данных в плотный многомерный числовой вектор, где угол и геометрия между координатами отражают их семантическую связанность.
Чанкинг документов (Chunking Strategies)
Методология декомпозиции массивных документов и кодовых баз на информационно самодостаточные фрагменты (чанки) для генерации векторных эмбеддингов и точного поиска в RAG-системах.
Гибридный поиск (Dense + Sparse Search)
Архитектура ретривала в современных RAG-системах, сочетающая семантический векторный поиск (Dense Embeddings) с классическим полнотекстовым индексированием по ключевым словам (Sparse / BM25) через алгоритмы слияния рангов (RRF).