УДК: 004.8+004.89+004.93 | MSC2020: 68T50+68T01
Интеллектуальный агент Vision Task Agent, выполняющий задания, представленные на изображении
Савчук Д.Ю.
Научный руководитель: Анафиев А.С., к.ф.-м.н., доцент
Крымский федеральный университет им. В. И. Вернадского, РФ
Аннотация
Савчук Д.Ю. Интеллектуальный агент Vision Task Agent, выполняющий задания, представленные на изображении. Представлена архитектура интеллектуального агента Vision Task Agent, предназначенного для выполнения заданий, представленных на изображении пользовательского интерфейса. Актуальность задачи обусловлена необходимостью автоматизации взаимодействия с визуальными элементами интерфейса на основе текстовых инструкций. Предложенный агент использует алгоритмы компьютерного зрения для детекции элементов интерфейса и извлечения текстовой информации с помощью OCR. Полученное описание передаётся языковой модели, которая интерпретирует инструкции и генерирует последовательность действий в формализованном виде. Рассматриваются ключевые компоненты системы, включая модуль анализа интерфейса, описание среды и систему выполнения действий. Разработка может найти применение в задачах автоматизации UI-тестирования, помощи пользователям и построении интеллектуальных систем взаимодействия с интерфейсами.
Ключевые слова: обработка интерфейса, интеллектуальный агент, компьютерное зрение, OCR, автоматизация, языковые модели.
Savchuk D. Yu. Intelligent Agent Vision Task Agent, Performing Tasks Presented in the Image. Abstract. This paper presents the architecture of an intelligent agent called Vision Task Agent, designed to execute tasks based on visual input from user interface screenshots. The relevance of the problem lies in the growing need for automation in interacting with visual elements based on textual instructions. The proposed agent employs computer vision algorithms to detect UI elements and uses OCR to extract textual information. The resulting description is passed to a language model that interprets the instructions and generates a sequence of actions in a formalized format. The paper discusses the key components of the system, including the interface analysis module, environment representation, and the action execution system. The proposed solution can be applied in UI testing automation, user assistance, and the development of intelligent systems for interface interaction.
Keywords: user interface processing, intelligent agent, computer vision, OCR, automation, language models.
Введение
Развитие интеллектуальных агентов – одна из ключевых тенденций в современной информационной технологии. Цифровые помощники не просто обрабатывают команды, но способны понимать контекст, обучаться на собственном опыте и выполнять сложные задачи. От голосовых ассистентов до промышленных роботов – интеллектуальные агенты становятся неотъемлемой частью нашего взаимодействия с технологиями.
Однако большинство существующих решений ограничены строго заданными сценариями и структурированными входными данными. Когда речь заходит о взаимодействии с визуальной информацией – например, с пользовательским интерфейсом на изображении – традиционные методы сталкиваются с рядом серьёзных ограничений. Интерфейсы могут быть разными, инструкции – непредсказуемыми, а элементы управления – не подписанными явно.
В то же время, повседневная практика требует от интеллектуальных систем умения действовать в условиях визуального восприятия. Представьте, что человек показывает агенту снимок экрана и говорит: «Нажми на красную кнопку». Чтобы выполнить это задание, агент должен не только «увидеть» кнопку, но и понять смысл инструкции. Такая задача требует объединения нескольких областей – компьютерного зрения, обработки естественного языка и систем планирования действий.
Рассмотрим прототип Vision Task Agent – интеллектуального агента, способного выполнять задания, представленные на изображениях пользовательского интерфейса. Агент анализирует изображение, формирует описание среды и, основываясь на текстовой инструкции, найденной в сформулированном описании среды, генерирует последовательность действий для взаимодействия с интерфейсом. Предлагаемый подход лежит на пересечении нескольких современных направлений искусственного интеллекта и открывает перспективы для построения систем нового поколения: более универсальных, гибких и человекоподобных в своем поведении.
1. Постановка задачи
Представим ситуацию: на экране пользователя отображается форма авторизации, а рядом приведена инструкция: «Авторизуйтесь в свой аккаунт». Для человека такое задание не представляет трудностей – он легко определит, какие элементы интерфейса соответствуют инструкции, и выполнит требуемые действия. Однако для интеллектуального агента это уже задача повышенной сложности.
Цель работы заключается в разработке агента, способного выполнять визуальные инструкции, опираясь только на изображение пользовательского интерфейса. Это предполагает наличие у системы способности:
- анализировать изображение и выделять отдельные элементы интерфейса;
- распознавать текст, содержащийся в этих элементах;
- интерпретировать инструкцию на естественном языке;
- соотносить текст задания с конкретными визуальными элементами;
- формировать и выполнять последовательность из ограниченного набора действий.
Основная сложность задачи заключается в отсутствии структурированных входных данных. Интерфейс представлен исключительно в виде изображения – без DOM-структуры, CSS-меток или логической иерархии. Инструкция при этом так же нужно вытаскивать из изображения. Таким образом, агенту требуется объединить возможности компьютерного зрения, оптического распознавания текста (OCR) и задачу естественной обработки языка, чтобы определить задачу и составить алгоритм ее решения.
Дополнительно стоит отметить несколько тонких моментов:
- Инструкция может быть неполной или двусмысленной (например, «Нажмите кнопку» – не указывая, какую именно, или без явного указания инструкции, как при принятии куки).
- Для сложных задач будут длинные инструкции и скорее всего с несколькими запросами на описание интерфейса и запрос к LLM, что потребует передавать в контексте информацию о предыдущих действиях и состояниях.
- Возможны ошибки OCR или перекрытия элементов, что требует устойчивости модели к шуму.
Таким образом, разработка Vision Task Agent требует интеграции нескольких технологий и предполагает работу в условиях высокой неопределённости, что делает задачу научно и практически значимой.
2. Архитектура решения
Разработка Vision Task Agent основана на модульной архитектуре, каждый компонент которой отвечает за отдельный этап обработки задачи – от восприятия визуальной сцены до принятия решения о действиях. На рис. 1 представлено общее описание ключевых компонентов системы.
Рисунок 1 – Текущая блок-схема работы интеллектуального агента
Общий принцип работы. На вход агент получает изображение пользовательского интерфейса (скриншот). На выходе агент должен сгенерировать и выполнить последовательность действий в строго определённом формате:
Этап 1: Анализ изображения интерфейса. На первом этапе будем использовать модель для детекции объектов на изображении YOLOv11 [1], обученную на датасете веб-элементов [6]. На специализированном веб-сайте был найден подходящий датасет средне-низкого качества, что позволило модели обучиться лишь до значения mAP50-95 в 0.427. Тем не менее, модель хорошо справляется со своей задачей.
После этого каждая найденная область передаётся в OCR-модуль EasyOCR [2], чтобы извлечь текстовое содержимое элемента. Вместе с тем вычисляется доминирующий цвет для каждого блока, и переводится из формата RGB в текстовое описание, что позволяет модели иметь представление и о цвете каждого элемента.
На выходе формируется описание интерфейса в виде списка объектов со следующими параметрами:
- id – уникальный идентификатор;
- bbox – координаты элемента;
- text – извлечённый текст;
- class – тип элемента;
- color_rgb – доминирующий цвет элемента.
Рисунок 2 – Пример работы модели детекции веб-интерфейса
После извлечения данных обо всех обнаруженных элементах, сохраняем их в формате json, т. к. это простая и понятная для LLM структура данных. Пример описания:
Этап 2: Интерпретация инструкции. В языковую модель (используем QWEN2.5:7b [3]) подается промпт с описанием задачи, существующими возможностями и ограничениями совмество с описанием интерфейса в JSON формате. LLM анализирует инструкцию и в качестве ответа выдает алгоритм действий в формате JSON, и так же краткое описание поставленной задачи и значимости каждого действия для ее решения. Такой подход позволяет языковой модели самой определять для себя задачу и генерировать алгоритм для ее решения. Требование описывать задачу и значимость действий повышает качество выдачи модели.
Следуя примерам из [4], написан промпт:
Этап 3: Генерация и выполнение действий. LLM выдает алгоритм действий в виде списка команд. Пример результата:
Рисунок 3 – Пример работы агента детекции веб-интерфейса
Выполнение команд происходит при помощи библиотеки PyAutoGUI, которая позволяет управлять курсором, кликами и вводом текста. Так же потенциально можно выполнение команд в симулированной среде с целью дообучения LLM под задачу, используя алгоритмы обучения с подкреплением.
Возможные улучшения. Архитектура спроектирована с расчётом на масштабируемость и эволюцию. Одним из ключевых направлений развития является переход от классического пайплайна OCR + LLM к использованию Vision-Language Models (VLM), способных воспринимать визуальную сцену и текстовые задания в едином контексте. Это открывает целый ряд перспектив:
- Более точное сопоставление визуальных элементов и инструкций. VLM позволяют передавать как изображение интерфейса, так и формулировку задания напрямую, без промежуточной формализации. Это снижает вероятность ошибок на этапе OCR, улучшает устойчивость к нестандартным интерфейсам и ускоряет процесс принятия решений.
- Поддержка reasoning над интерфейсом. Современные VLM (например, LLaVA, MiniGPT-4) способны выполнять простейший логический вывод, объясняя, почему выбирается тот или иной элемент. Это особенно важно при неочевидных инструкциях или неоднозначностях: «Нажмите на нужную кнопку», «Выберите правильный вариант» и т. п.
- Интеграция с retrieval-системами. Расширение архитектуры с помощью retrieval-augmented generation (RAG) [5] может существенно повысить гибкость агента. Например, если агент не уверен в значении конкретного элемента или в том, как работает данный тип формы и в целом как работают веб-сайты, он может сделать запрос в базу знаний об интерфейсах – и принять решение на основе дополнительной информации.
- Контекст с учётом предыдущих шагов. VLM проще дополнить поддержкой «памяти» – передавать в контекст историю предыдущих действий, вид интерфейса до и после, что даёт агенту возможность планировать действия в несколько шагов вперёд.
- Перераспределение задач внутри пайплайна. В текущей реализации большая часть смысловой нагрузки ложится на LLM: она должна не только интерпретировать интерфейс, но и выделять из инструкции ключевые действия. В будущем эти этапы могут быть разделены.
Таким образом, интеграция VLM и вспомогательных моделей (retrievers, memories) может существенно повысить гибкость, устойчивость и «интеллектуальность» агента, приближая его к поведению реального пользователя. Текущая же реализация Vision Task Agent представляет собой гибкую систему, объединяющую CV, OCR и LLM в едином рабочем процессе. Агент способен автономно решать решать простые задачи, которые еще пару лет назад мог решать только человек.
Заключение
Предложенная архитектура демонстрирует жизнеспособность идеи создания интеллектуального агента, способного выполнять задания, представленные на изображении, используя связку YOLO + OCR для извлечения структуры интерфейса и LLM для интерпретации инструкций и принятия решений. Таким образом, получено корректное выполнение простых заданий на типичных веб-интерфейсах.
Тем не менее, с увеличением сложности интерфейсов появляются ограничения. При большом количестве элементов, отсутствии явных связей между инструкцией и визуальными компонентами, а также при нестандартных представлениях элементов, LLM (в текущей реализации) начинает испытывать трудности в восприятии и генерации корректных действий. Сложное текстовое описание сцены, составленное на основе распознанных блоков, может терять важный контекст или перегружать языковую модель информацией.
Кроме того, связка YOLO + OCR обеспечивает хорошее описание лишь на уровне текста, геометрии и цвета. Такие данные недостаточны для понимания семантики элементов, особенно в динамических и стилистически насыщенных интерфейсах. Решение этих проблем видится в переходе к Vision-Language Models, способным обрабатывать визуально-текстовый контекст как единое целое. Такие модели не только повысят устойчивость агента к визуальному разнообразию, но и откроют возможности интеграции знаний об интерфейсах, использования памяти и поиска дополнительной информации.
Таким образом, дальнейшее развитие системы предполагает постепенный переход от «разделённой» архитектуры (где каждый компонент отвечает за отдельный этап) к более «гибридной» и когнитивно мощной архитектуре, способной воспринимать интерфейс и инструкции ближе к тому, как это делает человек.
Список литературы
- Ultralytics. YOLOv11: Real-time Object Detection [Электронный ресурс]. – Режим доступа: https://github.com/ultralytics/ultralytics (дата обращения: 05.04.2025).
- Jaided AI. EasyOCR: Ready-to-use OCR with 80+ Languages Supported [Электронный ресурс]. – Режим доступа: https://github.com/JaidedAI/EasyOCR (дата обращения: 01.04.2025).
- Alibaba DAMO Academy. Qwen2.5: Open Multilingual Large Language Models [Электронный ресурс]. – Режим доступа: https://huggingface.co/Qwen (дата обращения: 03.04.2025).
- Хантер Н. The Art of Prompt Engineering with ChatGPT: Hands-on Guide to Crafting Effective Prompts. - 2023: Independently published, 2023. - 206 с.
- Lewis, P., et al. Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks [Электронный ресурс]. – Режим доступа: https://arxiv.org/abs/2005.11401 (дата обращения: 02.04.2025).
- Датасет веб-интерфейсов [Электронный ресурс]. – Режим доступа: https://universe.roboflow.com/diploma2025/all_elements-ldx8v (дата обращения: 25.03.2025).