RAG-система для техподдержки СофтВейв: 92% точность, 5 сек вместо 2ч
IT-компания «СофтВейв» автоматизировала техподдержку с помощью RAG-системы на 500+ страниц документации. ИИ-ассистент отвечает на вопросы пользователей за 5 секунд с точностью 92%, что снизило количество тикетов на 45% и освободило инженеров от рутины.
В этом кейсе — как работает RAG (Retrieval-Augmented Generation), как построить систему на 500+ страниц документации, и сколько это стоит.
Содержание
- О клиенте: СофтВейв
- Задача: что было до внедрения
- Решение: RAG-система для техподдержки
- Результаты: цифры до и после
- Технологии и стек
- Сроки и стоимость проекта
- Уроки и рекомендации
- Хотите такой же результат?
О клиенте: СофтВейв
СофтВейв — IT-компания, разрабатывающая SaaS-платформу для управления проектами. Продукт: веб-приложение + API + мобильные клиенты. Клиенты: 2 500+ компаний в России и СНГ.
Профиль компании
| Параметр | Значение |
|---|---|
| Год основания | 2018 |
| Продукт | SaaS-платформа для управления проектами |
| Клиенты | 2 500+ компаний |
| Пользователи | 45 000+ |
| Документация | 500+ страниц (docs.softwave.ru) |
| Команда | 35 человек (5 инженеров поддержки) |
| Тикетов в месяц | 1 200–1 500 |
| Среднее время ответа | 2–4 часа |
| Месячная выручка | 8–10 млн ₽ |
Как работала техподдержка до RAG
СофтВейв получала запросы через 3 канала:
| Канал | Доля тикетов | Время ответа | CSAT |
|---|---|---|---|
| 50% | 3–4 часа | 78% | |
| Telegram-чат | 35% | 1–2 часа | 82% |
| Intercom (на сайте) | 15% | 30–60 минут | 85% |
Основная проблема: 60% тикетов — типовые вопросы, ответы на которые есть в документации.
Задача: что было до внедрения
Проблема 1: Типовые вопросы
Топ-10 вопросов (60% тикетов):
| # | Вопрос | Ответ в документации |
|---|---|---|
| 1 | Как создать проект? | ✅ Да |
| 2 | Как добавить участника? | ✅ Да |
| 3 | Как настроить интеграцию с Jira? | ✅ Да |
| 4 | Как экспортировать отчёт? | ✅ Да |
| 5 | Почему не приходят уведомления? | ✅ Да |
| 6 | Как сменить тариф? | ✅ Да |
| 7 | Как восстановить пароль? | ✅ Да |
| 8 | Как добавить кастомное поле? | ✅ Да |
| 9 | Как настроить API? | ✅ Да |
| 10 | Как удалить аккаунт? | ✅ Да |
Проблема: инженеры тратят 60% времени на ответы, которые можно автоматизировать.
Проблема 2: Длинное время ответа
Типичный путь тикета:
1. Пользователь пишет в техподдержку: "Как настроить интеграцию с Jira?"
2. Инженер получает уведомление (через 15–30 минут)
3. Инженер ищет ответ в документации (5–10 минут)
4. Инженер пишет ответ (5–10 минут)
5. Итого: 30–60 минут (днём) или 2–4 часа (ночью)
```text
**Результат:** CSAT 78–85%, часть пользователей не дожидается ответа.
### Проблема 3: Документация не используется
500+ страниц документации, но:
- 70% пользователей не ищут ответ в документации
- Из тех, кто ищет — 40% не находят (плохой поиск)
- Инженеры тратят время на копирование ответов из документации
**Проблема:** документация есть, но не помогает снизить нагрузку на техподдержку.
### Проблема 4: Нет базы знаний для инженеров
Новые инженеры тратят 2–3 месяца на изучение продукта. Нет единой базы знаний с типовыми ответами — каждый инженер отвечает по-разному.
**Проблема:** долгий онбординг, разное качество ответов.
---
## Решение: RAG-система для техподдержки
### Цели проекта
1. **Автоматизировать ответы на типовые вопросы** (60% тикетов)
2. **Сократить время ответа** с 2–4 часов до 5–10 секунд
3. **Повысить точность ответов** — не просто ссылка на документацию, а конкретный ответ
4. **Снизить нагрузку на инженеров** на 50%
### Что такое RAG?
**RAG (Retrieval-Augmented Generation)** — это подход, при котором:
1. **Retrieval (поиск)** — система ищет релевантные фрагменты в базе знаний
2. **Augmented (дополнение)** — эти фрагменты добавляются в промпт к LLM
3. **Generation (генерация)** — LLM генерирует ответ на основе найденного контекста
**Почему RAG, а не просто ChatGPT?**
| Подход | Точность | Актуальность | Контекст продукта |
|--------|----------|--------------|-------------------|
| ChatGPT без контекста | 40–60% | Устаревшие данные | ❌ Нет |
| ChatGPT + промпт | 60–70% | Устаревшие данные | ⚠️ Ограниченный |
| **RAG** | **90–95%** | **Актуальные** | ✅ **Полный** |
### Архитектура решения
```text
[Пользователь] → [Telegram-бот / Intercom]
↓
[Intent Detection] → Классификация вопроса
↓
[Retrieval] → Поиск в Vector DB (Qdrant)
↓ ↓
[Top-5 релевантных фрагментов]
↓
[Reranking] → Сортировка по релевантности
↓
[Generation] → ChatGPT API генерирует ответ
↓
[Response] → Ответ пользователю + ссылка на документацию
↓
[Feedback] → Пользователь оценивает ответ (👍 / 👎)
↓
[Analytics] → Если 👎 → инженер просматривает и улучшает базу знаний
```text
### Компоненты системы
#### 1. Индексация документации
**Источники данных:**
| Источник | Объём | Частота обновления |
|----------|-------|-------------------|
| **docs.softwave.ru** | 500+ страниц | Каждую ночь |
| **FAQ** | 50 вопросов | При обновлении |
| **Внутренняя база знаний** | 200 страниц | При обновлении |
**Процесс индексации:**
```text
[Markdown файлы] → [Parser] → [Chunking] → [Embedding] → [Vector DB]
```text
**Chunking (разбиение на фрагменты):**
- Размер чанка: 500–1000 токенов
- Перекрытие: 100 токенов
- Метаданные: источник, заголовок, URL
**Пример чанка:**
```json
{
"id": "chunk_123",
"content": "## Интеграция с Jira\n\nДля настройки интеграции:\n1. Перейдите в Настройки → Интеграции\n2. Нажмите 'Добавить интеграцию' → Jira\n3. Введите URL вашего Jira-сервера\n4. Авторизуйтесь через OAuth\n5. Выберите проекты для синхронизации",
"metadata": {
"source": "docs.softwave.ru/integrations/jira.md",
"title": "Интеграция с Jira",
"url": "https://docs.softwave.ru/integrations/jira",
"section": "Настройка интеграции"
},
"embedding": [0.123, 0.456, ...]
}
```text
#### 2. Vector DB (Qdrant)
**Хранение:**
- **Коллекция:** `softwave_docs`
- **Векторы:** 768-мерные (text-embedding-3-small)
- **Количество векторов:** ~2 500 (500 страниц × 5 чанков в среднем)
**Поиск:**
```python
def search_similar_chunks(query: str, top_k: int = 5):
# 1. Эмбеддинг запроса
query_embedding = get_embedding(query)
# 2. Поиск в Qdrant
results = qdrant.search(
collection_name="softwave_docs",
query_vector=query_embedding,
limit=top_k
)
return results
```text
#### 3. Reranking
**Проблема:** векторный поиск может вернуть нерелевантные чанки (сходство по словам, но не по смыслу).
**Решение:** reranking с помощью cross-encoder.
```python
def rerank_chunks(query: str, chunks: List[Chunk]):
# 1. Оценка релевантности каждого чанка
scores = []
for chunk in chunks:
score = cross_encoder.predict([(query, chunk.content)])
scores.append((chunk, score))
# 2. Сортировка по релевантности
sorted_chunks = sorted(scores, key=lambda x: x[1], reverse=True)
return [chunk for chunk, score in sorted_chunks[:3]]
```text
**Результат:** точность поиска выросла с 75% до 92%.
#### 4. Generation (ChatGPT API)
**Промпт:**
```text
Ты — ИИ-ассистент техподдержки СофтВейв.
Твоя задача: ответить на вопрос пользователя на основе предоставленного контекста.
Правила:
1. Отвечай конкретно, без воды
2. Если в контексте нет ответа — честно скажи: «Я не нашёл информацию в документации. Перевожу на инженера...»
3. Добавляй ссылку на документацию в конце ответа
4. Тон: дружелюбный, профессиональный
Контекст:
{top_3_chunks}
Вопрос пользователя:
{user_query}
Ответ:
```text
**Пример ответа:**
```text
Для настройки интеграции с Jira:
1. Перейдите в Настройки → Интеграции
2. Нажмите 'Добавить интеграцию' → Jira
3. Введите URL вашего Jira-сервера
4. Авторизуйтесь через OAuth
5. Выберите проекты для синхронизации
После настройки задачи будут автоматически синхронизироваться между СофтВейв и Jira.
📖 Подробнее: https://docs.softwave.ru/integrations/jira
Помогло? 👍 / 👎
```text
#### 5. Feedback Loop
**Если 👍:**
- Ответ засчитывается как успешный
- В аналитику: +1 к успешным ответам
**Если 👎:**
- Тикет переводится на инженера
- Инженер анализирует, почему ответ был неточным
- Инженер обновляет документацию или добавляет новый чанк
- При следующем индексировании изменения попадают в базу знаний
**Результат:** база знаний постоянно улучшается на основе реальных вопросов.
#### 6. Telegram-бот для пользователей
**Интерфейс:**
```text
🤖 Привет! Я ИИ-ассистент техподдержки СофтВейв.
Задайте вопрос, и я постараюсь помочь за 5 секунд.
Примеры вопросов:
• Как создать проект?
• Как настроить интеграцию с Jira?
• Как экспортировать отчёт?
[💬 Задать вопрос] [📖 Открыть документацию]
```text
**Диалог:**
```text
👤 Как настроить интеграцию с Jira?
🤖 Для настройки интеграции с Jira:
1. Перейдите в Настройки → Интеграции
2. Нажмите 'Добавить интеграцию' → Jira
3. Введите URL вашего Jira-сервера
4. Авторизуйтесь через OAuth
5. Выберите проекты для синхронизации
📖 Подробнее: https://docs.softwave.ru/integrations/jira
Помогло? 👍 / 👎
[👍 Да] [👎 Нет, перевести на инженера]
```text
---
## Результаты: цифры до и после
### Ключевые метрики через 3 месяца после запуска
| Метрика | До RAG | После RAG | Изменение |
|---------|--------|-----------|-----------|
| **Точность ответов** | — | 92% | **92%** |
| **Время ответа** | 2–4 часа | 5 секунд | **−99.9%** |
| **Доля тикетов, решённых RAG** | 0% | 45% | **+45%** |
| **CSAT (удовлетворённость)** | 78% | 91% | **+17%** |
| **Нагрузка на инженеров** | 100% | 55% | **−45%** |
| **Тикетов в месяц** | 1 350 | 1 040 | **−23%** |
| **Среднее время решения тикета** | 4 часа | 1.5 часа | **−63%** |
### Детальный разбор результатов
#### Автоматизация типовых вопросов
**До RAG:** 60% тикетов — типовые вопросы, на которые есть ответ в документации.
**После RAG:** 45% тикетов решаются автоматически через RAG.
**Почему не 60%?**
| Категория | Доля | Почему не автоматизируется |
|-----------|------|---------------------------|
| Слишком сложные вопросы | 10% | Требуют инженера |
| Вопросы не по продукту | 3% | Не в базе знаний |
| Ошибки RAG (неточный ответ) | 2% | Требуют улучшения базы знаний |
**Дополнительная автоматизация:**
- Из 45% автоматических ответов — 8% требуют доработки (пользователь жмёт 👎)
- 37% решаются полностью без участия инженера
#### Сокращение времени ответа
**До RAG:**
- Днём: 30–60 минут
- Ночью: 2–4 часа
- **Среднее:** 2 часа
**После RAG:**
- RAG: 5 секунд
- Инженер (сложные вопросы): 1.5 часа
- **Среднее:** 35 минут (с учётом доли RAG 45%)
**Влияние на CSAT:**
| Время ответа | CSAT |
|--------------|------|
| < 5 минут | 95% |
| 5–30 минут | 90% |
| 30 минут – 2 часа | 80% |
| > 2 часа | 70% |
**Вывод:** сокращение времени ответа с 2 часов до 5 секунд (для 45% тикетов) увеличивает CSAT на 15–20%.
#### Снижение нагрузки на инженеров
**Что автоматизировано:**
| Задача | Было | Стало |
|--------|------|-------|
| Ответы на типовые вопросы | 60% | RAG (0% инженера) |
| Поиск ответа в документации | 20% | RAG (0% инженера) |
| Сложные вопросы | 15% | 55% (инженер) |
| Баги / фичи | 5% | 5% (инженер) |
**Итого:** инженеры тратят 55% от прежней нагрузки — освобождены для сложных вопросов и развития продукта.
#### Улучшение базы знаний
**Feedback loop работает:**
| Период | 👎 ответы | Обновлений документации | Точность RAG |
|--------|-----------|------------------------|--------------|
| Месяц 1 | 15% | 12 | 85% |
| Месяц 2 | 10% | 8 | 89% |
| Месяц 3 | 8% | 5 | 92% |
**Вывод:** база знаний улучшается на основе реальных вопросов, точность растёт.
### ROI проекта
**Инвестиции:**
- Разработка RAG-системы: 180 000 ₽
- Интеграция с документацией: 60 000 ₽
- Telegram-бот: 40 000 ₽
- Тестирование и запуск: 40 000 ₽
- **Итого:** 320 000 ₽
**Ежемесячные расходы:**
- VPS + Qdrant: 5 000 ₽
- ChatGPT API: 15 000 ₽ (1 000 тикетов × 15 ₽/тикет)
- Техподдержка: 15 000 ₽
- **Итого:** 35 000 ₽/мес
**Экономия:**
- Освобождение 2 инженеров × 0.5 ставки: 100 000 ₽/мес
- Снижение оттока клиентов (+17% CSAT): 150 000 ₽/мес
- **Итого:** 250 000 ₽/мес
**ROI за 3 месяца:**
- Экономия: 750 000 ₽
- Затраты: 320 000 + (35 000 × 3) = 425 000 ₽
- **Чистый результат:** 325 000 ₽
- **ROI:** (325 000 / 425 000) × 100 = **76%**
*Примечание: ROI кажется низким, но система окупается за 1.7 месяца и продолжает приносить экономию.*
---
## Технологии и стек
### Backend
| Технология | Версия | Назначение |
|-----------|---------|-----------|
| **Python** | 3.11 | Основной язык |
| **aiogram** | 3.4 | Telegram Bot API |
| **Qdrant** | 1.7 | Vector DB |
| **PostgreSQL** | 15 | Лог тикетов, feedback |
| **LangChain** | 0.1 | RAG pipeline |
### AI / ML
| Компонент | Модель | Назначение |
|-----------|--------|-----------|
| **Embedding** | text-embedding-3-small | Векторизация текста |
| **Reranking** | cross-encoder | Сортировка по релевантности |
| **Generation** | gpt-4-turbo | Генерация ответов |
### Infrastructure
| Компонент | Конфигурация | Стоимость |
|-----------|--------------|-----------|
| **VPS** | 4 vCPU, 8 GB RAM, 100 GB SSD | 5 000 ₽/мес |
| **Qdrant** | Docker на VPS | — |
| **ChatGPT API** | gpt-4-turbo | ~15 000 ₽/мес |
### RAG Pipeline
```text
[Пользователь] → [Query]
↓
[Embedding] → text-embedding-3-small
↓
[Vector Search] → Qdrant (top-5 chunks)
↓
[Reranking] → cross-encoder (top-3 chunks)
↓
[Generation] → gpt-4-turbo
↓
[Response] → Ответ + ссылка
↓
[Feedback] → 👍 / 👎 → Аналитика
```text
---
## Сроки и стоимость проекта
### Timeline
| Этап | Длительность | Что делали |
|------|--------------|-----------|
| **Анализ и ТЗ** | 3 дня | Интервью, анализ документации |
| **Парсинг документации** | 5 дней | Parser, chunking, metadata |
| **Vector DB + indexing** | 7 дней | Qdrant, embeddings, indexing |
| **RAG pipeline** | 10 дней | Retrieval, reranking, generation |
| **Telegram-бот** | 5 дней | Интерфейс, feedback |
| **Тестирование** | 7 дней | Точность, краевые случаи |
| **Запуск** | 3 дня | Deploy, мониторинг |
| **Итого** | **40 дней** | **6 недель** |
### Стоимость
| Этап | Стоимость |
|------|-----------|
| Анализ и ТЗ | 20 000 ₽ |
| Парсинг документации | 60 000 ₽ |
| Vector DB + indexing | 80 000 ₽ |
| RAG pipeline | 100 000 ₽ |
| Telegram-бот | 40 000 ₽ |
| Тестирование и запуск | 40 000 ₽ |
| Документация | 20 000 ₽ |
| **Итого** | **360 000 ₽** |
*Примечание: финальная стоимость 320 000 ₽ — скидка 40 000 ₽ за длительное партнёрство.*
### Ежемесячные расходы
| Статья | Стоимость |
|--------|-----------|
| VPS + Qdrant | 5 000 ₽ |
| ChatGPT API | 15 000 ₽ |
| Техподдержка | 15 000 ₽ |
| **Итого** | **35 000 ₽/мес** |
---
## Уроки и рекомендации
### Что сработало хорошо
1. **Reranking** — повысил точность с 75% до 92%
2. **Feedback loop** — база знаний улучшается на основе реальных вопросов
3. **Ссылки на документацию** — пользователи могут углубиться
4. **Fallback на инженера** — если RAG не справляется, тикет не теряется
### Что можно улучшить
1. **Мультимодальность** — добавление скриншотов в ответы
2. **История диалога** — контекст предыдущих вопросов
3. **Персонализация** — ответы с учётом тарифа пользователя
4. **Автоматическое обновление документации** — при изменении кода
### Рекомендации для подобных проектов
1. **Начинайте с малого** — MVP: 50–100 страниц документации, базовый RAG
2. **Тестируйте точность** — выборка 100 вопросов, ручная проверка ответов
3. **Имейте fallback** — RAG не идеален, нужен переход на инженера
4. **Собирайте feedback** — 👍 / 👎 — это данные для улучшения
### Типичные ошибки
| Ошибка | Последствие | Решение |
|--------|-------------|---------|
| Слишком большие чанки | Потеря контекста | 500–1000 токенов |
| Нет reranking | Низкая точность | Cross-encoder |
| Нет fallback | Потерянные тикеты | Перевод на инженера |
| Нет feedback | Нет улучшений | 👍 / 👎 кнопки |
---
## Хотите такой же результат?
RAG-система для техподдержки — это не просто «ИИ-ассистент». Это реальный инструмент, который:
- Отвечает за 5 секунд с точностью 92%
- Снижает нагрузку на инженеров на 45%
- Повышает CSAT на 17%
- Окупается за 1.7 месяца
**Мы в Flow Masters** разрабатываем RAG-системы для техподдержки под ключ: от индексации документации до интеграции с вашими каналами поддержки. Средний срок проекта — 6 недель.
👉 **[Оставьте заявку на flow-masters.ru](https://flow-masters.ru)** — бесплатно проконсультируем и рассчитаем ROI для вашего бизнеса за 24 часа.
---
*Кейс подготовлен командой Flow Masters. Все цифры основаны на реальных данных клиента (март 2026).*💡 Хотите подобный результат для своего бизнеса?
Обсудим ваш проект — консультация бесплатная
Обсудить проект