Найти в Дзене
Lyakhov Eugene

Проектирование системы комплаенс с ИИ в Сбербанк

Система должна обеспечивать автоматизированный контроль соблюдения регуляторных требований и выявление рисков с использованием ИИ. КатегорияТехнологииЯзыки/фреймворки Java (Spring Boot), Python (FastAPI, TensorFlow/PyTorch), Go
Потоковая обработка Apache Kafka, Kafka Streams, Apache Flink
Базы данных PostgreSQL (OLTP), MongoDB (документы), ClickHouse (аналитика), Redis (кэш)
Поиск/логи Elasticsearch + Kibana (ELK)
ML платформа MLflow (управление моделями), Seldon Core / KServe (serving)
Оркестрация Kubernetes, Docker, Helm
API Gateway Kong / NGINX + custom auth
Мониторинг Prometheus, Grafana, Jaeger
CI/CD GitLab CI / Jenkins
Хранилище данных HDFS / S3-совместимое объектное хранилище (например, Cloud Storage)
Очереди Apache Kafka (основная шина), RabbitMQ (для вспомогательных задач)
Service Mesh Istio (управление трафиком, безопасность) Ориентировочно 20–25 микросервисов: Данное решение обеспечивает гибкость, надёжность и соответствие строгим требованиям комплаенс в масштабах крупней
Оглавление

1. Функциональные требования

Система должна обеспечивать автоматизированный контроль соблюдения регуляторных требований и выявление рисков с использованием ИИ.

  • Сбор данных: интеграция с АБС (автоматизированная банковская система), системами ДБО, карточным процессингом для получения транзакций, данных клиентов, счетов.
  • Мониторинг транзакций:
    в реальном времени (потоковая обработка) и пакетный режим (post-factum);
    применение правил (rule-based) и ML-моделей для выявления подозрительных операций (AML, мошенничество).
  • KYC (Know Your Customer):
    верификация документов (OCR + NLP);
    распознавание лиц, сверка с фотографиями;
    проверка клиентов по санкционным спискам, спискам PEP (политически значимые лица), неблагонадежным контрагентам.
  • Скрининг:
    проверка сделок и клиентов по международным и национальным санкционным спискам (OFAC, ЕС, РФ) в реальном времени;
    обновление списков из внешних источников.
  • Оценка риска:
    расчёт скоринга клиента/транзакции на основе ML;
    динамическое профилирование рисков.
  • Case Management:
    создание кейсов при срабатывании правил/моделей;
    назначение ответственных, workflow расследования;
    хранение всей переписки, документов, принятых решений.
  • Отчётность:
    автоматическое формирование отчётов для ЦБ РФ (ФЭС, ОЭС), Росфинмониторинга;
    предоставление данных по запросам регулятора.
  • Управление моделями ML:
    версионирование, A/B тестирование, мониторинг качества (дрифт данных, точность);
    возможность онлайн-обучения на новых данных.
  • Аудит и логирование:
    фиксация всех действий пользователей и системы;
    неизменяемость логов для расследований.
  • Интеграция с внешними источниками: бюро кредитных историй, государственные реестры, медиа-мониторинг (для выявления негативной информации).

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

  • Производительность: пиковая нагрузка – 24 000 RPS (запросов на мониторинг транзакций) с временем отклика <100 мс для синхронных вызовов.
  • Доступность: 99.99% (четыре девятки) для критических сервисов (мониторинг, скрининг); плановые простои – не более 1 часа в год.
  • Масштабируемость: горизонтальное масштабирование микросервисов, автоматическое масштабирование под нагрузку (HPA в Kubernetes).
  • Надёжность: отказоустойчивость за счёт репликации данных, кластеризации Kafka и БД, резервного копирования с RPO <15 мин, RTO <1 час.
  • Безопасность:
    шифрование данных при передаче (TLS) и хранении (AES-256);
    ролевая модель доступа (RBAC), двухфакторная аутентификация;
    защита от DDoS, инъекций, утечек.
  • Соответствие регуляторам: 115-ФЗ, GDPR (при работе с данными граждан ЕС), локальные нормативы.
  • Наблюдаемость: сбор метрик (Prometheus), логов (ELK), трассировка (Jaeger) для диагностики и SLA.
  • Асинхронность: длительные операции (обучение моделей, массовые проверки) через очереди.
  • Интероперабельность: поддержка JSON, Avro, Protobuf для обмена данными.

3. Продуктовые метрики

  • Операционные:
    Количество проверенных транзакций (в сутки / пик RPS).
    Среднее время обработки одной транзакции (latency).
    Процент успешных ответов (availability).
  • Качество ML:
    Precision, Recall, F1-мера моделей.
    False Positive Rate (количество ложных срабатываний).
    Время детекции новых паттернов мошенничества.
  • Эффективность комплаенса:
    Количество выявленных подозрительных операций (SAR).
    Доля кейсов, подтвердившихся после ручной проверки.
    Время расследования одного кейса (среднее).
    Отсутствие штрафов от регулятора.
  • Бизнес-метрики:
    Снижение операционных затрат на комплаенс за счёт автоматизации.
    Уменьшение false positive, сокращающих ручной труд.
    Доля клиентов, прошедших KYC менее чем за 5 минут.

4. Список технологий

КатегорияТехнологииЯзыки/фреймворки Java (Spring Boot), Python (FastAPI, TensorFlow/PyTorch), Go
Потоковая обработка Apache Kafka, Kafka Streams, Apache Flink
Базы данных PostgreSQL (OLTP), MongoDB (документы), ClickHouse (аналитика), Redis (кэш)
Поиск/логи Elasticsearch + Kibana (ELK)
ML платформа MLflow (управление моделями), Seldon Core / KServe (serving)
Оркестрация Kubernetes, Docker, Helm
API Gateway Kong / NGINX + custom auth
Мониторинг Prometheus, Grafana, Jaeger
CI/CD GitLab CI / Jenkins
Хранилище данных HDFS / S3-совместимое объектное хранилище (например, Cloud Storage)
Очереди Apache Kafka (основная шина), RabbitMQ (для вспомогательных задач)
Service Mesh Istio (управление трафиком, безопасность)

5. Архитектура по C4 (уровень контейнеров)

-2

6. Описание инфраструктуры

  • Кластер Kubernetes: мультизональный (3+ availability zones), набор нод для различных классов сервисов (compute-оптимизированные для ML, memory-оптимизированные для БД).
  • Сеть: выделенные виртуальные сети (VPC) с сегментацией по безопасности, балансировщики нагрузки на входе (ALB/NGINX).
  • Хранение:
    Управляемые БД (PostgreSQL, MongoDB, ClickHouse) с автоматическим бекапом и репликацией.
    Redis Sentinel/Cluster для высокой доступности кэша.
    Объектное хранилище (S3) для хранения сырых данных (логи, документы, снапшоты).
  • Kafka кластер: несколько брокеров с репликацией 3, разбиение на топики по типу событий (транзакции, документы, результаты).
  • Мониторинг: Prometheus собирает метрики со всех подов и сервисов, Grafana дашборды для разных команд, алертинг в PagerDuty/Telegram.
  • CI/CD: автоматическая сборка образов, прогон тестов, деплой через GitOps (ArgoCD).
  • Безопасность: Istio для mTLS между сервисами, Vault для хранения секретов, WAF на входе.

7. Количество микросервисов

Ориентировочно 20–25 микросервисов:

  • Транзакционный монитор (streaming) – 2 (real-time, batch)
  • KYC (OCR, NLP, FaceID) – 3
  • Скрининг по спискам – 2 (синхронный, асинхронный)
  • Оценка риска – 2 (скоринг, профилирование)
  • Case Management – 2 (workflow, хранилище)
  • Reporting – 2 (генерация, отправка)
  • ML Model Serving – 2 (онлайн, пакетный)
  • Управление моделями – 1
  • Интеграция с внешними источниками – 2
  • Аудит и логи – 1
  • API Gateway – 1
  • Авторизация/аутентификация – 1
  • Административная панель (UI) – 1
  • Уведомления – 1

8. Масштабирование системы

  • Горизонтальное масштабирование: каждый микросервис запускается в нескольких репликах; HPA на основе CPU/memory или custom метрик (длина очереди Kafka).
  • Kafka:
    Увеличение числа партиций для параллельной обработки.
    Группы потребителей с возможностью динамического добавления инстансов.
  • Базы данных:
    Шардинг PostgreSQL по идентификатору клиента или транзакции.
    Реплики для чтения (read replicas) для аналитических запросов.
    Использование NewSQL (CockroachDB) при необходимости глобального шардирования.
  • Кэширование:
    Redis-кластер с шардингом.
    Кэширование справочников (санкционные списки) в памяти сервисов с инвалидацией через Kafka.
  • API Gateway: масштабируется горизонтально, использует балансировщик.
  • ML Serving: инференс моделей через Seldon с автоскейлингом на основе входящего потока запросов.
  • Data Lake: объектное хранилище масштабируется практически неограниченно.

9. Нагрузка на расширение 24000 RPS

  • Расчёт: пиковая нагрузка – 24 000 запросов/сек на мониторинг транзакций. Это порядка 2 млрд запросов в сутки.
  • Обработка:
    Каждая транзакция проходит через API Gateway и попадает в Kafka (топик transactions с 64+ партициями).
    Consumer группы (Transaction Monitor) могут масштабироваться до числа партиций, каждый инстанс обрабатывает свою долю.
    ML-инференс выполняется асинхронно (модели могут быть тяжелыми), результаты публикуются в отдельный топик.
    Для синхронных проверок (скрининг по спискам) используется кэш Redis с предзагруженными данными и высокопроизводительный инференс на базе ONNX или оптимизированных моделей.
  • Базы данных:
    Оперативные данные пишутся в PostgreSQL через batch-вставки или use Kafka Connect Sink.
    ClickHouse используется для аналитики, поддерживает высокую скорость вставки.
  • Тестирование: обязательно нагрузочное тестирование с имитацией 24k RPS, выявление узких мест, оптимизация запросов и индексов.
  • Резервирование: все критичные сервисы дублируются в разных зонах доступности, автоматическое переключение при сбоях.

Данное решение обеспечивает гибкость, надёжность и соответствие строгим требованиям комплаенс в масштабах крупнейшего банка.

Страховка на собеседовании

Знание есть, но стресс мешает?
Бесплатное сообщество для прокачки карьеры в IT

Подпишись на https://t.me/IT_Interview_Partner_Bot
Подпишись на
https://t.me/LyakhovEugene