- Раздел
- RAG и базы знаний
- Сложность
- средняя
- Обновлено
- 2026-05-22
RAG и базы знаний
ДоказательстваДанные, права, ограничения и метрики в тексте статьи.
АудитКороткий разбор процесса перед пилотом.
Короткий ответ
Создание RAG системы начинается с пилота, а не с “загрузим всю базу знаний”. Сначала выберите один домен, соберите проверенный корпус, примените права до retrieval, добавьте citations, сделайте eval-набор и только потом решайте, расширять ли систему.
Рабочий первый релиз: 50-200 документов, один владелец корпуса, 80-150 тестовых вопросов, negative cases, журнал ошибок, rollback индекса и понятные stop rules. Модель, vector store и framework важны, но они не спасают пилот, если данные устарели, права применяются после факта, а качество никто не измеряет.
Эта страница продолжает общий хаб RAG система, но не дублирует RAG базу знаний и оценку качества RAG. Здесь фокус уже на архитектуре пилота: что собрать за первые две недели, как проверить retrieval и когда остановиться.
Краткий brief
| Элемент | Решение перед drafting |
|---|---|
| Primary query | создание rag системы exact 75 |
| Secondary queries | разработка rag систем exact 49; локальная rag система exact 48; RAG база знаний exact 321 |
| Reader job | Собрать архитектуру пилота, понять входные данные, eval и критерии запуска |
| Duplicate rejection | Не повторять broad RAG hub, launch-guide про базу знаний, local/on-prem страницу и отдельный eval-чеклист |
| Internal links | RAG система -> эта статья -> RAG база знаний -> Оценка качества RAG -> Локальный RAG |
| Publish-day sources | AWS RAG overview, Azure AI Search RAG, Vertex AI RAG Engine, RAGAS metrics |
| Conversion path | Сначала чеклист пилота, затем тихая Telegram CTA для разбора корпуса и eval |
Архитектура пилота
Пилот должен отвечать на один рабочий вопрос: может ли система давать проверяемые ответы по конкретному корпусу лучше, чем текущий поиск или ручной разбор. Если цель звучит как “сделать AI по всем документам”, scope слишком широкий.
Минимальная схема:
approved sources
-> ingestion and cleanup
-> chunks with metadata and access groups
-> retrieval with filters
-> answer generation with citations
-> eval, logs and owner feedback
AWS в RAG overview описывает базовые компоненты production RAG: connectors, data processing, embeddings, vector database, retriever, foundation model, guardrails, orchestrator, user experience and identity management. Практический вывод для пилота простой: не надо спорить о модели, пока не описаны источники, права, retrieval и проверки.
Для первого домена выберите одну из задач:
| Домен | Хороший старт | Что не брать первым |
|---|---|---|
| Поддержка | Approved FAQ, runbooks, known issues | все тикеты и личные заметки операторов |
| Внутренние регламенты | 20-50 актуальных процедур | архивные policy без владельцев |
| Юридический playbook | утвержденные clause и комментарии | черновики договоров и спорные правки |
| Продуктовая база | публичные инструкции и release notes | roadmap, pricing exceptions, NDA-материалы |
Данные и ownership
RAG пилот почти всегда ломается на данных. Нужен source inventory, где видно, какие документы входят в корпус, кто владелец, как часто они меняются и какие права у пользователя.
rag_pilot_source:
id: support_runbooks_v1
owner: support_ops
status: approved
access_groups: [support_l1, support_l2]
freshness_sla_hours: 24
included_formats: [markdown, html]
excluded:
- drafts
- archived_pages
- personal_notes
- incident_logs_with_customer_data
Документ без owner и статуса лучше считать неисточником. Его можно отправить в cleanup, но нельзя давать модели как authoritative context.
Проверки перед ingestion:
- источник утвержден и имеет владельца;
- есть дата последнего обновления;
- права пользователя можно применить до retrieval;
- в документе нет секретов, персональных данных и временных комментариев;
- есть понятная ссылка для citation;
- владелец готов исправлять ошибки, найденные в журнале пилота.
Retrieval design
Retrieval должен быть проще, чем презентация о нем. Для пилота обычно достаточно hybrid search, metadata filters, reranking только при необходимости и жесткого требования: ответ должен показывать источник или отказываться.
Microsoft в документации Azure AI Search разделяет classic RAG и agentic retrieval. Там же описаны security trimming, query-time filters, citations and execution metadata. Значит, в архитектуре надо заранее решить, какой режим нужен:
| Режим | Когда выбирать | Риск |
|---|---|---|
| Classic RAG | Узкий домен, короткие вопросы, важны latency и простота | может не хватить для сложных multi-hop запросов |
| Hybrid search + rerank | Термины, артикулы, регламенты и похожие формулировки | больше настроек и eval cases |
| Agentic retrieval | Вопросы сложные, нужны подзапросы и несколько источников | выше latency, сложнее debug и контроль tool loop |
Не включайте agentic retrieval только потому, что это звучит современно. Если пользователь спрашивает “где инструкция по возврату”, обычный поиск с citation часто надежнее. Если он спрашивает “можно ли закрыть инцидент после трех неудачных попыток связи, если клиент enterprise”, агентный retrieval может сначала найти SLA, потом exception policy, потом шаблон handoff.
Eval before tuning
Eval нужен до tuning и до расширения корпуса. Иначе команда будет улучшать систему на ощущениях.
Минимальный тестовый пример:
{
"question": "можно ли закрыть инцидент без подтверждения клиента",
"user_group": "support_l1",
"expected_source": "support_runbooks/incident-close",
"expected_behavior": "answer_with_citation_or_escalate",
"must_not_use": ["drafts/old-incident-policy"],
"critical_errors": ["uses_deprecated_source", "no_citation", "allows_auto_close"]
}
RAGAS и похожие frameworks помогают автоматизировать часть оценки, но владелец знаний все равно нужен. Автоматическая метрика не знает, какой пункт договора юридически критичен, а какой устарел после последнего согласования.
Разделите eval на четыре слоя:
| Слой | Что проверять | Блокирует запуск |
|---|---|---|
| Corpus | правильный документ есть и актуален | источник отсутствует или устарел |
| Retrieval | нужный chunk попадает в top results | правильный источник не найден |
| Generation | ответ следует источнику | модель выдумала или обобщила без опоры |
| Policy | права, отказ, escalation | закрытый документ использован в ответе |
План пилота на 14 дней
| День | Работа | Выход |
|---|---|---|
| 1-2 | Выбрать домен и owner | scope, список источников, forbidden data |
| 3-4 | Почистить corpus | approved-only документы, статусы, даты |
| 5-6 | Настроить chunking и metadata | индекс с source URL, section, owner, access group |
| 7-8 | Собрать eval-набор | 80-150 вопросов, negative cases, права |
| 9-10 | Прогнать retrieval отдельно | top-k, stale sources, missing sources |
| 11-12 | Прогнать generation отдельно | citations, refusal, faithfulness, format |
| 13 | Разобрать ошибки с owners | список исправлений корпуса и правил |
| 14 | Gate | expand, hold pilot, rebuild or stop |
В пилоте не нужен “идеальный AI”. Нужен понятный ответ: какие вопросы система закрывает, где честно отказывается и какие ошибки нельзя выпускать за пределы пилотной группы.
Stop rules
Stop rules надо написать до запуска. Иначе плохой RAG будет расширяться, потому что “уже много сделали”.
Останавливайте пилот, если:
- система использует закрытые документы для пользователей без доступа;
- ответы без citation проходят как нормальные;
- устаревший источник регулярно побеждает актуальный;
- владельцы документов не исправляют ошибки;
- negative cases получают уверенный ответ вместо отказа;
- cost и latency растут быстрее качества;
- невозможно объяснить, почему выбран конкретный источник.
Если сработал stop rule, не меняйте только prompt. Сначала смотрите corpus, access filters, chunking, metadata, retrieval thresholds и список документов.
Чеклист
- У пилота один домен и один владелец результата.
- Source inventory содержит owner, status, date, access group и freshness SLA.
- Draft, archive, personal notes и sensitive logs исключены.
- Права применяются до retrieval.
- Chunking сохраняет заголовки, таблицы, версии и исключения.
- В каждом ответе есть citation или отказ.
- Eval-набор содержит реальные вопросы, вопросы без ответа и проверки прав.
- Retrieval и generation оцениваются отдельно.
- Есть журнал ошибок и владелец исправлений.
- Есть rollback индекса.
- Есть stop rules до расширения корпуса.
- Внутренние ссылки ведут в RAG hub, RAG базу знаний, eval и локальный RAG.
FAQ
С чего начать создание RAG системы?
С одного домена и source inventory. Если команда не может назвать владельца документов и правила доступа, начинать с vector store рано.
Нужен ли локальный RAG для пилота?
Не всегда. Локальный контур нужен при жестких требованиях к данным, сети или регуляторике. Если документы можно обрабатывать в управляемом облаке с нужными правами, облачный пилот быстрее и дешевле для проверки гипотезы.
Чем RAG пилот отличается от поиска по документам?
Поиск возвращает источники. RAG добавляет ответ на основе этих источников. Поэтому RAG требует более строгих citations, refusal rules и eval, чем обычная строка поиска.
Сколько документов нужно для первого релиза?
Чаще достаточно 50-200 хороших документов. Тысячи страниц без owner и статуса ухудшают качество, потому что retrieval начинает находить похожий шум.
Что читать дальше?
Для общей карты откройте RAG систему, для корпуса - RAG базу знаний, для проверки - оценку качества RAG, для размещения - локальный RAG.
Источники
Следующий шаг
Проверьте этот сценарий на своем процессе
Опишите систему учета, данные, ограничения по правам и ожидаемый эффект. Ответим, что можно запускать в пилот, а где сначала нужен порядок в процессе.