Learnly

Резюме курса и план запуска RAG в компании

План запуска RAG в компании: от POC до production

Финальный урок, практический roadmap. Что мы разобрали в курсе, как от этого собрать рабочий продукт за 3–6 месяцев, какие референсные архитектуры под типовые сценарии, как считать экономику и обходить главные грабли.

Что мы разобрали в курсе

Глава Главная мысль
1.1 RAG vs альтернативы RAG закрывает knowledge cutoff, галлюцинации и ограничения контекста; цена в 20–60× ниже long-context
1.2 Архитектура RAG = 8–10 связанных подсистем (loader, chunker, embedder, vector DB, sparse, retriever, reranker, generator, post-proc, eval)
2.1 Продвинутые техники Hybrid + Contextual Retrieval + reranker = базовый prod-рецепт; HyDE, GraphRAG, Self-RAG, agentic, точечно
2.2 Подводные камни и метрики Faithfulness, главная анти-галлюцинационная метрика; без 50+ эталонных пар RAG в прод не пускают
3.1 Стек 2026 Embedders (BGE-M3, Voyage, OpenAI), vector DB (pgvector, Qdrant), rerankers (Cohere, BGE), LLM (Claude Sonnet 4.6, GPT-5, Llama 3.3), orch (LlamaIndex), eval (RAGAS, Langfuse)

7 этапов запуска

Этап 1. Выбор сценария (1–2 недели)

Делайте узко. Не «AI-помощник для всей компании», а конкретный use-case с измеримым успехом.

Хорошие первые сценарии:

  • Internal support bot для одного отдела (HR-вопросы, IT helpdesk).
  • Customer support assistant по конкретному продукту.
  • Document Q&A для конкретной команды (legal review, sales enablement).
  • Code search assistant для одного сервиса/моноrepo.
  • Onboarding assistant для новичков.

Чек-лист «правильного» первого сценария:

  • ☐ Есть >100 типовых вопросов в день (иначе ROI не окупит работу)
  • ☐ Корпус 10K–10M токенов (меньше, не нужен RAG; больше, отдельные сложности)
  • ☐ Есть владелец продукта с правом принимать решения
  • ☐ Цена ошибки средняя (не финансовые транзакции / медицинские диагнозы)
  • ☐ Базовая структура корпуса есть (не «свалка PDF-ов в облаке»)

Этап 2. Аудит и подготовка данных (3–6 недель)

Самая недооценённая часть. Часто 40–60% всего времени проекта.

Действия:

  1. Inventory: перечислить все источники, оценить объёмы и форматы.
  2. Dedup: удалить дубликаты (хеши, MinHash для нечётких).
  3. Версионирование: проставить актуальную версию, deprecated, effective_from/to.
  4. Нормализация: одинаковая терминология, единый язык, удаление мусора (boilerplate, footer/header).
  5. Структурирование: Markdown headers как минимум; таблицы, в нормальный формат.
  6. Tagging metadata: owner, отдел, дата, sensitivity level.
  7. PII scan: Microsoft Presidio, маскировать или вырезать.
  8. Access control mapping: кто что имеет право видеть.

Anti-pattern: «загрузить всё как есть, разберёмся потом». Вы не разберётесь, system inherits the mess.

Этап 3. Эталонный датасет (1–2 недели)

Без него запуск невозможен. Минимум:

  • 50–100 ручных пар (вопрос, эталонный ответ, источники), собрать с реальных пользователей или экспертов.
  • 200–500 synthetic, RAGAS / DeepEval генерируют из вашего корпуса.
  • 20 hardest cases (golden adversarial set), намеренно сложные, неоднозначные, edge-cases.

Формат:

{"id": 1,
 "question": "Какой срок согласования командировки в зарубежные страны?",
 "ground_truth_answer": "14 рабочих дней до даты вылета (Положение о командировках, п. 4.2.3)",
 "ground_truth_sources": ["doc_id:cmd-2026", "section:4.2"],
 "category": "hr-travel",
 "difficulty": "medium"}

Этап 4. MVP (2–4 недели)

Цель: работающий end-to-end pipeline с baseline-качеством. Не оптимизировать, не усложнять.

Минимальный стек:

Loader:     Unstructured / LlamaParse
Chunker:    RecursiveCharacterTextSplitter (size=512, overlap=64)
Embedder:   OpenAI text-embedding-3-large ИЛИ BGE-M3
Vector DB:  pgvector
Reranker:   нет ещё (пока baseline)
LLM:        Claude Sonnet 4.6 / GPT-5
Orch:       LlamaIndex
UI:         простой chat (Streamlit / Vercel AI SDK / встроить в Slack)
Eval:       RAGAS на эталонном датасете

Проверка готовности:

  • ☐ Faithfulness > 0.75
  • ☐ Context Precision@5 > 0.5
  • ☐ Latency p95 < 5 сек
  • ☐ Цитаты ссылаются на реальные документы

Этап 5. Iterative improvement (1–3 месяца)

Цикл:

  1. Прогнать eval на полном датасете → найти слабые места.
  2. Категоризировать ошибки: retrieval miss / context gap / hallucination / formatting.
  3. Применить одну технику против конкретной категории:
    • Retrieval miss → hybrid search + multi-query
    • Context gap → Contextual Retrieval, parent-document
    • Hallucination → жёсткий prompt + citation validation + self-check
    • Слабый ranking → добавить reranker
  4. Замерить → сравнить с baseline → принять или откатить.

Не сваливайте всё сразу. Один эксперимент за итерацию, иначе не понять, что помогло.

Целевые метрики прода:

  • Faithfulness > 0.92
  • Context Precision@5 > 0.75
  • Context Recall > 0.85
  • Latency p95 < 3 сек
  • Cost / query < $0.05

Этап 6. Контролируемый запуск (1 месяц beta)

  • 5–10% пользователей или одна команда.
  • Feedback loop: thumbs up/down + текстовый feedback.
  • Continuous eval на 5% трафика (sample → RAGAS → Langfuse dashboard).
  • Human-in-the-loop на критичные ответы (для legal/medical use-cases).
  • Алерты: drop в faithfulness > 5% за неделю → rollback + post-mortem.

Этап 7. Масштабирование

  • Расширение на всю аудиторию (постепенно, по volume).
  • Расширение на новые источники / use-case'ы.
  • Optimization: caching (LangChain Cache, Redis), batching, prompt compression (LLMLingua).
  • Operational ownership: определить, кто отвечает за обновление корпуса, мониторинг метрик, периодическое переобучение embedder'а.

Референсные архитектуры по сценариям

A. Internal HR/IT bot

Профиль: ~50K документов, 500 запросов/день, низкая цена ошибки.

Source:     Confluence + Google Drive (через connectors LlamaIndex / Glean)
Loader:     Unstructured + native APIs
Chunking:   recursive 512+64 overlap
Embed:      OpenAI text-embedding-3-large ИЛИ BGE-M3 (если on-prem)
Vector DB:  pgvector (есть Postgres → не плодить инфру)
Sparse:     PostgreSQL ts_vector
Reranker:   Cohere rerank-v3.5
Generator:  Claude Haiku 4.5 (fast/cheap) + Sonnet 4.6 fallback на сложные
UI:         Slack bot (Bolt SDK)
Eval:       RAGAS daily на 100-pair golden set
Cost:       ~$300–800 / mo

B. Customer support copilot

Профиль: ~500K документов (продуктовая документация + history of tickets), 5K запросов/день, средняя цена ошибки.

Source:     Zendesk / Intercom + product docs + Notion
Loader:     LlamaParse (PDF), Markdown native
Chunking:   parent-document (small chunks для retrieval, parent для context)
Embed:      Voyage-3-large (топ public benchmark) или Cohere embed-multilingual-v3
Vector DB:  Qdrant Cloud (filter by product, category)
Sparse:     Elasticsearch (BM25)
Reranker:   Cohere rerank-v3.5
Generator:  Claude Sonnet 4.6
Guardrails: NeMo Guardrails (no PII в ответах, no off-topic)
Eval:       Langfuse + RAGAS, A/B testing variants
Cost:       ~$2K–6K / mo

C. Code search / dev assistant

Профиль: monorepo на 10M+ строк, 200 разработчиков.

Source:     Git repos (incremental indexing on commit hooks)
Loader:     Tree-sitter AST-aware splitting
Chunking:   AST-based: function / class / module unit
Embed:      Voyage AI voyage-code-3 ИЛИ jina-embeddings-v2-base-code
Vector DB:  Qdrant с metadata (repo, language, file_path)
Sparse:     Sourcegraph / Zoekt
Reranker:   bge-reranker-v2-m3 (self-hosted)
Generator:  Claude Sonnet 4.6 (длинный контекст важен)
UI:         IDE plugin (LSP) + Slack /search
Cost:       ~$1K–3K / mo + GPU для embedder

D. Legal / compliance research

Профиль: строжайшая точность, цитирование обязательно, on-prem.

Loader:     Reducto / Azure Document Intelligence (точные таблицы)
Chunking:   semantic chunking + Contextual Retrieval (Anthropic)
Embed:      BGE-M3 self-hosted
Vector DB:  Milvus / Vespa (ColBERT для late-interaction)
Sparse:     Elasticsearch + русская морфология
Reranker:   bge-reranker-v2-gemma + ColBERT-v2
Generator:  Claude Opus 4.7 (low hallucination) + mandatory citation check
Verification: separate LLM-judge на каждый ответ (faithfulness > 0.97)
Human review: обязателен на важные ответы
Eval:       Patronus AI / TruLens
Cost:       $20K+/mo

Security & compliance чек-лист

Обязательно для любого корпоративного RAG:

  • Access control: vector DB фильтрует по user_id / tenant_id / acl_groups
  • PII detection: Microsoft Presidio при индексации
  • Audit log: что запросил, что вернулось, что в ответе
  • Prompt injection mitigation: XML-тэгирование контекста, Llama Guard 3 на выходе
  • Output filtering: PII в ответах маскируется
  • Data residency: для EU, модели в EU (Mistral, Cohere EU, Azure OpenAI EU regions, on-prem)
  • Encryption: at-rest и in-transit для всех компонентов
  • Secrets management: API ключи в Vault / AWS Secrets Manager, не в коде
  • Rate limiting: per-user quota, особенно если LLM-cost variable
  • No training on customer data: Anthropic, OpenAI Enterprise, Azure OpenAI, все по умолчанию не обучают на ваших данных, но верифицируйте контракт

Cost-калькуляция

Шаблон расчёта на пример: 1000 запросов/день, корпус 5M токенов, Sonnet 4.6 + Cohere rerank + OpenAI embed:

Статья Цена В месяц (30 дней)
Initial indexing (5M tok × OpenAI v3-large @ $0.13/1M) $0.65 разово
Re-indexing 5% корпуса в день $0.10/day $3
Vector DB (pgvector на существующем PG) , $0
Per-query embedding (1K × $0.0001) $0.10/day $3
Per-query Cohere rerank-v3.5 ($1/1K calls) $1/day $30
Per-query Sonnet 4.6: 5K input + 500 output ($0.015 + $0.0075) × 1K = $22.5/day $675
Eval pipeline (5% sample × stuff) ~$1/day $30
Hosting + monitoring , $50–100
Total ~$790–840 / mo

С Haiku 4.5 на простых ответах + Sonnet на сложных, обычно −40–60% за счёт routing.

С long-context подходом (50K input × $3/1M на каждый запрос) = $150/day = $4500/mo, в 5–6× дороже.

5 главных ошибок при запуске RAG

1. «Универсальный AI компании» с первой попытки.
Получают «кашу», в которой невозможно отладить проблемы. Результат: проект убивают через год. Решение: узкий первый use-case, расширение после успеха.

2. Пропуск аудита данных.
«У нас в Confluence нормальные документы». Через месяц непонятные ответы. Решение: 4–6 недель на data quality до инжиниринга.

3. Запуск без эталонного датасета.
«Запустим, посмотрим в production». Через полгода никто не знает, лучше или хуже после очередного «улучшения». Решение: минимум 50 пар до MVP-запуска.

4. Доверие ответам без citation validation.
Запускают в критичные процессы (договоры, медицина) без процедур ручной проверки. Результат: один громкий косяк убивает проект. Решение: human-in-the-loop на critical, automated faithfulness checks везде.

5. «Запустили, забыли».
RAG требует постоянной поддержки: обновление корпуса, мониторинг метрик, адаптация под новые типы вопросов, ре-эмбеддинг при смене модели. Заложите 0.5–1 FTE в долгосрочный operational budget.

Команда минимального проекта

Для prod RAG-системы среднего размера:

  • 1 product owner, связь с пользователями, приоритеты.
  • 1 ML/AI engineer (full-time), архитектура, эксперименты, eval.
  • 1 backend engineer (part-time), интеграции с источниками, API, observability.
  • 1 data steward (part-time), поддержание чистоты корпуса.
  • 0.5 frontend, если нужен UI.

Для POC, один человек (full-stack ML) справится.

Главный вывод

RAG в 2026, самая практичная AI-технология для бизнеса. Не требует обучения моделей, использует ваши данные как есть, даёт быстрый видимый эффект.

Но это инженерный продукт, а не магия. Успех зависит от:

  • Качества данных (60% успеха).
  • Правильного выбора use-case (20%).
  • Дисциплины измерений (15%).
  • Технологий (5%).

Компании, которые понимают это распределение, получают серьёзное преимущество за 3–6 месяцев. Те, кто ждёт «волшебной коробки от вендора», разочаровываются и тратят бюджет впустую.

Стек, метрики, паттерны, всё описано. Стартуйте с узкого сценария, чистите данные, измеряйте faithfulness, итерируйте.

AI-тест
1 / 15

Какая основная проблема, которую решает RAG, не свойственная альтернативным методам?