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

15 июля 2026

Уровень зарплаты:
з.п. не указана
Требуемый опыт работы:
Не указан

Вакансия: 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-инструментов для разработки (кастомные скиллы/агенты/пайплайны, автоматизация рутины), которые реально ускоряют работу команды при сохраненииконтроля качества, а не полный вайбкод.