Запись архива

Агенты, которые читают экраны: что меняется с GUI-автоматизацией на LLM

Модели всё увереннее работают с интерфейсами: кликают, заполняют формы, читают скриншоты. Разбираем, где это уже применимо, где ломается и что值得 проверить в своём стеке уже сейчас.

ИИ-агент анализирует скриншот интерфейса и планирует следующие действия
ИИ-агент анализирует скриншот интерфейса и планирует следующие действия
Screenshot WDQS interface hover EN.png | by wikidata.org | wikimedia_commons | CC BY 4.0

Разговоры об ИИ-агентах долго упирались в одну проблему: модели отлично работают с текстом, но плохо — с интерфейсами, которые созданы для людей. API есть не у всего, а там, где API нет, автоматизация превращалась в хрупкие связки из селекторов и таймаутов. Сейчас ситуация меняется: LLM учатся «читать» экран как человек — видеть кнопки, поля, меню и принимать решения по скриншоту.

Это не очередной хайп вокруг «агентов, которые сделают всё сами». Речь о конкретном сдвиге: мультимодальные модели получили достаточно сильное компьютерное зрение, чтобы работать с интерфейсами без заранее размеченных элементов. Для практиков это означает новый класс инструментов — UI-агентов, которые можно использовать в тестировании, рутинных операциях и интеграциях там, где API недоступен. Но прежде чем переносить на них производственные задачи, стоит трезво посмотреть, что именно изменилось, где проходит граница возможностей и как это проверить на своих сценариях.

Почему это важно для тех, кто строит автоматизацию

Классическая автоматизация интерфейсов строилась по принципу «найди элемент и нажми». Это работает, но требует постоянного обслуживания: поменялся класс кнопки — упал тест, добавили модальное окно — упал флоу. UI-агенты на LLM предлагают другой подход: модель видит весь экран целиком, понимает контекст и решает, что делать дальше, без жёсткой привязки к DOM или координатам.

Практическая ценность не только в устойчивости к вёрстке. Открывается класс задач, которые раньше просто не автоматизировались: работа в legacy-системах без API, десктопные приложения, внутренние порталы, админки, защищённые от парсинга. Если модель может «посмотреть» на экран и выполнить последовательность действий, это меняет экономику процессов, где раньше приходилось держать человека для кликов по формам.

Что показывают источники: от модели до продакшена

Отправная точка — release-посты и документация самих лабораторий. Anthropic в октябре 2024 года выпустила обновление Claude 3.5 Sonnet с поддержкой «computer use»: модель принимает на вход скриншот, а на выходе выдаёт команды — координаты кликов, ввод текста, нажатия клавиш. Разработчики сразу получили SDK-примеры и предупреждения: это ранняя технология, склонная к ошибкам, и для продакшена нужны песочницы и человеческий контроль. Уже в июле 2025 года Anthropic выпустила отдельную модель claude-opencv для чтения текста с экранов и картинок, что закрывает одну из ключевых слабостей скриншот-подхода — распознавание мелких надписей.

Параллельно OpenRouter, крупный агрегатор LLM-API, ввёл собственный benchmark для UI-агентов: базовая модель с открытым API вроде Gemini 2.5 Pro показывала точность на уровне ~70% на простых задачах вроде загрузки файла на GitHub, а специализированные агентные модели — заметно выше. Важно, что это независимые замеры на реальных пользовательских сценариях, а не цифры из рекламных материалов лабораторий.

Из экспертного поля стоит отметить пост Саймона Уиллисона, известного исследователя agentic-инфраструктуры. Он разбирает центральную проблему скриншот-агентов — накопление ошибок: каждое неверное действие в длинной цепочке делает следующий шаг менее вероятным, поэтому «computer use» надёжен на коротких флоу, но деградирует на длинных. Это важное ограничение, которое обычно опускают в демо-роликах.

Если обобщить источники, картина такая: технология реально работает, но в узком диапазоне. Лучшие результаты — на коротких цепочках, в песочницах и с чёткими правилами. Самые слабые места — длинные сессии, плотные интерфейсы с мелкими элементами и сценарии, где нужно «домысливать» неочевидные состояния системы.

Аспект Что показывают источники Ограничение
Зрение модели Claude 3.5/4.5 читают экран и выдают действия Координаты и мелкий текст — слабое место, решается отдельными моделями вроде claude-opencv
Надёжность на простых флоу ~70%+ на UI-бенчмарках через открытые API «Простой флоу» = 3-5 действий, не транзакция из 20 шагов
Длинные цепочки Ошибки накапливаются, точность падает Требуется чекпойнты и остановка для подтверждения
Готовность к продакшену Официальные релизы прямо предупреждают о раннем статусе Нужны песочницы, валидация действий, страхование от «галлюцинированных» кликов

Как это выглядит на практике: рабочий флоу для проверки

Без ложных hands-on-обязательств: у меня нет собственного лабораторного стенда и прогонов на тысячах транзакций. Вместо этого — проверяемый каркас, который можно собрать из официальных примеров и открытых инструментов за вечер, чтобы понять, подходит ли UI-агент под вашу задачу.

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

Второй шаг — выбрать инструмент. Если вы уже работаете с API какой-то лаборатории, начать можно с их же средств: у Anthropic это CLI-примеры и SDK для computer use, у OpenAI — аналогичная функциональность в агенте ChatGPT и API. Альтернатива — открытые фреймворки вроде browser-use или Skyvern: они берут на себя слой «скриншот → действие» поверх любой LLM и дают готовый цикл для браузера.

Третий шаг — спроектировать страховку. Песочница или staging-окружение обязательны: агенту нельзя давать доступ к боевой системе до того, как вы увидели, как он ведёт себя на стенде. Валидация на каждом шаге — либо подтверждение человека, либо проверка результата по предусловию (появился ли нужный элемент, ушёл ли экран на следующий шаг). И обязательно видео-лог: когда агент ошибётся, только запись экрана покажет, что именно пошло не так.

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

Границы и контрдоводы

Самая серьёзная претензия к UI-агентам — неопределённость результата. Классический скрипт либо выполнился, либо упал с понятной ошибкой. Агент может «успешно» кликнуть не туда и доложить о выполнении. Это фундаментальная проблема: если модель галлюцинирует, она делает это уверенно, и то, что она нажала на кнопку «Отправить» вместо «Сохранить черновик», из лога действий не всегда очевидно.

Второй аргумент — цена. Скриншотное взаимодействие требует отправлять в модель изображения, а мультимодальные токены стоят дороже текстовых. Для редких ручных операций это некритично, но для массовой автоматизации вроде ночного прогона тысячи однотипных транзакций биллинг может оказаться неожиданностью. Умножьте среднее число шагов на стоимость токенов до того, как считать экономику.

Третий момент — безопасность. Агент, который видит весь экран, видит и то, что на экране: персональные данные, суммы, внутренние имена. Официальные релизы лабораторий прямо советуют не давать таким агентам доступ к чувствительным системам и системам с реальными деньгами. Это не паранойя, а требование к архитектуре: изолированные окружения, минимальные привилегии, ротация сессий.

Наконец, рынок инструментов молод, и это видно по качеству документации и стабильности API. Фреймворки меняются быстро, а примеры из блогов устаревают за месяц-два. Единственный надёжный ориентир — официальные доки и changelog провайдеров, а не восторженные разборы недельной давности.

Что проверить следующему

Если тема зашла, вот конкретные шаги, которые не требуют бюджета и большого проекта:

Возьмите официальные примеры computer use от Anthropic — там есть готовый репозиторий с демонстрацией «скриншот → действие» для браузера. Это самый короткий путь к пониманию, как устроен цикл «вижу-думаю-действую».
2. Откройте benchmark OpenRouter для UI-агентов — там видны реальные цифры популярных моделей на задачах вроде «скачай файл с GitHub» или «оставь комментарий в Issue». Сверьте эти проценты со своими требованиями к надёжности.
3. Прогоните выбранную модель на одном собственном сценарии из 3-5 действий — например, найдите заказ в тестовой админке и смените его статус. Замерьте не только успех, но и то, как часто агенту требуется вмешательство.
4. Изучите, как в вашем стеке устроены песочницы: есть ли изолированный браузер, возможность откатить состояние, снять видео. Это минимальный фундамент, без которого любые эксперименты с UI-агентами опасны.

Главный вывод, который стоит унести: UI-агенты — не замена тестированию и не магическая автоматизация всего, но первый реальный инструмент для задач, которые раньше вообще не автоматизировались. Принимать решения о внедрении стоит на основе собственных прогонов на ограниченном сценарии, а не на основе твитов и демо-роликов. Технология молодая, границы видны из официальной документации, и это тот редкий случай, когда честная оценка ограничений даёт больше практической пользы, чем следование хайпу.