Антифрод по ДМС
Сервис проверяет счета от 12 000 клиник и лабораторий до выплаты. Внедрил антифрод-правила на базе клинических рекомендаций Минздрава, разработал микросервис ML-скоринга на FastAPI и встроил его в обработку счетов.
Ярослав Гнеушев, Python-разработчик с 4+ годами опыта в финтехе и страховании. Проектирую API и системы обработки событий, отвечаю за их работу под нагрузкой — от схемы данных до мониторинга и инцидентов.
Коммерческие проекты: мой вклад, технические решения и результаты.
Сервис проверяет счета от 12 000 клиник и лабораторий до выплаты. Внедрил антифрод-правила на базе клинических рекомендаций Минздрава, разработал микросервис ML-скоринга на FastAPI и встроил его в обработку счетов.
Разработал агента на LangGraph с MCP-серверами и подключил к CI/CD. Он первым проверяет запросы на слияние: стиль, типовые дефекты и наличие тестов. Код остаётся внутри корпоративного контура.
Отчёты отставали на часы и конкурировали с транзакционной нагрузкой на PostgreSQL. Спроектировал потоковую аналитику на Kafka с transactional outbox: события сохраняются вместе с бизнес-данными, затем публикуются в очередь. Задержка сократилась до десятков секунд.
Собрал данные из госреестров и PDF в единую схему PostgreSQL, разработал API и дашборды с графами маршрутов. В парсере предусмотрел ограничения частоты запросов, повторные попытки и обработку повреждённых файлов.
Разделяю систему на сервисы с явными границами и типизированными контрактами. FastAPI выбираю для асинхронных интеграций, Django/DRF — для насыщенной бизнес-логики, где полезны ORM и админка. Критические сценарии проверяю интеграционными тестами с реальной инфраструктурой.
PostgreSQL использую как основное транзакционное хранилище, ClickHouse — для аналитики, Redis — для кеша и временных данных. Фоновые задачи выполняю через Celery, события передаю в Kafka. Согласованность данных и событий обеспечиваю через transactional outbox.
Контейнеризирую сервисы и развёртываю их в Kubernetes через GitLab CI. Состояние системы отслеживаю в Prometheus и Grafana, включая технические и бизнес-метрики. Число воркеров и лимиты ресурсов подбираю по результатам нагрузочных тестов.
Модели изолирую за версионируемым API, чтобы их можно было обновлять независимо от основного приложения. Агентов строю как явный граф шагов в LangGraph: ограничиваю итерации, контролирую вызовы инструментов и сохраняю журнал выполнения.
Антифрод по ДМС и внутренние инструменты на основе ИИ. Вёл сервисы от проектирования и разработки до развёртывания, мониторинга и дежурств. Тяжёлые операции вынес в приоритетные очереди и переписал проблемные ORM-запросы — в пиковые периоды длина очереди сократилась до 10 раз. После настройки мониторинга время от начала инцидента до обнаружения сократилось примерно с 60 до 5 минут.
Ядро платёжного сервиса: REST API для продавцов и обработка транзакций. Вынес аналитику в Kafka, чтобы она не конкурировала с транзакционной нагрузкой на PostgreSQL. Публикацию организовал через таблицу исходящих событий: они сохраняются вместе с бизнес-данными в одной транзакции. Задержка данных сократилась с часов до десятков секунд. Оптимизацией SQL и индексов снизил p95 REST API с 2.5 до 0.8 секунды. Отдельно разработал сервис уведомлений о статусах платежей и перевёл обработку в асинхронный режим.
Проекты под заказчика: серверная часть и аналитика системы мониторинга перевозок, подготовка данных для аналитических моделей. Свёл 100 000 товарных позиций из B2B-каталогов к единой схеме. Для обучения OCR не хватало размеченных данных, поэтому написал генератор синтетических документов. Отдельно строил систему извлечения, преобразования и загрузки текстовых данных объёмом 1 TB+.
Факультет информационных технологий и анализа больших данных. Прикладная информатика, направленность «Прикладные информационные системы в экономике и финансах». Учусь параллельно с работой.
Программирование в компьютерных системах, квалификация «техник-программист». Здесь я начал писать на Python и отсюда пришёл на первую работу.