Fullstack AI инженер
Разработка AI-ассистента для умных покупок: парсинг маркетплейсов, матчинг товаров, масштабирование данных и интеграция LLM. Нужен опытный Python-разработчик с навыками парсинга, работы с PostgreSQL и AI/LLM. Работа в стартапе, удалённо, полная занятость.
Зарплата не указана — оценили по рынку
На основе 109 похожих вакансий за 90 дней.
Что предстоит делать
В связи с расширением команды в новый стартап проект ищем Fullstack AI инженера О проекте AI-ассистент для умных покупок, который помогает пользователям экономить время и деньги. Ассистент находит и сопоставляет товары из разных онлайн-магазинов и маркетплейсов и формирует оптимальную корзину с учётом множества параметров. Ищем крепкого backend-инженера с опытом коммерческой разработки на Python, который уверенно владеет Python и PostgreSQL и имеет реальный прод-опыт в парсинге и работес данными. Роль закрывает четыре направления: парсинг маркетплейсов, канонизация/матчинг товаров, хранилище и его масштабирование, AI/LLM для ассистента. Не требуется быть экспертом сразу во всех —но нужен практический опыт минимум в двух (обязательно включая парсинг или данные) и готовность углубляться в остальные.
- 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-инструментов для разработки (кастомные скиллы/агенты/пайплайны, автоматизация рутины), которые реально ускоряют работу команды — при сохраненииконтроля качества, а не полный вайбкод.
Что ждём от вас
- Создание собственных 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), аккуратная работа ссекретами.
Стек и инструменты
Подходит ли вам эта вакансия?
Зарегистрируйтесь и загрузите резюме — посчитаем % совпадения с этой вакансией, подсветим сильные стороны и что стоит подтянуть
Похожие вакансии
6 вакансий
Старший Full-Stack инженер (AI платформа)
~2 136 400 ₸ оценка
Американская AI-компания ищет старшего Full-Stack инженера для разработки платформы коммуникаций на базе LLM. Нужен опыт с Python, Node.js, PostgreSQL, AWS и интеграцией языковых моделей. Предлагают полную удаленную работу, официальный контракт и гибкий график с пересечением с американским часовым поясом.
Старший бэкенд и инженер баз данных
~2 136 400 ₸ оценка
Ищем опытного бэкенд-инженера для разработки AI-платформы SaaS. Нужно проектировать и поддерживать бэкенд на Python и Node.js, работать с PostgreSQL и AWS, интегрировать LLM. Предлагаем полную удаленку, официальный контракт и гибкий график.
Backend-разработчик Python (FastAPI)
~2 136 400 ₸ оценка
Ищем опытного Python-разработчика для создания backend-сервисов ветеринарной медицинской информационной системы. Нужно уверенное знание FastAPI, PostgreSQL, Kafka и опыт работы с асинхронным Python. Предлагаем удалённую работу с гибким графиком и интересные задачи с AI-интеграциями.
Senior Python Developer
~2 136 400 ₸ оценка
Ищем Senior Python Developer для разработки CRM для малого и среднего бизнеса. Нужен опыт от 5 лет, владение Python, Django, FastAPI, AI/LLM фреймворками и Docker/K8S. Предлагают удаленку или гибрид в Минске, зарплату в долларах и соцпакет.
Старший Python инженер
~834 943 ₸ оценка
Ciklum ищет Senior Python Engineer для разработки бэкенда платформы интеллектуального анализа данных. Требуется опыт с Python, Flask/FastAPI, облачными технологиями и тестированием. Предлагается удаленная работа, медстраховка и возможности для роста.
Python-разработчик (CLI/gRPC, математические модели)
~2 136 400 ₸ оценка
Ищем опытного Python-разработчика для работы над сервисами, связанными с математическими моделями и управлением приборами. Требуется глубокое знание Python, опыт с gRPC и научными библиотеками. Предлагают удаленную или гибридную работу в Москве, оформление по ТК РФ и конкурентную зарплату.