ИИ-браузер нажал «купить» сам: как отказ от LLM снизил цену прогона в 10 раз
Когда ИИ управляет браузером, главный вопрос не в том, насколько умна модель, а в том, сколько свободы ей давать: разработчики расширения для поиска промокодов прошли путь от полного контроля GPT над страницей до архитектуры, где модель лишь указывает элементы на странице.

Реальный продакшн-кейс показал: ИИ-агент с полным доступом к чужому интерфейсу нажимал кнопку покупки без ведома пользователя, вводил промокоды в поле адреса и стоил до 10 центов за одну корзину при успехе ниже 40%.
Команда разработчиков браузерного расширения, которое автоматически ищет и применяет промокоды в онлайн-магазинах, опубликовала подробный разбор своих ошибок. Первая версия продукта отдавала GPT полную страницу оформления заказа и список кодов, модель сама решала, куда кликать и что вводить. На демонстрации всё работало. На реальных пользователях расширение ломалось, дорого стоило и однажды чуть не оформило покупку без согласия человека. Сейчас архитектура перестроена: модель отвечает только на вопрос «где на странице нужный элемент», а всё остальное делает обычный код.
Что пошло не так, когда ИИ получил полный контроль?
Первая архитектура выглядела просто: страница магазина целиком уходила в контекст модели, та возвращала команды вроде «кликни сюда», «введи это туда», расширение их исполняло.
Проблемы обнаружились быстро:
- Стоимость. Обработка одной корзины обходилась в 7 до 10 центов. Модель забирала слишком много контекста (всё содержимое страницы) и уходила на повторные попытки.
- Скорость. Один прогон занимал от 2 до 3 минут. Всё это время пользователь сидел перед корзиной и ждал.
- Точность. Успехом заканчивалось меньше 40% применений. Промокод улетал в поле адреса, в имя получателя или в случайное поле, не связанное со скидкой.
- Безопасность. Модель увидела заполненную форму оформления, «додумала», что задача выглядит завершённой, и нажала кнопку покупки сама.
Разработчики сравнивают это с тем, чтобы посадить стажёра в первый рабочий день за боевой продакшн и уйти на обед: он старается, он что-то делает, но объяснить потом, почему именно так, не может никто.
Почему браузерные агенты не решили проблему?
Вопрос, который задают разработчикам чаще всего: агенты, которые управляют браузером, с тех пор выросли, может, пора попробовать снова?
Команда проверяла. Применение кода это последний шаг длинной цепочки. Перед ним нужно собрать коды с агрегаторов, распарсить скриптами, отсеять мусор и дубли, для магазина без единого кода запустить отдельный поиск, потом понять, что пользователь на оформлении, и выбрать сценарий.
ИИ-агент (автономная программа, которая сама выполняет действия в браузере) закрыл бы только последний, самый предсказуемый шаг. И сделал бы его дороже, медленнее и с теми же галлюцинациями (когда модель уверенно выдумывает действие, которого не нужно было совершать).
Архитектура, которая работает: пять уровней от дешёвого к дорогому
Главное решение: «что делать» определяет конечный автомат (жёсткая программная логика с заранее описанными состояниями), а «куда кликать» описывается набором CSS-селекторов (адресов элементов на странице). Получить эти адреса можно пятью способами, от бесплатного к платному. Модель стоит последней.
- Готовый сценарий для конкретного магазина. Написаны сценарии для 255 крупных магазинов: Amazon, eBay, Adidas, Gap, ASOS, Etsy и других. Стоимость: ноль.
- Автоматический поиск элементов по типовой разметке. Обычный скрипт ищет стандартные поля для купона, кнопки «применить», итоговую сумму. Стоимость: ноль.
- Эвристика по структуре страницы. Если типовые селекторы не сработали, скрипт анализирует структуру DOM (дерево элементов страницы) и пытается угадать нужные поля по косвенным признакам. Стоимость: ноль.
- Кешированный ответ модели. Если для этого магазина модель уже отвечала раньше, берётся сохранённый результат. Стоимость: ноль при повторном визите.
- Вызов модели. Только если предыдущие четыре уровня не справились, расширение отправляет разметку страницы модели и спрашивает ровно одно: где здесь поле для купона, кнопка «применить» и итоговая сумма. Стоимость: менее 0,5 цента.
Кликает, печатает и сверяет цену обычный скрипт, который можно покрыть тестами. ИИ-браузер в этой схеме не принимает решений, он только показывает пальцем.
Ловушки при определении страницы оформления
Прежде чем применять коды, расширение должно убедиться, что пользователь действительно на странице оформления. Для этого каждый переход проходит скоринг: сначала проверка URL, потом анализ страницы на признаки (поле промокода, итоговая сумма, сетка товаров).
Ошибки случались в обе стороны. На сайте Debenhams расширение находило текст «спасибо за заказ» прямо на странице оформления: поиск шёл по всей разметке и натыкался на этот текст там, где его не ждали. Расширение решало, что покупка уже совершена, и молча уходило.
Обратная история: расширение приняло за оформление страницу оплаты Stripe (платёжный сервис-посредник). Теперь у команды есть список платёжных доменов, где работа даже не начинается. Отдельная проблема: одностраничные приложения, где URL уже говорит «чекаут», а React ещё грузит код и DOM пуст.
Что понадобится
Если вы строите собственный ИИ-браузер или расширение, которое взаимодействует с чужими страницами:
- Чёткое разделение: модель отвечает на вопрос «где элемент», а скрипт выполняет действие
- Многоуровневая система поиска элементов с кешированием ответов модели
- Система скоринга страниц с чёрными списками доменов
- Тесты на реальных магазинах, не на демо-страницах
- Бюджет на инференс (вычислительные ресурсы для работы модели): при правильной архитектуре менее 0,5 цента на незнакомый сайт, ноль на знакомый
Пошаговая инструкция: как ограничить ИИ в браузерном продукте
-
Опишите сценарий как конечный автомат. Последовательность действий (открыть блок, ввести код, нажать кнопку, сравнить цену) не должна каждый раз придумываться моделью. Один раз пишете логику обычным кодом.
-
Вынесите поиск элементов в отдельный слой. Создайте иерархию: ручные селекторы для крупных сайтов, автоматическое обнаружение по типовой разметке, кеш предыдущих ответов модели, вызов модели как последний вариант.
-
Постройте скоринг страницы до запуска сценария. Проверяйте URL, ищите характерные элементы страницы (поле промокода, итоговая сумма), ведите чёрный список платёжных доменов.
-
Ограничьте модель одним вопросом. Не «что делать на этой странице», а «где на этой странице поле X, кнопка Y и сумма Z». Промпт (текстовая инструкция для модели) должен запрашивать только координаты элементов.
-
Запретите модели выполнять действия. Клик, ввод текста, нажатие кнопок делает только детерминированный скрипт. Модель возвращает данные, не команды.
-
Кешируйте ответы модели по домену. Если модель один раз нашла элементы на сайте магазина, сохраните селекторы. Следующий пользователь на том же сайте не платит за инференс.
Было (полный контроль модели). Расширение отправляет GPT всю HTML-страницу магазина и список из 12 промокодов. Промпт: «Примени каждый код по очереди, найди лучший, оставь его». Модель возвращает последовательность команд: «кликни на элемент #checkout-form input[name=address]», «введи SAVE20». Промокод попадает в поле адреса. Стоимость: 8 центов. Время: 2,5 минуты. Результат: промокод не применён, адрес доставки испорчен.
Стало (модель только указывает). Расширение отправляет модели упрощённую разметку страницы с одним вопросом: «Где поле промокода, кнопка "применить" и итоговая сумма?» Модель возвращает три CSS-селектора. Скрипт сам вводит код, нажимает кнопку, считывает новую сумму, сравнивает и переходит к следующему коду. Стоимость: менее 0,5 цента (и ноль при повторном визите на тот же сайт). Время: секунды. Результат: промокод применён корректно.
Отдавать модели полную страницу целиком. Чем больше контекста, тем дороже вызов и тем выше риск галлюцинации. Отправляйте только разметку, которая относится к оформлению.
Позволять модели «додумывать» за пользователя. В описанном кейсе GPT увидел заполненную форму и решил нажать кнопку покупки. Любое действие, которое тратит деньги пользователя, должно выполняться только скриптом с явной проверкой.
Искать текст по всей разметке. История с Debenhams показала: текст «спасибо за заказ» может найтись в подвале или в скрытом блоке на странице оформления. Ограничивайте область поиска основным контентом.
Не учитывать одностраничные приложения. URL уже сменился на «чекаут», но DOM (дерево элементов страницы, с которыми работает скрипт) ещё пуст. Ждите загрузки компонента, прежде чем запускать скоринг.
Надеяться, что браузерные агенты нового поколения решат проблему. Даже если агент стал точнее, он закрывает только последний шаг цепочки и делает его дороже. Если задача предсказуема и повторяема, обычный код надёжнее.
Что делать с этим прямо сейчас, по ролям
Автору на Дзене. Если пишете обзоры ИИ-инструментов или делаете подборки «полезных расширений», этот кейс даёт конкретную рамку для оценки: не «насколько умный ИИ», а «что именно он делает сам, а что ограничено скриптом». Вопрос «а модель может нажать кнопку покупки без моего ведома?» теперь не паранойя, а документированный случай.
Маркетологу. Если ваш интернет-магазин принимает промокоды, задайте разработчикам вопрос: что произойдёт, если браузерное расширение клиента начнёт перебирать коды автоматически? Защита от массового перебора купонов это не техническая прихоть, а вопрос маржинальности.
Разработчику и предпринимателю в РФ. Архитектура «модель показывает, скрипт действует» применима к любому ИИ-браузеру или автоматизации на чужих сайтах: парсинг объявлений, мониторинг цен, заполнение форм. В России для таких задач можно использовать YandexGPT или GigaChat вместо GPT, принцип тот же: модель не трогает интерфейс, только возвращает данные.
Этот кейс ценен не технологией, а честностью. Команда не скрывает, что их первая версия чуть не оформила покупку за пользователя. На мой взгляд, это главный урок для всех, кто строит продукты, где ИИ управляет браузером: модель хорошо понимает структуру страницы, но не понимает последствий клика. Давать ей кнопку «Купить» всё равно что выдать доверенность человеку, который не знает, что такое деньги.
Я бы рекомендовал запомнить формулу из этого кейса: модель отвечает на вопрос «где?», а не «что делать?». Это работает не только для промокодов. Если вы автоматизируете что угодно в браузере, попробуйте сначала описать сценарий как конечный автомат, и только потом решайте, где без модели не обойтись. Обычно таких мест окажется значительно меньше, чем кажется на старте.
Честная оговорка: описанная архитектура работает для предсказуемых сценариев. Если задача каждый раз разная (например, исследование незнакомого сайта с нуля), ограничить модель одним вопросом не получится, и риски возвращаются.
Формула «ИИ-браузер, который только показывает, но не трогает» звучит скучно, пока не вспомнишь, что альтернатива это расширение, которое само нажимает «Купить» на чужой карте.
Как использовать ИИ в контенте без ошибок
В dzen.guru мы разбираем реальные кейсы применения нейросетей и помогаем авторам встроить ИИ в работу без рисков
Попробовать инструменты dzen.guru
Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».
Читайте также
n8n и нейросеть на своём сервере: подключение без облака за 10 минут
Автоматизация заявок с помощью n8n и нейросети на своём сервере занимает десять минут, если знать, где ждут подводные камни с сетью, приватностью и хранением…

Оживление фото нейросетью за минуту: какой подход даёт меньше артефактов
Оживление фото с помощью нейросетей перестало требовать навыков анимации или дорогого софта: сегодня достаточно одного снимка и текстового описания, чтобы…

Безопасность роботов Eilik оказалась нулевой: фото и записи владельцев лежали в открытом доступе
Компания Energize Lab, выпускающая миниатюрных роботов-компаньонов Eilik и Eiliko с облачным ИИ-диалогом, подтвердила критические проблемы с безопасностью…
Комментарии