Fullstack AI инженер (Python, канонизация и матчинг товаров)

Кадровый центр Сотрудничество

Fullstack AI инженер (Python, канонизация и матчинг товаров)

Москва, Замоскворецкая линия, метро Белорусская

Метро: Белорусская

Описание вакансии

В связи с расширением команды в новый стартап проект ищем Fullstack AI инженера

О проекте

AI-ассистент для умных покупок, который помогает пользователям экономить время и деньги. Ассистент находит и сопоставляет товары из разных онлайн-магазинов и маркетплейсов и формирует оптимальную корзину с учётом множества параметров.

Ищем крепкого backend-инженера с опытом коммерческой разработки на Python, который уверенно владеет Python и PostgreSQL и имеет реальный прод-опыт в парсинге и работес данными.

Роль закрывает четыре направления: парсинг маркетплейсов, канонизация/матчинг товаров, хранилище и его масштабирование, AI/LLM для ассистента. Не требуется быть экспертом сразу во всех —но нужен практический опыт минимум в двух (обязательно включая парсинг или данные) и готовность углубляться в остальные.

Требования:

  • Создание собственных AI-инструментов для разработки (кастомные скиллы/агенты/пайплайны, автоматизация рутины)
  • ВАЖНО! - опыт разработки, связанный с канонизацией / матчингом товаров + парсинг маркетплейсов

Базовый стек:

  • Python 3.12+: asyncio, типизация, управление зависимостями (uv/poetry).
  • async FastAPI в проде: Pydantic v2, dependency injection, middleware; понимание, как не блокироватьevent loop синхронным кодом (asyncio.to_thread).
  • PostgreSQL на хорошем уровне: проектирование схем, транзакции, индексы, JSONB, EXPLAIN ANALYZE,оптимизация запросов.
  • SQLAlchemy 2.0 (async) + Alembic: модели, сессии, миграции.
  • Celery + Redis (или asyncio + APScheduler): очереди, ретраи, идемпотентность.
  • Парсинг/скрапинг (ключевой навык роли): практический опыт с headless-браузерами — Playwright,антидетект-браузерами (Camoufox) и HTTP-клиентами (curl_cffi, httpx). Детали — в §1.
  • Docker + docker-compose, Linux + systemd, CI/CD (GitLab CI / GitHub Actions), аккуратная работа ссекретами.

Задачи:

1. Парсинг маркетплейсов

Реальный прод-опыт парсинга/скрапинга с обходом антибот-защиты — не только API-интеграции.Конкретно ожидаем:

  • Playwright (Python, async_api): управление контекстами/страницами, перехват сети, запуск насервере без дисплея (Xvfb). Понимание, что чистый headless-браузер на защищённых сайтах ловит403/капчу.
  • Антидетект-браузеры Camoufox или аналоги (undetected-chromedriver, patchright, nodriver):понимание, что маскировка нужна на уровне движка, а не JS-инъекцией (stealth-плагины детектятся).
  • Детекция headless-браузера: знает основные сигналы (navigator.webdriver, отсутствиеwindow.chrome, WebGL/canvas fingerprint, CDP-артефакты, поведенческие).
  • HTTP/TLS-уровень: curl_cffi с impersonate, понимание TLS-фингерпринта (JA3/JA4) — почемуrequests/httpx палятся даже с правильными заголовками. httpx, cookie/session-менеджмент.
  • Данные из внутренних JSON-API магазинов (реверс запросов из DevTools) вместо парсинга HTML;поддержка при смене схемы.
  • Сессии и прокси: warm-session (прогрев один раз, переиспользование куки), мобильные/резидентскиепрокси, ротация IP, SOCKS5; понимание бана по репутации IP (а не только по fingerprint) и что паузамион не лечится.
  • Надёжность пайплайна: идемпотентный UPSERT, очередь задач с FOR UPDATE SKIP LOCKED, обработказависших задач (lease/timeout).

Будет плюсом: масштабирование парсинга (пул прокси/модемов с бюджетом запросов, авто-ротация ивосстановление при банах); реверс мобильных/приватных API (подпись запросов, антифрод-заголовки,токены); опыт с коммерческими WAF/антиботами (Cloudflare, Akamai, DataDome, PerimeterX) и решениемкапчи; устойчивая 24/7-эксплуатация парсеров (heartbeat, алерты, самовосстановление).

2. Канонизация и матчинг товаров

Сведение офферов из разных магазинов в единые канонические карточки (entity resolution /дедупликация).

  • Многосигнальный матчинг, а не один порог по одному признаку: нормализация (бренд, вес→граммы,тип упаковки) + нечёткое сравнение (pg_trgm, FTS tsvector) + текстовые эмбеддинги и векторныйпоиск + штрихкод (GTIN/EAN) как точный сигнал, где он есть.
  • Пороги калибруются по precision/recall, есть заданная метрика качества — не «магическое 0.85».
  • Краевые случаи: разные фасовки/вкусы одного товара — это разные карточки (вес/упаковка — частьключа); ложные слияния; дубликаты; аналоги/замены.
  • Human-in-the-loop: очередь модерации (link/create/reject), накопление размеченных данных.

Будет плюсом: продовый entity resolution на больших каталогах (сотни тысяч–миллионы SKU); гибридныйпоиск (BM25 + векторный) и ре-ранкинг (cross-encoder); подбор/дообучение эмбеддингов под домен ирусский язык (морфология, лемматизация); выстроенный цикл разметки и active learning с метрикамиprecision/recall; LLM-верификатор матчинга со structured output.

3. PostgreSQL и масштабирование данных

  • Индексы: B-tree, GIN (в т.ч. jsonb_path_ops), pg_trgm, FTS; чтение планов запросов.
  • JSONB для гибких атрибутов товара: операторы (->>, @>), GIN-индексация, generated columns для«горячих» полей.
  • История цен как быстрорастущая таблица: эффективные запросы (свежая цена ORDER BY ts DESCLIMIT 1; медиана за 30 дней через percentile_cont).
  • Партиционирование по времени (PARTITION BY RANGE, pg_partman) и понимание разницыпартиционирование ≠ шардинг: на рост таблицы правильный порядок — партиции → ретенция/агрегация → read-реплика → и только потом горизонтальный шардинг.

Будет плюсом: Citus (горизонтальный шардинг), read-реплики (потоковая репликация), PgBouncer,нагрузочное тестирование (p50/p95/p99).

4. AI/LLM для ассистента

  • RAG-пайплайны: чанкинг, эмбеддинги, векторный поиск, сборка контекста; понимание, как меритькачество и стоимость.
  • Векторная БД — Qdrant: коллекции, payload-фильтры, пороги, батч-upsert.
  • Интеграция LLM (через OpenRouter — Claude Haiku/Sonnet): structured output / JSON-schema, function-calling, prompt engineering, контроль токенов/стоимости.
  • Диалог/агент: чат-онбординг (извлечение структурированных полей из свободного текста), сценариидействий ассистента; при опыте — LangGraph/LangChain.
  • Observability LLM: Langfuse (или LangSmith/Phoenix) — трейсинг вызовов, стоимость/латентность,evals, LLM-as-judge. Понимание, зачем это нужно поверх обычных метрик.
  • PII / 152-ФЗ: деперсонализация перед внешним LLM, резидентность данных в РФ, почему инструмент спромптами держат self-hosted.

Будет плюсом: self-hosted LLM (vLLM/TGI), STT/TTS для голоса (Whisper/GigaAM, Silero), fine-tuning(LoRA/QLoRA).

Помимо стека

  • Работа в команде: внятная коммуникация, code review, ведение задач; комфортен в маленькойкоманде и self-hosted-окружении.
  • Умеет аргументированно объяснять и защищать свои решения, честно обозначать ограничения;корректирует подход под уточняющими вопросами.
  • Самостоятельность: владеет задачей от проектирования до эксплуатации, а не ждёт готовыхинструкций.
  • Продуктивно использует ИИ-агентов (Claude Code и т.п.) для рутины, но это не «чистый вайбкод»:понимает, ревьюит и отвечает за сгенерированный код, держит инженерную планку.

Будет плюсом: создание собственных AI-инструментов для разработки (кастомные скиллы/агенты/пайплайны, автоматизация рутины), которые реально ускоряют работу команды — при сохраненииконтроля качества, а не полный вайбкод.

Посмотреть контакты работодателя

Адрес

Похожие вакансии

Интерактивное агентство Это Легко

Python Developer (AD Robot)

Интерактивное агентство Это Легко

  • Москва

  • Не указана

Рекомендуем
Кибертех
  • Москва

  • Не указана

Рекомендуем
Simple Company
  • Москва

  • Не указана

Рекомендуем
БЮРО 1440
  • Москва

  • Не указана

ИТ Онли
  • Москва

  • Не указана

Ростелеком Информационные Технологии

Тимлид Python

Ростелеком Информационные Технологии

  • Москва

  • Не указана

Вкусно — и точка

Python-разработчик

Вкусно — и точка

  • Москва

  • Не указана

Amex Development
  • Москва

  • до 320000 RUR

Senior Python Developer

Филиал компании Лист Ренталс Лимитед

  • Москва

  • до 320000 RUR

Senior/Middle Python (GigaСhat Enterprise)

Салют для Бизнеса

  • Москва

  • до 320000 RUR

ЦЕНТР ХК
  • Москва

  • до 320000 RUR

Senior fullstack-разработчик (Python + React)

Мамаева Ирина Анатольевна

  • Москва

  • до 320000 RUR

МФК Фордевинд
  • Москва

  • до 350000 RUR

  • Москва

  • до 200000 RUR

AERODISK
  • Москва

  • до 200000 RUR

МУЛЬТИФАКТОР
  • Москва

  • до 200000 RUR

Хотите оставить вакансию?

Заполните форму и найдите сотрудника всего за несколько минут.
Оставить вакансию