Фреймворк DroidTool учит ИИ-ассистентов Android автоматически создавать инструменты для работы с приложениями
Корейские исследователи представили фреймворк DroidTool, который позволяет ИИ-агентам на Android автоматически генерировать программные «инструменты» для взаимодействия с приложениями, повышая эффективность на 4,5% при сокращении числа действий на 20%.
ИИ-агенты, которые умеют не только нажимать кнопки на экране, но и обращаться к внутренним данным приложений через API, работают быстрее и точнее — но создание таких инструментов вручную отнимает слишком много времени. DroidTool решает эту проблему, позволяя агенту генерировать нужные инструменты самостоятельно.
Проблема: ИИ-агенты тупо тыкают в экран
Современные ИИ-агенты для Android умеют выполнять задачи от имени пользователя — отправлять сообщения, искать информацию, настраивать параметры. Подавляющее большинство таких агентов работают исключительно через графический интерфейс: «смотрят» на экран, находят нужную кнопку и нажимают её. Это как если бы человек управлял смартфоном с завязанными глазами, имея доступ только к мышке.
Такой подход рабочий, но неэффективный. Чтобы, например, узнать текущий баланс в банковском приложении, агенту через GUI может понадобиться пять-шесть действий: открыть приложение, дождаться загрузки, найти нужный раздел, нажать, прочитать данные. Альтернатива — обратиться напрямую к базе данных приложения или API одной командой.
Идея «гибридного действия» — совмещения GUI-манипуляций и программных вызовов — не нова. Но у неё есть узкое место: кто будет писать эти программные инструменты? Для каждого приложения, для каждого сценария нужна своя функция, и ручная разработка отнимает колоссальные усилия.
Решение: агент создаёт инструменты сам
Исследователи из Кореи (Juyong Lee, Woogyeol Jin, Kimin Lee) предложили фреймворк DroidTool, который автоматизирует этот процесс. Суть проста: ИИ-агент сам генерирует Python-функции, которые работают с внутренним состоянием приложений — базами данных, настройками, кешем.
Процесс состоит из четырёх этапов:
- Предложение — агент анализирует приложение и предлагает, какой инструмент было бы полезно создать.
- Реализация — генерируется Python-код функции.
- Тестирование — автоматически создаются и запускаются тесты, причём не изолированно для каждой функции, а с учётом связей между инструментами. Это позволяет проверять корректность работы в реалистичных условиях.
- Исправление — если тесты не проходят, агент дорабатывает код.
Последний пункт особенно важен. Вместо того чтобы надеяться, что сгенерированный код работает, DroidTool выстраивает «реляционные тесты» — проверяет инструменты в связке, как они будут использоваться на практике. Это повышает надёжность результатов.
Результаты: +4,5% точности, −20% действий
Авторы протестировали агентов с инструментами DroidTool на трёх признанных бенчмарках: AndroidWorld, B-MoCA и MobileSafetyBench. Средние результаты:
- Производительность выросла примерно на 4,47 процентных пункта по сравнению с агентами, работающими только через GUI.
- Количество взаимодействий с устройством сократилось на ~20%.
Вторая цифра — не менее важная, чем первая. Меньше действий означает не только скорость, но и снижение риска ошибок: чем больше шагов выполняет агент, тем выше вероятность, что на каком-то из них он «сбится с пути».
Контекст и оговорки
Стоит отметить несколько моментов.
Во-первых, это академическая работа, опубликованная на arXiv. Она не прошла рецензирование в журнале, и воспроизводимость результатов пока не подтверждена независимо.
Во-вторых, прирост в 4,5% — существенный для исследовательской области, но для конечного пользователя разница может быть неочевидна. На практике это означает, что агент чуть чаще correctly выполняет задачу и делает это чуть быстрее.
В-третьих, авторы признают, что гибридное пространство действий для Android-агентов остаётся «малоизученным». DroidTool — это шаг в правильном направлении, но не готовое решение для потребительских продуктов. Фреймворк работает с Python-функциями и требует доступа к внутренним данным приложений, что в реальных условиях может быть ограничено политиками безопасности Android.
Тем не менее, сам подход — когда ИИ не просто имитирует нажатия пальцем, а учится «под капот» приложений — выглядит перспективным. В мире, где голосовые ассистенты и агентные системы становятся всё более популярными, умение работать на уровне данных, а не только интерфейса, может стать серьёзным конкурентным преимуществом.