Сижу в понедельник утром, открываю дашборд — а там красная строка: конкурент за ночь опустил цену на 12%. На мою же позицию. Я бы и не узнал, если бы скрипт не сработал — а он сработал. Именно эта история объясняет, зачем я вообще начал собирать агента. Не чтобы "быть в тренде", а потому что руками проверять каждые два часа физически невозможно.
Зачем тут именно AI-агент, а не парсер
Классический парсер — штука прямая. Указал URL, забрал цену, сложил в таблицу. Но конкуренты не сидят на одном месте. Они меняют разметку, подгружают цены через JavaScript, показывают разное содержимым разным пользователям. Обычный парсер на это ломается, и ты узнаёшь об этом через три дня, когда уже поздно.
AI-агент решает это иначе. Он не просто читает HTML — он понимает контекст. «Это цена со скидкой или старая?» «Цена для зарегистрированного пользователя или для всех?» «Что означает этот диапазон — 1 490–1 890?» Вместо железной логики — гибкое понимание.
Из чего состоит агент
Я прошёл через три версии, прежде чем получилось что-то рабочее. Первая была слишком сложной — пытался сразу на LLM загрузить все страницы. Провалился: стоимость зашкалила, скорость была неприемлемой. Вторая версия работала лучше, но ломалась на динамических страницах. Третья — текущая — крутится уже полгода без моего участия.
Шаг 1: Сбор данных — headless-браузер
Первым делом нужны данные. Если страница статическая — можно обойтись requests. Но большинство e-commerce сайтов сейчас рендерят контент на клиенте. Я использую Playwright с Python: запускаю браузер в headless-режиме, открываю страницу, жду загрузки динамики, сохраняю результат.
Важный момент: эмулирую реального пользователя. Случайная задержка между действиями, реальный User-Agent, иногда меняю разрешение экрана. Иначе через неделю получаешь бан по IP.
Шаг 2: Обработка — LLM как интерпретатор
Вот здесь начинается AI. Сырой HTML отдаю модели с примерно таким промптом: «На странице найди товары, их цены, старые цены если есть, скидки. Верни в JSON.» Проблема в том, что даже хорошие модели периодически галлюцинируют поля. Я потерял два дня, пока не понял: нужно валидировать выходные данные по схеме. Сейчас использую Pydantic-модель и проверяю результат перед записью в базу.
Шаг 3: Хранение и отслеживание изменений
Всё лежит в PostgreSQL. Две таблицы: сырые срезы (цена, время, URL) и изменения (дельту, процент, направление). Когда агент находит изменение больше порога — допустим, 3% — триггерится уведомление. Порог не фиксированный, я настраиваю его под каждую категорию товаров.
Шаг 4: Уведомления
Сначала сделал через Telegram-бота. Работает, но десятки сообщений в день — невозможно читать. Сейчас у меня агрегация: дайджест раз в день и мгновенный алерт только при экстремальных изменениях — больше 10% или если конкурент опустился ниже моей цены.
Где я обжёгся
Proxy Rotator. Пытался сэкономить и брал дешёвые shared-прокси. IP быстро попадали в блэклисты, данные стали неполными. Не повторяй: если мониторишь больше 10 конкурентов — бери качественные резидентские прокси. Это 40–80 долларов в месяц, но данные того стоят.
Ещё одна проблема, которую я не предвидел: конкуренты ставят разные цены для разных геолокаций. Агент из Москвы видел одну цену, клиент из Новосибирска — другую. Решил через геопривязку на уровне прокси, проблема ушла.
Во что это обходится
LLM-обработка — основная статья расходов. У меня 12 конкурентов и примерно 200 SKU ежедневно. Для первичной обработки использую gpt-4o-mini — он дешёвый и достаточно точный для простого извлечения цен. На полный цикл уходит примерно 3–4 доллара в день. Звучит немного, но в месяц набегает 100–120 долларов. Плюс прокси, плюс сервер — итого около 200 долларов в месяц. Для малого бизнеса это ощутимо, но окупается, если один вовремя замеченный ценовой манёвр конкурента сохраняет десяток заказов.
Что агент не умеет (и это важно)
Он не умеет предсказывать. Фиксирует факт, а не причину. Конкурент может опустить цену на неделю из-за распродажи — и реагировать на это как на долгосрочную угрозу будет ошибкой. Я добавил тег «распродажа»: агент помечает такие случаи, если видит маркировку на сайте. Работает через раз, но лучше, чем ничего.
Ещё агент не понимает контекст. Цена может быть низкой из-за дефицита, или наоборот — завышенной из-за искусственного ажиотажа. Без человека-аналитика всё равно не обойтись.
Коротко
AI-агент для мониторинга цен — это не магия. Headless-браузер, промты к LLM, база данных, система уведомлений. Он заменяет рутину, но не стратегию. Я тратил по два часа в день на ручную проверку — теперь трачу 20 минут на разбор уведомлений. Разница существенная.
Если хочешь попробовать — начни с одного конкурента и пяти товаров. Построил рабочий цикл, убедился, что данные точны, масштабируй. С нуля сразу на 20 конкурентов — это путь к хаосу и разочарованию.
