Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
В начале года мы уже стали свидетелями того, как AutoGPT, а затем GPT Engineer демонстрировали, что приложения на GPT способны совместно писать код и решать сложные задачи. Следующий этап — это автоматическое взаимодействие с приложениями с помощью голоса.
Сегодня мы рассмотрим свежую работу исследователей из Tencent, которые сделали прототип ассистента AppAgent для мобильных приложений. Этот ассистент способен учиться взаимодействовать с любыми приложениями, обеспечивая доступ к ним через голосовой интерфейс без необходимости интеграции с API или изменения пользовательского интерфейса. Теперь достаточно сказать: “Эй, банк, переведи 300 рублей Васе за обед на карту Сбера”, и AppAgent самостоятельно откроет ваше любимое банковское приложение, найдет друга и переведет ему деньги. Конечно, возможно пока приложение учится оно отправит не 300, а 3000 рублей и не Васе, а Пете, но прогресс не остановить и такое упрощение работы с девайсами наше будущее. Кстати, в статье утверждается, что на этапе прототипа уже достигнута точность (success rate) порядка 95%.
Добро пожаловать под КАТ за подробностями.
Подробнее о технологии
В проекте "AppAgent: Multimodal Agents as Smartphone Users" используется распознавание изображений через мультимодальную модель GPT-4V от OpenAI. То что умный ассистент не привязан к определенным API является его главным отличием от Siri и Алисы. Во время фазы исследования (exploration phase), агент самостоятельно исследует приложение, пытаясь понять его функции и интерфейс. Параллельно, наблюдая за демонстрациями (watching demos), ассистент изучает типичные паттерны использования приложения людьми, что позволяет ему быстрее и эффективнее адаптироваться к новым задачам. Эти этапы, вместе взятые, формируют систему обучения, позволяющую AppAgent с высокой долей вероятности успешно выполнять задачи в различных приложениях.
Как это работает?
Приложение получает скриншоты интерфейса приложения и XML-файл с описанием интерактивных элементов других приложений(например, Youtube или Gmail на скриншоте выше). Каждому элементу присваивается уникальный идентификатор, что позволяет агенту точно взаимодействовать с ними, не определяя точные координаты на экране. Пространство действий включает общие человеческие взаимодействия с смартфонами: тапы, долгие нажатия, свайпы и ввод текста. Подобные решения уже существуют для написания автотестов на Selenium/Appium: GPT-4V может определить положение элементов на экране и при помощи естественного языка сделать клик или заполнить форму данными.
Этап исследования
В этой фазе агент учится функциональности и особенностям приложений через метод проб и ошибок. Он взаимодействует с элементами пользовательского интерфейса, используя различные действия и наблюдая за изменениями в интерфейсе приложения, чтобы понять, как оно работает. Этот прототип, работает на свежей модели GPT-4 Vision от OpenAI. При помощи анализа изображений приложение пытается выяснить функции элементов интерфейса и эффекты конкретных действий, анализируя скриншоты до и после каждого действия. Эта информация компилируется в документ, который записывает эффекты действий, применяемых к различным элементам. Альтернативный и часто более эффективный метод исследования включает наблюдение за работой человека с разными приложениями. Эти демонстрации предоставляют AppAgent примеры эффективного использования приложений, особенно для понимания сложных функций, которые могут быть сложно обнаружить через автономные взаимодействия.
Фаза развертывания
После этапа исследования ассистент подготовлен для выполнения сложных задач на основе своего накопленного опыта. Агент следует пошаговому подходу при выполнении задачи, на каждом шаге получая доступ к скриншоту текущего пользовательского интерфейса и динамически созданному документу, детализирующему функции элементов UI и эффекты действий на текущей странице UI. В каждом шаге агент сначала делает свои наблюдения текущего UI, затем артикулирует свой процесс мышления, касающийся задачи и текущих наблюдений. Затем выполняет действия, вызывая доступные функции. После каждого действия AppAgent резюмирует историю взаимодействия и действия, предпринятые в текущем шаге. Эта информация попадает в следующий запрос, таким образом реализован аналог "памяти" агента. Такой подход повышает надежность и интерпретируемость действий ассистента, тем самым облегчая обоснованное принятие решений. Фаза развертывания останавливается, когда агент определяет, что задача выполнена, после чего он может завершить процесс.
Это уже можно использовать на моем Android?
Нет, это пока прототип.
Текущая скорость ассистента зависит от производительности модели OpenAI, обучение и поддержка приложений происходит не по запросу и потребует отладки и тестирования, так как перед тем как запустить такого ассистента на банковском приложении необходимо пройти этап наладки на сотнях angry birds и фоторедакторах. И конечно, при изменении интерфейса приложений придется переучиваться и обновлять документ приложения. Что же делать бедному ассистенту, когда наш любимый маркетплейс заваливает неожиданными всплывашками с промо-акциями тоже вопрос пока открыт.
Что будет дальше?
Главная вывод данной работы - это направление развития новых интерфейсов в привычных нам смартфонах. Авторы сделали прототип на 10 приложений (Google Maps, Twitter, Telegram, YouTube, Spotify, Yelp, Gmail, TEMU, Clock, и Lightroom) и всего 50 задач, но мы уже сейчас видим новые возможности интеграции мультимодальных моделей и для создания таких интеграций миллионы долларов уже не нужны, а требуется лишь небольшая группа исследователей.
Ждем больше подобных проектов в 2024 году и, возможно, первые официальные релизы с поддержкой широкого класса приложений. Уже есть много фундаментальных моделей, и они продолжают совершенствоваться, затем ассистенты вроде Салют, Алиса, или Сири получают больше продвинутых навыков. Далее следует этап интеграции с другими приложениями, когда ассистенты начнут взаимодействовать с приложениями по всей системе. Некий суперапп на весь Андроид. Многие оценили удобство ChatGPT с поддержкой голосового интерфейса в новом релизе. Скоро помощники достигнут уровня живых личных ассистентов. Это позволит переложить на них значительную часть рутинной работы, делая нашу жизнь более удобной и эффективной. И, конечно, мы достигаем нового уровня лени: еще вчера мы сами играли в игры, теперь мы смотрим, как другие играют на Twitch, и завтра мы попросим ассистента самого прокачать нашего персонажа до 80 уровня, пока мы работаем днем (ах да, такие стартапы уже есть сейчас).
Если бы завтра вышел такой ассистент для вашего телефона, какими приложениями вы хотели бы управлять в первую очередь?