# ТЗ: Evrone AI Assistant — корпоративный ИИ-ассистент

Демонстрационная версия документа · категория «AI» · №25

> Это демонстрационное техническое задание: оно показывает структуру и глубину
> документа, который передаётся вместе с прототипом. Боевое ТЗ по этому солюшену
> готовится и заменит этот файл.

## 1. Суть решения

RAG в приватном контуре: коннекторы к базам знаний, чат, цитирование источников.

RAG-ассистент в приватном контуре: коннекторы к базам знаний (wiki, диски, CRM, тикеты), пайплайн индексации с учётом прав доступа (пользователь видит в ответах только доступные ему документы), чат-интерфейс и встраивание в мессенджеры, цитирование источников, админка (источники, аналитика вопросов, качество ответов), выбор LLM — облачная или локальная модель в контуре заказчика. Поверх ядра — прикладные агенты: парсинг документов в структуру, генерация контента по шаблонам компании.

## 2. Технологический стек

| Слой | Решение |
|---|---|
| Backend | Ruby on Rails 8, PostgreSQL |
| Frontend | Hotwire (Turbo + Stimulus), Tailwind CSS |
| Фоновые задачи | Solid Queue |
| Файлы | Active Storage, S3-совместимое хранилище |
| Деплой | Docker, Kamal, production + staging |

## 3. Роли

- Сотрудник
- Владелец источника данных
- Администратор ассистента

## 4. Модель данных

### 4.1. Source

```
kind: enum # wiki, диск, CRM, тикеты
credentials: encrypted
sync_state: enum
last_synced_at: datetime
```

### 4.2. Chunk

```
source_id: references
content: text
embedding: vector
acl: jsonb # кому виден документ
```

### 4.3. Conversation

```
user_id: references
messages: has_many
citations: jsonb
```

## 5. Ключевые сценарии

1. Администратор подключает источник, запускается индексация с учётом прав
2. Сотрудник задаёт вопрос и получает ответ со ссылками на источники
3. В выдачу попадают только документы, доступные этому сотруднику
4. Администратор видит аналитику вопросов и оценку качества ответов

## 6. Интеграции

- Облачная или локальная LLM
- Векторное хранилище
- Коннекторы к базам знаний
- Мессенджеры

## 7. Нефункциональные требования

- Серверный рендеринг, работоспособность ключевых страниц без JavaScript
- Мобильная адаптивность обязательна
- Роли и права проверяются на уровне сервера, а не интерфейса
- Логирование действий пользователей по значимым операциям
- Покрытие тестами моделей и ключевых сценариев
- Развёртывание одной командой, окружения production и staging

## 8. Состав MVP

Два коннектора (wiki + файловое хранилище) + RAG с цитатами + чат + разграничение прав.

## 9. Критерии приёмки

1. Все сценарии из раздела 5 проходят end-to-end на тестовом стенде
2. Роли из раздела 3 видят только то, что им положено
3. Интеграции из раздела 6 работают через слой адаптеров и переключаются конфигурацией
4. Прототип разворачивается из репозитория одной командой
5. Документация по запуску и переменным окружения лежит в README
