Надежный RAG-ассистент — это не чат, в который загрузили папку PDF. Это управляемая система: она очищает и версионирует источники, делит их на осмысленные фрагменты, находит релевантный контекст, показывает цитаты, соблюдает права доступа и передает спорные вопросы человеку.
Для небольшой компании разумно начать с одного сценария — например, ответов по внутренним процедурам или первой линии поддержки. Соберите 50–100 реальных вопросов, запустите ограниченный пилот за 2–4 недели и измеряйте не красоту текста, а точность ответа, качество источников и долю корректных отказов.
Ключевой принцип retrieval augmented generation: модель не должна вспоминать правила компании. Она должна получить подходящие фрагменты из разрешенной базы знаний и сформировать ответ, опираясь только на них.
Почему схема «загрузить и общаться» дает сбои
Наивный прототип обычно выглядит так: документы отправляют в SaaS-сервис, включают чат и считают проект завершенным. Демонстрация работает, но реальные сотрудники быстро находят слабые места.
- Противоречивые версии. Старый FAQ и новая инструкция одновременно попадают в выдачу.
- Плохой разбор файлов. Таблицы, колонтитулы и сканы превращаются в бессвязный текст.
- Случайный чанкинг. Условие находится в одном фрагменте, исключение — в другом.
- Нет контроля доступа. Сотрудник может получить сведения из закрытого документа.
- Уверенные догадки. При слабом контексте модель заполняет пробелы правдоподобным текстом.
- Нет обратной связи. Команда видит ошибки пользователей, но не превращает их в тесты.
Качество RAG ограничено не только моделью. Чаще его определяют состояние источников, правила поиска и дисциплина обновлений.
Архитектура надежной RAG knowledge base
Минимальный рабочий контур
Практический конвейер состоит из восьми этапов: источник → извлечение текста → очистка → чанкинг → embeddings → индекс → retrieval → генерация ответа с цитатами. Вокруг него нужны авторизация, журналирование, оценки и человеческая эскалация.
| Слой | Задача | Варианты инструментов |
|---|---|---|
| Источники | Хранение оригиналов и версий | Google Drive, Notion, Confluence, GitHub |
| Извлечение | Получение структурированного текста | Unstructured, LlamaParse, собственные парсеры |
| Индекс | Векторный и текстовый поиск | PostgreSQL + pgvector, Pinecone, Weaviate |
| Оркестрация | Retrieval, prompt и вызов модели | LlamaIndex, LangChain, собственный сервис |
| Наблюдаемость | Трассировка и оценки | Langfuse, LangSmith, OpenTelemetry |
Для малого бизнеса PostgreSQL с pgvector часто упрощает старт: метаданные и embeddings находятся в одной системе. Специализированная векторная база полезна, когда растут объем, нагрузка или требования к фильтрации. Выбирайте по измерениям, а не по моде.
Подготовьте источники до создания embeddings
Назначьте владельца каждого документа
Для каждой инструкции зафиксируйте владельца, статус, дату пересмотра, версию, язык и аудиторию. Черновики, дубликаты и устаревшие документы не должны автоматически становиться «истиной».
Для международного основателя это особенно важно в материалах о Stripe, банковских операциях, налоговых процессах и корпоративных действиях. Такие документы меняются; ассистент должен показывать дату источника и не заменять профильного специалиста.
Чек-лист очистки
- Удалить навигацию, повторяющиеся колонтитулы и рекламные блоки.
- Распознать сканы через OCR и вручную проверить критичные цифры.
- Сохранить заголовки, списки, таблицы и связи между разделами.
- Унифицировать названия продуктов, ролей и процессов.
- Пометить замененные версии как архивные и исключить их из поиска.
- Добавить метаданные: источник, URL или ID, версия, дата, язык, ACL.
Не смешивайте в одном индексе подтвержденные политики, заметки встреч и пользовательские сообщения без явной маркировки доверия.
Настройте чанкинг, embeddings и retrieval
Делите по смыслу, а не только по символам
Начальная гипотеза для текстовых инструкций — фрагменты примерно по 300–800 токенов с перекрытием 10–20%. Это не универсальный стандарт: FAQ можно хранить как пару «вопрос–ответ», а длинную процедуру — по шагам с заголовком раздела.
Слишком маленькие чанки теряют условия и исключения. Слишком большие добавляют шум, увеличивают контекст и могут снижать точность поиска. Таблицы лучше преобразовать в самостоятельные, читаемые блоки, сохранив заголовки строк и столбцов.
Используйте гибридный поиск
Векторный поиск хорошо находит смысловые совпадения, но может пропустить точный артикул, код ошибки или название тарифа. Поэтому практичная схема объединяет semantic search с BM25 или полнотекстовым поиском, применяет фильтры метаданных и затем reranker.
- Определите намерение, язык и права пользователя.
- Отфильтруйте документы по организации, роли, статусу и языку.
- Получите кандидатов из векторного и текстового поиска.
- Объедините результаты и удалите дубликаты.
- Переранжируйте верхние фрагменты.
- Передайте модели только достаточный контекст.
Количество retrieved chunks и пороги сходства подбирайте на тестовом наборе. Фиксированное top-5 без оценки — лишь стартовая настройка.
Цитаты, доступы и безопасные ответы
Цитата должна вести к доказательству
Каждое существенное утверждение должно ссылаться на конкретный фрагмент: название документа, раздел, версию и доступную пользователю ссылку. Генерировать ссылки «из памяти» нельзя — интерфейс должен собирать их из метаданных retrieved chunks.
Prompt обязан разрешать отказ: если источников недостаточно или они противоречат друг другу, ассистент прямо сообщает об этом. Полезный ответ: «В доступных материалах нет подтверждения; передаю вопрос владельцу процесса», а не догадка.
Проверяйте права до retrieval
Права нельзя накладывать только после генерации: закрытый текст уже мог попасть в контекст модели. Фильтруйте кандидатов до поиска или во время него по tenant ID, роли, группе и уровню конфиденциальности.
Разделяйте индексы клиентов, если этого требуют ваша модель угроз и инфраструктура. Шифруйте данные при передаче и хранении, ограничивайте журналы, задавайте сроки удаления и не записывайте секреты в аналитику. Перед выбором модели проверьте условия обработки и хранения данных конкретного провайдера.
Оценивайте систему до запуска
Создайте контрольный набор
Соберите 50–100 вопросов из тикетов, писем и интервью с командой. Добавьте простые запросы, неоднозначные формулировки, вопросы без ответа, конфликтующие источники и попытки получить закрытые данные.
Для каждого примера укажите ожидаемый источник, обязательные факты, допустимость отказа и требуемую роль пользователя. Затем оценивайте отдельно:
- Retrieval recall: найден ли нужный фрагмент среди кандидатов.
- Faithfulness: подтверждаются ли утверждения контекстом.
- Answer correctness: решен ли вопрос пользователя.
- Citation accuracy: ведут ли ссылки к подтверждающему тексту.
- Access control: не показаны ли запрещенные сведения.
План пилота на 2–4 недели
- Неделя 1: выбрать один сценарий, очистить источники, собрать тесты.
- Неделя 2: настроить ingestion, hybrid retrieval, цитаты и отказ.
- Неделя 3: провести офлайн-оценку и закрытый пилот с 5–15 сотрудниками.
- Неделя 4: разобрать ошибки, настроить пороги и формализовать эскалацию.
Стоимость зависит от объема, модели, частоты обновлений и числа запросов. До выбора платформы посчитайте четыре статьи: ingestion, embeddings, хранение и генерацию. Добавьте время команды на проверку источников — оно часто важнее стоимости API.
Когда подключать человека
Эскалация нужна не только при технической ошибке. Передавайте запрос человеку, если источники отсутствуют или конфликтуют, уверенность retrieval ниже проверенного порога, пользователь оспаривает ответ либо вопрос касается платежа, договора, доступа, налогового или юридического решения.
В карточку эскалации автоматически добавляйте вопрос, черновой ответ, найденные фрагменты, версии документов, роль пользователя и трассировку поиска. Это сокращает повторный сбор контекста. Ответ специалиста не должен сразу попадать в базу: сначала его утверждает владелец контента.
FAQ
Нужна ли fine-tuning для RAG knowledge base?
Обычно нет на первом этапе. Сначала улучшите источники, retrieval, prompt и оценки. Fine-tuning полезнее для устойчивого формата или поведения, но не заменяет актуальную базу знаний.
Как часто обновлять индекс?
По критичности данных: ключевые политики — после утвержденного изменения, менее важные материалы — пакетно по расписанию. Используйте инкрементальное обновление и удаляйте старую версию из активной выдачи.
Можно ли использовать Notion или Google Drive напрямую?
Да, как источник. Но нужны синхронизация, нормализация, версии, метаданные и ACL; простой коннектор не гарантирует качество и корректные права.
Как понять, что ассистент готов к клиентам?
Он стабильно проходит ваш контрольный набор, корректно отказывает, показывает проверяемые цитаты, не нарушает доступы и имеет работающий маршрут к человеку.
Когда поможет Founder Portal
Founder Portal может помочь non-US основателю связать такой AI knowledge assistant с операционными процессами американской компании, Stripe, банковскими инструментами и автоматизациями — когда базовая архитектура и границы ответственности уже определены.
