06. Архитектура системы¶
Навигация: Назад: Пользователи и сценарии | Далее: Мультиагентный дизайн
Оглавление¶
- Введение
- Общий обзор архитектуры
- Сервисная структура
- Очереди и фоновые задачи
- Многоканальный ingestion
- Хранилище данных
- Хранилище знаний (RAG)
- Интеграции
- Мультитенантность
- Дизайн API и контракты
- Масштабирование инфраструктуры
Введение¶
Архитектура SmartSupport — модульная, расширяемая и мультиагентная. Поддерживает SaaS/on-prem/гибрид, многоканальный приём обращений и высокую автоматизацию, сохраняя безопасность и масштабируемость до сотен тысяч обращений в день.
Общий обзор архитектуры¶
- Канальный слой (Channel / Ingestion): адаптеры для Max, Telegram, VK, веб-форм/виджетов, API-интеграций, email (отечественные SMTP), Social Monitoring.
- Слой ИИ-агентов: Agent Router, Classification Agent, Operator Assist, Knowledge Agent, Monitoring Agent, Audit Agent, Task Creation, Summarization, Speech-to-Text (опционально). Обмен через message bus (RabbitMQ/Redis Streams).
- Сервисный слой: Contact Ingestion, Ticket, Task, User Profiles, Knowledge Base, RAG, Analytics, Monitoring. Взаимодействие через REST/gRPC + очередь сообщений.
- Хранилища данных: PostgreSQL, Vector DB (Qdrant/Milvus/Weaviate), Object Storage (S3-совместимый), Time Series DB (VictoriaMetrics/Timescale), опционально Elasticsearch/Meilisearch.
- Интерфейсы: оператор (единое окно, очередь, подсказки ИИ, задачи), администратор (каналы, пользователи, БЗ, интеграции, мониторинг агентов), гражданин (ЛК, статусы, уведомления).
- DevOps-инфраструктура: Docker/Kubernetes, Nginx/Traefik, CI/CD (GitLab), мониторинг (Prometheus + Grafana), логирование (Loki/ELK), централизованный secret management.
Сервисная структура¶
SmartSupport — микросервисы с чёткими зонами ответственности.
Backend | Сервис | Назначение | |------------------------------|----------------------------------------| | Ingestion Service | Принимает входящие сообщения | | Ticket Service | Управляет обращениями, статусы, SLA | | Tasks Service | Создаёт и ведёт задачи | | Agents Orchestration Service | Управляет работой ИИ-агентов | | RAG Service | RAG-пайплайн | | Knowledge Base Service | Управление статьями БЗ | | Users Service | Пользователи, роли, доступы | | Analytics Service | Отчёты и аналитические данные | | Social Monitoring Service | Анализ локальных сообществ |
Frontend
- Стек: React + TypeScript + Tailwind / Vue.js.
- Компоненты: интерфейс оператора, интерфейс администратора, редактор БЗ, аналитические панели, UI для Social Monitoring, личный кабинет гражданина.
Интеграции - CRM (Bitrix24, amoCRM), ЕСИА (для госов), ведомственные АС, электронные очереди, GIS ЖКХ (план), отечественные ИИ (GigaChat, YandexGPT, Tolka).
Очереди и фоновые задачи¶
- Технологии: RabbitMQ для маршрутизации, Redis Streams/Kafka для высоких нагрузок, Celery/RQ для фоновых задач, APScheduler для периодики.
- Задачи: обработка входящих сообщений, генерация подсказок, создание задач исполнителям, запуск Social Monitoring, RAG-запросы, аналитические расчёты, суммаризация длинных диалогов, автообновление БЗ через ИИ.
Многоканальный ingestion¶
Поддерживаемые каналы: Max, Telegram, VK, веб-формы/сайт, email, открытые чаты/группы (Social Monitoring).
Пайплайн: канал → адаптер канала → Ingestion Service фиксирует событие → Agent Router определяет намерение → Classification Agent назначает категорию → Operator Assist уточняет → Ticket Service создаёт карточку → ответ пользователю.
Хранилище данных¶
PostgreSQL¶
- Обращения, сообщения, пользователи, задачи, метаданные БЗ, статусы/SLA, события Social Monitoring.
- Требования: партиционирование, репликация, резервное копирование.
Vector DB (Qdrant/Milvus/Weaviate)¶
- Embeddings БЗ, обращений, постов из соцсетей; семантический поиск, RAG, кластеризация обсуждений, тематический анализ.
Object Storage¶
- Фото, видео, документы (S3-совместимое: Minio/VK Cloud Object Storage/Yandex Storage).
Time Series DB¶
- Метрики и логи (VictoriaMetrics/TimescaleDB).
Поиск¶
- Опционально Elasticsearch/Meilisearch для полнотекстового поиска.
Хранилище знаний (RAG)¶
Требования: несколько коллекций (регламенты, инструкции, FAQ), онтология, российские embedding-модели, hybrid search (semantic + keyword), ранжирование, автообновление статей, контроль актуальности.
Пайплайн: чанкирование → embeddings (YandexGPT/GigaChat/E5-Rus) → сохранение в Qdrant → поиск по смыслу → объединение результатов → подсказка оператору → сохранение ответа в карточке.
Интеграции¶
- CRM (Bitrix24, amoCRM), Госуслуги/ЕСИА, МКУ/МФЦ системы, GIS ЖКХ (план), системы очередей, call-center платформы, ведомственные АС, отечественные ИИ.
- Протоколы: REST/gRPC + webhooks.
Мультитенантность¶
- SaaS: отдельные workspaces, логическое разделение данных, единая инфраструктура, разные тарифы/каналы/роли.
- On-prem single tenant: изолированный инстанс, кастомизация, безопасный контур (для госов — без интернета).
Требования: полная изоляция данных, раздельные ключи шифрования, отдельные очереди и векторные коллекции.
Дизайн API и контракты¶
- REST + Webhooks; версионирование (v1, v2); безопасность (OAuth2/ESIA/IDM); документация (OpenAPI).
- Основные API:
/tickets,/tasks,/messages,/knowledge-base,/analytics,/agents,/monitoring,/auth,/channels. - Все API должны поддерживать автоматизацию со стороны клиентов.
Масштабирование инфраструктуры¶
1) Сервисы: Kubernetes, горизонтальное масштабирование по нагрузке, autoscaling, отдельные ноды под агентов.
2) ИИ-агенты: параллельные воркеры для Classification/Router, кэширование частых ответов, batching запросов к LLM, локальные модели для дешёвых задач.
3) Social Monitoring: отдельный кластер Monitoring Service, очереди per group, batch-обработка обсуждений, отдельный кластер векторной БД для постов.