- Раздел
- RAG и базы знаний
- Сложность
- средняя
- Обновлено
- 2026-05-22
RAG и базы знаний
ДоказательстваДанные, права, ограничения и метрики в тексте статьи.
АудитКороткий разбор процесса перед пилотом.
Короткий ответ
Разработка RAG систем должна начинаться с ТЗ на знания, права и приемку, а не с выбора vector database. Заказчик должен описать корпус документов, владельцев источников, правила доступа, типовые вопросы, критичные ошибки, eval-набор, SLA обновления и условия остановки пилота.
Хорошее ТЗ отвечает на три вопроса: какие источники считаются правдой, как система доказывает ответ ссылками и кто отвечает за качество после запуска. Если подрядчик обещает “RAG по всем документам” без source inventory, security trimming, acceptance tests и журнала ошибок, это не проект, а демо.
Эта статья закрывает запрос разработка rag систем и дополняет практический материал Создание RAG системы. Там фокус на архитектуре пилота, здесь - на заказе, приемке, контроле качества и ownership. Для общей карты откройте RAG систему, для тестов - оценку качества RAG, для бюджета - стоимость LLM API.
Краткий brief
| Элемент | Решение |
|---|---|
| Primary query | разработка rag систем exact 49 |
| Secondary queries | создание rag системы exact 75; Оценка качества RAG exact 8 |
| Reader job | Составить ТЗ, принять работу подрядчика и не получить систему без качества и владельца |
| Duplicate rejection | Не повторять tutorial по созданию RAG; эта страница про commissioning, acceptance и контроль |
| Internal links | RAG система -> Разработка RAG систем -> Оценка качества RAG -> Стоимость LLM API |
| Publish-day sources | AWS RAG components, Azure AI Search RAG challenges, Ragas metrics, NIST AI RMF |
Что должно быть в ТЗ
ТЗ для RAG - это не “подключить документы к нейросети”. Минимальный состав:
| Блок ТЗ | Что указать | Чем проверять |
|---|---|---|
| Бизнес-сценарий | Один домен и рабочая задача | Пользовательские вопросы и expected behavior |
| Источники | Документы, владельцы, статус, дата обновления | Source inventory |
| Права | Роли, группы доступа, закрытые разделы | Security trimming до retrieval |
| Retrieval | Индексация, chunking, metadata, hybrid search | Top-k проверка без генерации |
| Ответ | Citation, отказ, формат, escalation | Acceptance matrix |
| Eval | 80-150 вопросов, negative cases, regression set | Прогон до и после изменений |
| Эксплуатация | Обновления, мониторинг, rollback, support | Runbook и журнал ошибок |
AWS в RAG overview выделяет production-компоненты: connectors, data processing, embeddings, vector database, retriever, foundation model, guardrails, orchestrator, UX and identity management. Для ТЗ это значит: нельзя принять только чат-интерфейс. Нужно принять весь контур от источника до доступа пользователя.
Source inventory
Без списка источников RAG быстро превращается в поиск по случайному архиву. Source inventory должен быть частью поставки.
source:
id: support_contracts_v1
owner: legal_ops
status: approved
freshness_sla_days: 30
access_groups: [support_l2, legal]
canonical_url: https://intranet.example/contracts/support
excluded:
- drafts
- personal_notes
- archived_versions
Проверьте:
- у каждого документа есть владелец и статус;
- черновики, архивы и личные заметки исключены;
- пользовательские права применяются до поиска, а не после ответа;
- citation ведет к конкретному разделу или документу;
- есть процедура удаления устаревшего источника из индекса;
- владелец источника отвечает за исправление найденных ошибок.
Документ без owner лучше не индексировать. Его можно отправить в cleanup, но нельзя делать authoritative source для ответа пользователю.
Acceptance tests
Приемка RAG должна проверять retrieval и generation отдельно. Иначе команда видит красивый ответ, но не понимает, нашла ли система правильный источник.
Пример acceptance case:
{
"question": "можно ли вернуть оплату после частичного оказания услуги",
"user_group": "support_l2",
"expected_sources": ["contracts/refund-policy", "support/runbook-refunds"],
"expected_behavior": "answer_with_citations_and_escalation_note",
"critical_errors": [
"uses_archived_policy",
"no_citation",
"promises_refund_without_legal_review"
]
}
Матрица приемки:
| Проверка | Pass | Fail |
|---|---|---|
| Source recall | Нужный источник найден в top results | Нужного источника нет |
| Grounding | Ответ опирается на citation | Ответ обобщает без источника |
| Rights | Пользователь видит только разрешенное | Закрытый документ попал в контекст |
| Refusal | Нет источника - система отказывается | Модель придумывает процедуру |
| Freshness | Устаревший документ не побеждает актуальный | Старый источник используется как правда |
| Format | Ответ пригоден для рабочего процесса | Текст красивый, но не проверяемый |
Microsoft в Azure AI Search RAG overview отдельно выделяет challenges вокруг query understanding, multi-source data access, token constraints, response time, security and governance. Используйте это как чек-лист приемки: RAG должен быть не только точным, но и управляемым по доступам, latency и источникам.
Eval и метрики качества
Eval для RAG не должен сводиться к “понравился ответ”. Нужны разные уровни:
| Уровень | Что мерить | Кто принимает |
|---|---|---|
| Corpus | Доля approved источников, свежесть, coverage | Владелец знаний |
| Retrieval | Context recall, context precision, top-k coverage | Tech lead и SME |
| Generation | Faithfulness, response relevancy, refusal quality | SME и owner процесса |
| Policy | Права, PII, escalation, forbidden advice | Security/legal/owner |
| Operations | Latency, cost, errors, индекс freshness | Platform owner |
Ragas описывает метрики для RAG вроде context precision, context recall, noise sensitivity, response relevancy и faithfulness. Эти метрики полезны как инструмент, но финальную приемку все равно должен подписывать владелец предметной области: автоматическая оценка не знает, какой пункт договора юридически критичен.
Минимальный eval-набор:
- 50-80 типовых вопросов;
- 20-40 сложных вопросов с несколькими источниками;
- 20 negative cases, где ответ должен быть отказом или escalation;
- 10-20 регрессионных кейсов после каждой смены модели, prompt или индекса;
- отдельные проверки прав доступа для закрытых документов.
Ownership и эксплуатация
RAG система деградирует, когда меняются документы, продукты, цены, правила поддержки и права. Поэтому в ТЗ должен быть не только launch, но и эксплуатация.
| Зона | Владелец |
|---|---|
| Корпус знаний | Бизнес-владелец или редактор базы знаний |
| Индексация и retrieval | Технический владелец |
| Eval-набор | Владелец процесса + technical owner |
| Права доступа | Security/IAM owner |
| Журнал ошибок | Support или operations owner |
| Бюджет и лимиты | Product owner |
| Rollback | Platform owner |
NIST AI RMF полезен как общий язык риска: качество AI-системы зависит не только от модели, но и от контекста применения, управления, измерения и сопровождения. В RAG это особенно заметно: старый документ, плохие права или отсутствующий owner могут быть опаснее слабой модели.
Поставка подрядчика
Принимайте не “чат с документами”, а набор артефактов.
Обязательные deliverables:
- source inventory;
- схема ingestion и обновления индекса;
- правила chunking и metadata;
- описание access control и forbidden sources;
- список prompt, tools и retrieval parameters;
- eval dataset и результаты прогонов;
- acceptance matrix с pass/fail;
- журнал известных ограничений;
- runbook обновления, мониторинга и rollback;
- cost model: embeddings, storage, retrieval, model calls, retries, review.
Если подрядчик не передает eval-набор и runbook, заказчик не сможет безопасно поддерживать систему после релиза. Это особенно важно, если RAG обрабатывает договоры, поддержку, внутренние регламенты или персональные данные.
Stop rules
Stop rules нужно записать до пилота. Иначе слабую систему будут расширять, потому что уже потрачен бюджет.
Останавливайте пилот, если:
- закрытый документ попал в ответ неавторизованному пользователю;
- система отвечает без citation, когда источник обязателен;
- устаревший источник регулярно побеждает актуальный;
- владельцы знаний не исправляют найденные ошибки;
- negative cases получают уверенный ответ;
- стоимость успешного ответа растет быстрее качества;
- невозможно объяснить, почему выбран конкретный источник;
- откат индекса не проверен.
После сработавшего stop rule не начинайте с переписывания prompt. Сначала проверьте corpus, права, chunking, metadata, retrieval thresholds и source inventory.
Чеклист приемки
- ТЗ описывает один домен, а не “все документы компании”.
- Source inventory содержит owner, status, freshness и access groups.
- Draft, archive и personal notes исключены из индекса.
- Права применяются до retrieval.
- Каждый ответ содержит citation или честный отказ.
- Retrieval и generation проверяются отдельно.
- Eval-набор содержит типовые, сложные, negative и regression cases.
- Есть acceptance matrix с критичными ошибками.
- Есть журнал ошибок и владелец исправлений.
- Есть runbook обновления индекса.
- Есть cost model и лимиты.
- Есть rollback индекса и stop rules.
FAQ
Чем разработка RAG систем отличается от создания RAG системы?
Создание RAG системы - это практическая архитектура и сборка пилота. Разработка RAG систем как заказ - это ТЗ, приемка, права, eval, эксплуатация и ответственность после запуска.
Можно ли принять RAG по демо?
Нет. Демо показывает, что интерфейс работает на нескольких вопросах. Приемка должна проверять источники, права, refusal, stale documents, negative cases и регрессии.
Кто должен готовить eval-набор?
Подрядчик может помочь с форматом, но вопросы и критичные ошибки должен утверждать владелец предметной области. Иначе eval будет проверять техническую красивость, а не рабочий риск.
Сколько вопросов нужно для первого acceptance?
Для первого домена обычно достаточно 80-150 вопросов, если в них есть типовые, сложные, negative и regression cases. Объем меньше важен, чем качество покрытия.
Что читать дальше?
Для архитектуры пилота откройте Создание RAG системы, для базы знаний - RAG база знаний, для измерения - Оценка качества RAG, для стоимости - Стоимость LLM API. Если команда выбирает между RAG и обучением модели, смотрите RAG или fine-tuning.
Источники
Следующий шаг
Проверьте этот сценарий на своем процессе
Опишите систему учета, данные, ограничения по правам и ожидаемый эффект. Ответим, что можно запускать в пилот, а где сначала нужен порядок в процессе.