ZeroPost
Все статьи

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

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

Цены конкурентов — это информация, которая устаревает в тот момент, когда ты её записал. Я проверял. Запустил скрипт, спарсил сайт, сохранил в базу. А через два часа конкурент уже поменял цену на акционный товар. Итог: у меня в базе лежала цифра, которая не имела никакого отношения к реальности.

Обычный парсинг здесь проигрывает. Слишком хрупко, слишком медленно, слишком много ручной работы. Но с AI-агентами картина меняется — и вот почему.

В чём проблема обычного парсинга

Классическая схема: крон запускает скрипт, скрипт ходит по URL, вытаскивает цену, кладёт в базу. Это работает ровно до тех пор, пока конкурент не сделал три вещи.

Первое — добавил JavaScript-рендеринг. Selenium в помощь, но это уже совсем другой уровень сложности. Второе — поставил защиту от ботов. Cloudflare, капча,行为的 — бот обнаруживается и получает бан. Третье — изменил вёрстку. Одно обновление сайта — и твой XPath ломается.

С AI-агентом всё иначе. Агент — это не скрипт, который делает одно и то же. а система, которая смотрит на страницу, понимает контекст и адаптируется. Упал XPath — агент всё равно найдёт цену, потому что он её не ищет по селектору, а читает.

Архитектура агента: из чего он состоит

Я собрал рабочую схему из четырёх блоков, и она закрывает основные сценарии.

Сборщик данных забирает страницу — через API, через браузер, через прокси-ротацию. Не важно как, важно, что на выходе получается HTML или скриншот.

Интерпретатор — вот тут в игру вступает AI. Я использую GPT-4o с Vision: он скармливает скриншот страницы и инструкцию — "найди цену товара X, название товара, наличие". Работает с рендерингом, с динамическими страницами, с защитой от ботов, которая пропускает реальный браузер.

Нормализатор приводит все цены к единому формату. Где-то "12 990 ₽", где-то "₽12 990", где-то "12,990". Он разбирается во всём этом и кладёт в базу чистые данные.

Репортер отслеживает изменения и шлёт уведомления. У меня простой триггер: если цена изменилась больше чем на 5% — алерт в телеграм. Можно усложнить: привязать к себестоимости, к порогам маржинальности, к истории.

Как я это запускал и где наступил на грабли

Сначала думал — возьму LangChain, закину промпт, получу результат. Оказалось, что промпт — это только начало. Главные проблемы вылезли совсем не там, где ожидал.

Скорость. GPT-4o на скриншоте — это дорого и медленно. Обработка одного товара занимает 3-5 секунд. При парсинге 500 позиций — это 25 минут. Решение: пакетная обработка и кэширование. Если товар не менялся с прошлого раза — не отправляем повторно.

Ложные срабатывания. Агент иногда "видел" цену со скидкой, хотя товар был в обычной цене. Или путал старую и новую цену на странице с акцией. Пришлось добавить валидацию: агент возвращает не только цену, но и контекст — откуда она взялась, что это за блок на странице.

Прокси. Браузер с одного IP быстро попадает в бан. Я завернул всё в ротацию прокси — простые резидентные, не дорогие. Сменил 50 IP на 500 запросов — ни одного бана.

Практические детали, которые экономят время

Если решишь собирать своё — вот что реально помогло.

API конкурентов. Иногда они есть. Ozon и Wildberries дают партнёрские API с ценами. Это не уловка, это штатный инструмент. У меня уходит 20% данных оттуда — и это самые надёжные 20%.

Headless-браузер вместо скриншотов. Если цель — именно данные, а не визуал, то curl плюс браузер в фоне быстрее и дешевле, чем генерация картинки. Но для сложных страниц — скриншот плюс VLM надёжнее.

Мониторить не всё, а приоритетное. Я разбил товары на три категории: лидеры продаж (проверяю каждый час), стабильные позиции (раз в день), длинный хвост (раз в неделю). Ресурсы идут туда, где реально есть смысл.

Что получается в итоге

За месяц работы агент отслеживает 300+ товаров у пяти конкурентов. На каждый товар — история изменений, алерты на скачки цен, привязка к моей наценке. Я вижу не просто "конкурент снизил цену", а "конкурент снизил цену на 12% при нашей марже 18% — рекомендуем ответное действие".

Раньше на эту работу уходило полтора человеко-дня в неделю. Теперь — полчаса на обновление логики и разбор алертов.

Куда двигаться дальше

Самое интересное начинается, когда данных накопилось достаточно. Можно строить прогнозы: "этот конкурент обычно меняет цены в начале месяца". Можно привязать к календарным событиям — перед чёрной пятницей ценник проседает за 5-7 дней. Можно автоматизировать прайсинг целиком: один агент мониторит, другой решает, третий исполняет.

У меня пока первый агент. Но уже вижу, куда тропа ведёт.

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