ИИ-агенты и автоматизация
Чем кормить браузерного агента: скриншот или текст
Браузерный агент видит страницу одним из трёх способов: скриншотом, разметкой или текстовым представлением вроде дерева доступности. Выбор определяет счёт сильнее, чем выбор модели: на нашем замере страницы каталога разметка занимает 136 904 знака против 23 077 знаков видимого текста — разница в 5,9 раза, и умножается она на каждый шаг сессии.
Разберём три представления, что мы измерили сами, во что это обходится в рублях и когда картинка всё-таки нужна.
Три способа показать страницу
Скриншот. Агент видит то же, что человек. Универсально и дорого: изображение тарифицируется отдельно и добавляется к текстовой части запроса.
Разметка. Полный исходный код страницы. Содержит всё, включая служебные атрибуты, инлайновые стили и данные, которые на экране не видны.
Текстовое представление. Дерево доступности — структура, которую браузер строит для программ чтения с экрана: роли, названия и состояния элементов без оформления. Компактнее разметки и, в отличие от простого текста, сохраняет разницу между кнопкой и ссылкой.
Подход не экзотический: в исследовании архитектуры браузерных агентов отмечено, что инструмент управления браузером от Microsoft отдаёт модели именно снимки дерева доступности, а не сырые скриншоты.
Что мы измерили сами
Чтобы не пересказывать чужие числа, мы замерили собственную страницу каталога 13 сентября 2026 года.
| Представление | Знаков | Примерно токенов |
|---|---|---|
| Полная разметка страницы | 136 904 | ~45 600 |
| Видимый текст страницы | 23 077 | ~7 700 |
Отношение — 5,9 раза. Перевод в токены грубый, по оценке три знака кириллицы на токен, и он занижает разницу: в разметке много латиницы и служебных символов, которые токенизируются хуже.
Оговорка важная: мы измеряли разметку против видимого текста, а не против дерева доступности. Дерево лежит между ними и ближе к тексту, потому что убирает оформление, но добавляет роли и состояния. Своего замера дерева у нас нет, и выдавать оценку за измерение мы не будем.
Во что это обходится
Считаем на той же странице. Один просмотр в виде разметки — около 45 600 входных токенов.
| Модель | ₽ за миллион | Один просмотр | Сессия из 10 шагов |
|---|---|---|---|
deepseek-v4-flash | 1 | 0,05 | 2,51 |
qwen-3-6-flash | 3 | 0,14 | 7,52 |
haiku-4-5 | 8 | 0,36 | 20,06 |
sonnet-4-6 | 12 | 0,55 | 30,10 |
opus-5 | 30 | 1,37 | 75,24 |
Колонка сессии считает накопление: на первом шаге в модель уходит один снимок, на десятом — все предыдущие вместе с новым. Поэтому десять шагов стоят не в десять раз дороже одного, а в пятьдесят пять.
Та же сессия на видимом тексте вместо разметки обошлась бы примерно в шесть раз дешевле. Механика подсчёта разобрана в статье как считать токены.
Когда скриншот действительно нужен
Картинка не роскошь, а инструмент под конкретный класс задач.
Проверка внешнего вида. Съехала вёрстка, перекрыт элемент, не видно кнопку — текстовое представление этого не покажет в принципе.
Элементы без текстовой подписи. Иконка без названия существует для человека и почти не существует для дерева доступности.
Содержимое на картинке. Скан, график, схема. Здесь без зрения модели не обойтись, и нужна позиция с подтверждённым пониманием изображений — разбор в статье распознавание изображений нейросетью.
Спорный результат. Когда агент утверждает, что действие выполнено, а проверить это по тексту нельзя.
Во всех остальных случаях — навигация, чтение, заполнение форм, извлечение данных — картинка добавляет стоимость и не добавляет информации.
Что сокращает расход сильнее всего
Четыре приёма по убыванию эффекта.
- Отдавать фрагмент, а не страницу. Агенту нужна форма или таблица, а не шапка, меню и подвал на каждом шаге.
- Не хранить старые снимки в истории. Страница из третьего шага на десятом шаге бесполезна, но оплачивается. Достаточно последнего состояния и краткой сводки предыдущих.
- Ставить текстовое представление по умолчанию, а скриншот включать по явному признаку задачи.
- Ограничивать длину ответа инструмента. Инструмент, возвращающий тысячу строк, оплачивается на каждом последующем шаге.
Общий принцип тот же, что и в любом агенте: дорого не думать, дорого таскать за собой историю. Устройство цикла разобрано в статье как сделать ИИ-агента.
Три ошибки, которые видно по счёту
Скриншот на каждом шаге по умолчанию. Самая дорогая из привычек. Агент делает снимок, чтобы «посмотреть, что получилось», хотя результат действия виден в тексте. Картинка при этом остаётся в истории и оплачивается повторно.
Полная страница вместо изменившейся части. После клика меняется одна таблица, а в модель уходит вся страница заново. Лечится отдачей фрагмента по селектору или сводкой «что изменилось».
Бесконечная сессия. Агент работает час, история растёт, и к концу каждый шаг стоит дороже всей первой половины задачи. Одна задача — одна сессия, новая задача начинается с чистого контекста.
Все три ошибки объединяет то, что они не видны в качестве ответов. Агент работает, задачи решаются, а счёт растёт непропорционально объёму работы — и обнаруживается это обычно в конце месяца.
Что даёт права и безопасность
Отдельная сторона выбора представления, о которой редко думают в контексте денег.
Скриншот показывает модели всё, что есть на экране, включая чужие данные в соседних вкладках интерфейса, персональные данные в списках и содержимое уведомлений. Текстовое представление можно отфильтровать: отдать только нужный блок и вырезать остальное до отправки.
Для агента, который работает в вашей админке или в личном кабинете клиента, это важнее экономии. Фильтр на стороне вашего кода — единственный надёжный способ не отправить наружу то, что отправлять нельзя. Общий разбор рисков — в статье нейросети и персональные данные, а про ограничение прав исполнителя — в статье права агента: что разрешать.
Второй момент: инструкции могут прийти со страницы. Текст на сайте, который агент читает, способен содержать указания, адресованные модели. Это отдельный класс атак, и он не зависит от представления — разбирали его в статье промпт-инъекция: как защититься.
Чем это отличается от обычного парсинга
Резонный вопрос: зачем вообще модель, если есть парсер.
Парсер дешевле и точнее на стабильной странице с известной структурой. Он ломается, когда вёрстка меняется, и не понимает смысла: для него «Отправить» и «Продолжить» — разные строки, а не одна и та же кнопка.
Модель дороже и устойчивее к изменениям. Разумная схема — комбинация: парсер достаёт данные там, где структура известна, модель разбирается там, где структура плывёт или требуется понимание.
Практический критерий простой. Если страница ваша или партнёрская и её вёрстка меняется раз в полгода, парсер выигрывает по всем статьям. Если страниц десятки, они чужие и меняются без предупреждения, поддержка парсеров съест больше, чем счёт за модель. Промежуточный вариант, который работает чаще всего: парсер как основной путь и модель как запасной, когда разбор не удался.
Что проверить в своём агенте
Короткая ревизия на полчаса.
Залогируйте входные токены по шагам и посмотрите, что растёт. Обычно растёт история, а не сама задача. Проверьте, сколько раз одна и та же страница попадает в контекст за сессию. Посмотрите, включён ли скриншот по умолчанию и нужен ли он вашей задаче. И убедитесь, что инструменты возвращают выжимку, а не весь вывод.
Как вести журнал запросов, чтобы такие вещи были видны, — в статье логирование запросов к моделям.
Чего мы не утверждаем
Мы не измеряли дерево доступности и не приводим по нему чисел. Измерены разметка и видимый текст одной страницы.
Мы не переносим замер на другие сайты. Отношение зависит от вёрстки: на странице с тяжёлым интерфейсом разрыв больше, на простой статье меньше.
Мы не даём оценку в токенах как точную. Перевод знаков в токены — грубая прикидка, точное число даёт токенизатор конкретной модели.
Что нужно, чтобы посчитать своё
Ключ заводится за минуту на keydealer.ru/login — почта и пароль, без документов и без зарубежной карты. Оплата российской картой в рублях, один ключ на все 53 позиции каталога.
Самый быстрый способ проверить — прогнать одну свою задачу дважды, на разметке и на текстовом представлении, и сравнить usage в ответах. Разница видна на первой же сессии.
Что держать в голове
Выбор представления страницы влияет на счёт сильнее, чем выбор модели: на нашем замере разрыв между разметкой и видимым текстом почти шестикратный.
Сессия дорожает нелинейно, потому что каждый снимок остаётся в истории и переотправляется на каждом шаге.
Скриншот нужен под задачи про внешний вид, а не по умолчанию. Как мы проверяем факты и почему у каждой цифры стоит дата — на странице о проекте. Завести ключ: keydealer.ru/login.
Частые вопросы
Что дешевле отдавать агенту — скриншот или текст страницы?
Текст. На нашем собственном замере страницы каталога разметка занимает 136 904 знака против 23 077 знаков видимого текста, то есть в 5,9 раза больше. Скриншот тарифицируется отдельно как изображение и добавляется к этому сверху.
Что такое дерево доступности?
Структура, которую браузер строит для программ чтения с экрана: роли элементов, их названия и состояния без оформления. Она компактнее разметки и, в отличие от простого текста, сохраняет, что является кнопкой, а что ссылкой.
Когда агенту всё-таки нужен скриншот?
Когда задача про внешний вид: проверить вёрстку, найти элемент, у которого нет текстовой подписи, убедиться, что баннер перекрывает кнопку. Для навигации и заполнения форм картинка не нужна.
Почему длинная сессия с браузером дорожает нелинейно?
Каждый снимок страницы остаётся в истории, а история переотправляется на каждом шаге. Десять шагов по странице среднего размера дают десятки тысяч повторно оплаченных входных токенов.
Как сократить расход браузерного агента?
Отдавать не всю страницу, а нужный фрагмент, убирать из представления навигацию и подвал, не хранить в истории старые снимки и брать скриншот только под задачи про внешний вид.
Сколько это стоит в рублях?
Страница в 45 тысяч входных токенов на позиции за 8 ₽ за миллион стоит 0,36 ₽ за один просмотр. Десять шагов с накоплением истории дают около 20 ₽ за сессию, и это без учёта скриншотов.