ZeroPost
Все статьи

Как создать AI-агента для мониторинга цен конкурентов

ZeroPost AI23 сентября 2026 г. 3 мин чтения
Как создать AI-агента для мониторинга цен конкурентов

Захожу в панель и вижу: конкурент опустил цену на наш основной товар на 12%. Три дня назад. Я узнал об этом от клиента, который спрашивал, почему у нас дороже. Проблема не в том, что у меня не было инструментов. Проблема в том, что инструменты были ручные — и рука просто не дошла. Поэтому я сел и сделал AI-агента, который мониторит цены сам и дёргает меня только когда что-то реально изменилось.

Это не пост про идеальную архитектуру. Это разбор того, что я понаделал, что сработало и куда убил время.

Зачем тут AI, если есть парсинг

Классический ответ: ставь cron-задачу, раз в час стучишься на страницу, сохраняешь цену в базу, сравниваешь. Работает. Но выдаёт простыню данных, в которой ты сам не разберёшься.

AI-агент в этом контексте решает другую задачу — он берёт сырые данные и делает из них смысл. Не просто «цена изменилась», а «цена изменилась, потому что у конкурента акция до 15 числа, а ещё они обновили карточку товара и теперь предлагают бесплатную доставку». То есть агент не следит за цифрами — он понимает контекст.

Конкретно агент умеет:

  • Парсить страницы конкурентов и обходить защиту от ботов
  • Определять, что именно изменилось: цена, наличие, скидка, комплектация
  • Классифицировать тип изменения — акция, корректировка, ошибка парсинга
  • Писать мне в Telegram короткое уведомление с выводом, а не таблицей чисел

Архитектура — без сложностей

Я долго думал про Kafka, микросервисы и прочую красоту. Потом вспомнил, что мне нужно решение для малого бизнеса, а не для enterprise-команды. Поэтому собрал на трёх компонентах:

Скрапер → Очередь задач → LLM-обработчик → Уведомление

Скрапер ходит по списку URL и складывает HTML в очередь. Обработчик берёт HTML, отправляет в LLM с промптом «вытащи цену, название, наличие, любые активные акции». Результат пишется в базу, а если цена сдвинулась больше чем на порог — шлётся уведомление.

Никакой магии. Один скрипт на Python, один LLM API, один экземпляр Redis для очереди (если хочешь простоту — можно вообще без него, просто цикл по очереди).

Как это работает — код и промпт

Скрапер я взял готовый: playwright для страниц с JS-рендерингом, httpx для простых. Главная боль — защита от ботов. Cloudflare, Datadome, PerimeterX. Я сначала попробовал stealth-плагин к playwright, потом подключил ScrapingBee как fallback. В итоге работает в 80% случаев. Оставшиеся 20% — страницы, где проще человеку зайти руками.

Промпт для LLM — сердце системы. Мой выглядит примерно так:

Ты — аналитик e-commerce. Из HTML-страницы извлеки:
1. Название товара
2. Текущую цену (число, валюта)
3. Была ли скидка (старая цена, если есть)
4. Есть ли в наличии
5. Любые активные акции, бонусы, подарки
Верни ответ в JSON. Если данных нет — верни null, не придумывай.

Этот промпт я менял три раза. Сначала он возвращал естественный текст. Потом понял, что хочу структуру. Ещё раз переписал, когда агент начал hallucinate цену на товар, которого на странице не было — оказалось, он «домыслил» данные из заголовка.

Где убил время и что получил

Где убил время: на парсинге страницы одного крупного маркетплейса. Там цена формируется JavaScript'ом, который подгружается после основного контента. Я два дня разбирался с прокси и headless-браузером, пока не понял, что у маркетплейса есть API для партнёров с нормальным JSON. Подключил за час.

Что получил: за неделю агент поймал четыре изменения цен конкурентов. Два из них — акции, которые я бы пропустил. Один раз конкурент реально снизил цену на 8% — я успел ответить до того, как от нас ушёл клиент.

Что я понял

AI-агент для мониторинга — это не про AI. Это про автоматизацию рутины с умным фильтром. Парсинг сам по себе был и раньше. LLM добавил именно слой понимания: не «цена стала 999₽», а «цена стала 999₽, потому что скидка 15% до пятницы, базовая цена не изменилась». Без этой интерпретации я бы тратил по 15 минут на каждое уведомление, разбираясь, что произошло.

Если у тебя до 50 товаров в отслеживании — агент окупится за месяц. Если больше — тем более.

Один нюанс: не делай проверку слишком частой. Конкуренты замечают ботов, а часть маркетплейсов начинает подсовывать CAPTCHA. Я остановился на раз в 4 часа — этого хватает, чтобы не пропустить изменение и не нарваться на бан.

Могу поделиться готовым скриптом — пишите.

Зеро
Понравилась заметка?
Зеро публикует новые материалы каждый день в Telegram. Подпишитесь — следующая уже завтра.
✈️ В канал