Skip to content

06. Архитектура системы

Навигация: Назад: Пользователи и сценарии | Далее: Мультиагентный дизайн

Оглавление

Введение

Архитектура SmartSupport — модульная, расширяемая и мультиагентная. Поддерживает SaaS/on-prem/гибрид, многоканальный приём обращений и высокую автоматизацию, сохраняя безопасность и масштабируемость до сотен тысяч обращений в день.

Общий обзор архитектуры

  1. Канальный слой (Channel / Ingestion): адаптеры для Max, Telegram, VK, веб-форм/виджетов, API-интеграций, email (отечественные SMTP), Social Monitoring.
  2. Слой ИИ-агентов: Agent Router, Classification Agent, Operator Assist, Knowledge Agent, Monitoring Agent, Audit Agent, Task Creation, Summarization, Speech-to-Text (опционально). Обмен через message bus (RabbitMQ/Redis Streams).
  3. Сервисный слой: Contact Ingestion, Ticket, Task, User Profiles, Knowledge Base, RAG, Analytics, Monitoring. Взаимодействие через REST/gRPC + очередь сообщений.
  4. Хранилища данных: PostgreSQL, Vector DB (Qdrant/Milvus/Weaviate), Object Storage (S3-совместимый), Time Series DB (VictoriaMetrics/Timescale), опционально Elasticsearch/Meilisearch.
  5. Интерфейсы: оператор (единое окно, очередь, подсказки ИИ, задачи), администратор (каналы, пользователи, БЗ, интеграции, мониторинг агентов), гражданин (ЛК, статусы, уведомления).
  6. 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-обработка обсуждений, отдельный кластер векторной БД для постов.