Agenti di intelligenza artificiale per dispositivi mobili testati su 65 attività reali.
Abbiamo trascorso 3 giorni a testare le prestazioni di quattro agenti di intelligenza artificiale per dispositivi mobili ( DroidRun, Mobile-Agent, AutoDroid e AppAgent ) su 65 attività reali utilizzando un emulatore Android con applicazioni quali gestione del calendario, creazione di contatti, acquisizione di foto, registrazione audio e operazioni sui file.
Consulta i risultati del benchmark, inclusi il confronto delle prestazioni reali, i costi e i tempi di esecuzione :
Confronto delle prestazioni degli agenti di intelligenza artificiale per dispositivi mobili
DroidRun
Tasso di successo più elevato (43%) con un costo elevato per ogni operazione completata con successo (0,075 $, circa 3.225 token).
DroidRun ha dimostrato le prestazioni migliori con un tasso di successo del 43% su 65 attività. Considerando solo le attività completate con successo da tutti gli agenti, DroidRun ha consumato in media 3.225 token, per un costo di 0,075 dollari per attività.
Questo notevole consumo di risorse riflette l'architettura di ragionamento a più fasi di DroidRun, in cui l'agente mantiene un monitoraggio dettagliato dello stato, genera piani d'azione espliciti e fornisce spiegazioni per ogni decisione. Sebbene dispendioso, questo approccio completo offre il più alto tasso di successo nel benchmark.
Agente mobile
Prestazioni elevate (29%) e costi contenuti (0,025 $, circa 1.130 token)
Mobile-Agent ha raggiunto il secondo tasso di successo più alto, pari al 29%, mantenendo al contempo una ragionevole efficienza in termini di costi. Per le attività che hanno avuto successo in modo comune su tutti gli agenti, Mobile-Agent ha registrato una media di 0,025 dollari e 1.130 token per attività.
Ciò rappresenta circa un terzo del costo per attività di DroidRun, pur raggiungendo circa due terzi del suo tasso di successo, rendendo Mobile-Agent un'opzione interessante per le implementazioni in cui i vincoli di budget sono importanti.
Tuttavia, la differenza di 14 punti percentuali nel tasso di successo suggerisce che le funzionalità di ragionamento aggiuntive di DroidRun offrono un valore significativo per le applicazioni critiche.
AutoDroid
Miglior rapporto costo-efficacia (14% di successo, 0,017 $, circa 765 token) ma efficacia limitata
AutoDroid ha dimostrato il costo più basso per le attività che hanno avuto successo più frequentemente, pari a soli $0,017 e 765 token per attività, risultando l'opzione più economica nel benchmark.
Tuttavia, il suo tasso di successo del 14%, meno della metà delle prestazioni di Mobile-Agent e circa un terzo di quelle di DroidRun, indica che questo vantaggio in termini di costi comporta compromessi significativi in termini di affidabilità.
Nonostante utilizzi un approccio basato sulle azioni simile a quello di DroidRun, il sovraccarico di ragionamento minimo di AutoDroid si traduce in un notevole risparmio sui costi, ma in una capacità limitata di completamento delle attività.
AppAgent
Prestazioni peggiori (7% di successo) con il costo più elevato (0,90 $, circa 2.346 token)
AppAgent ha registrato sia il tasso di successo più basso, pari al 7%, sia il costo più elevato per le attività che solitamente hanno successo, ovvero 0,90 dollari e 2.346 token per attività. Dodici volte più costoso di DroidRun e oltre cinquanta volte più costoso di AutoDroid.
Questo scarso rapporto costi-prestazioni deriva dall'approccio basato sulla visione di AppAgent, che elabora screenshot etichettati tramite LLM multimodali per ogni interazione. Ogni screenshot inviato all'LLM multimodale consuma un numero considerevole di token di input per l'elaborazione delle immagini, mentre le risposte testuali effettive (token di completamento) rimangono relativamente modeste.
Ciò crea una distribuzione dei token fortemente sbilanciata, in cui il sovraccarico dovuto all'elaborazione delle immagini domina i costi senza corrispondenti miglioramenti nel completamento delle attività, poiché l'agente ha difficoltà con i calcoli delle coordinate e l'identificazione degli elementi dell'interfaccia utente sui dispositivi mobili.
Confronto dei tempi di esecuzione degli agenti di intelligenza artificiale mobile
Nell'unico compito che tutti gli agenti hanno completato con successo, AutoDroid è risultato il più veloce con 57 secondi, seguito a ruota da Mobile-Agent con 66 secondi. DroidRun ha completato il compito in 78 secondi, dimostrando che la sua architettura di ragionamento a più fasi consente comunque un'esecuzione efficiente nonostante un maggiore consumo di token.
AppAgent ha mostrato una latenza significativamente più elevata, pari a 180 secondi, a causa del suo approccio basato sulla visione che richiede un'elaborazione estesa degli screenshot tramite LLM multimodali per ogni interazione.
Qui puoi consultare la nostra metodologia di benchmarking.
Panoramica degli agenti di intelligenza artificiale per dispositivi mobili
Il numero di stelle su GitHub cambia rapidamente e aggiorneremo la tabella di conseguenza.
DroidRun
DroidRun è un framework open-source che crea agenti di intelligenza artificiale nativi per dispositivi mobili, in grado di controllare autonomamente app e telefoni. Si tratta di un framework fondamentale che converte le interfacce utente in dati strutturati con cui possono interagire modelli linguistici complessi, consentendo un'automazione avanzata direttamente sui dispositivi mobili.
DroidRun ha rapidamente guadagnato popolarità: oltre 900 sviluppatori si sono iscritti entro 24 ore e il progetto ha raggiunto 3.800 stelle su GitHub, diventando uno dei framework in più rapida crescita per agenti di intelligenza artificiale per dispositivi mobili.
Guardalo in azione:
AutoDroid
AutoDroid è un sistema di automazione delle attività per dispositivi mobili progettato per eseguire attività arbitrarie su qualsiasi app Android senza necessità di configurazione manuale. Sfrutta il ragionamento di senso comune di modelli linguistici complessi come GPT-4 e Vicuña, combinato con un'analisi automatizzata specifica per ogni app.
AutoDroid introduce una rappresentazione dell'interfaccia utente consapevole della funzionalità per connettere le interfacce delle app con i modelli LLM, utilizza l'iniezione di memoria basata sull'esplorazione per insegnare al modello i comportamenti specifici dell'app e include l'ottimizzazione delle query per ridurre i costi di inferenza. Valutato su un benchmark di 158 attività, ha raggiunto un'accuratezza delle azioni del 90,9% e un successo delle attività del 71,3%, superando i modelli di riferimento basati solo su GPT-4. 1
Agente mobile
Il repository GitHub X-PLUG/MobileAgent è l'implementazione ufficiale di Mobile-Agent, un framework di agenti AI progettato per controllare autonomamente le applicazioni mobili percependo e ragionando sulle loro rappresentazioni visive dell'interfaccia utente.
Questo progetto, sviluppato dal gruppo X-PLUG dell'Università di Tsinghua e presentato all'ICLR 2024, mira a spingere i limiti degli agenti mobili attraverso l'apprendimento multimodale, in particolare la percezione visiva e la capacità di seguire le istruzioni. Guarda il video per vederlo in azione.
AppAgent
Il repository GitHub TencentQQGYLab/AppAgent è un progetto di ricerca open-source del QQG Y-Lab di Tencent. Introduce AppAgent, un framework per agenti di intelligenza artificiale mobile progettato per operare e ragionare autonomamente sulle app Android senza la necessità di codice scritto da esseri umani per ogni singola app.
Fonte: AppAgent 2
Caratteristiche degli agenti di IA mobile
Gestione dei comandi orientata agli obiettivi
L'agente determina quali app aprire, quali azioni intraprendere e come sequenziarle. Ad esempio, gli utenti specificano cosa vogliono che venga fatto (ad esempio, "Prenota un passaggio per l'aeroporto"), non i singoli passaggi.
Ragionamento supportato da LLM
Grazie all'utilizzo di modelli linguistici di grandi dimensioni (ad esempio, GPT-4, Claude, Gemini), questi agenti possono:
- Identificare l'intento dell'utente e il contenuto dello schermo
- Generare piani d'azione logici e dettagliati, passo dopo passo.
- Adattarsi ai cambiamenti dinamici dell'interfaccia utente nei diversi stati dell'app
Controllo strutturato e nativo dell'app
Invece di affidarsi allo screen scraping:
- Gli agenti estraggono gerarchie di interfaccia utente strutturate (ad esempio, alberi di pulsanti e campi basati su XML)
- Interagiscono direttamente con gli elementi dell'interfaccia utente, trattandoli come API di prim'ordine.
- Esempio: DroidRun utilizza le API di accessibilità di Android per leggere e interagire con elementi reali dell'interfaccia utente.
Esecuzione del flusso di lavoro tra applicazioni
Gli agenti operano su più applicazioni e flussi di lavoro a più fasi. Possono riprogrammare l'azione se una fase intermedia fallisce. Ad esempio: "Scarica un file da un'email → caricalo sull'unità Google → invia una conferma".
Esecuzione in cloud e su dispositivo per agenti di intelligenza artificiale mobile
Gli agenti di intelligenza artificiale per dispositivi mobili possono essere eseguiti nel cloud, sul dispositivo stesso o utilizzare un approccio ibrido.
Gli agenti basati su cloud si connettono a modelli come GPT-4, Claude o Gemini tramite chiamate API. Ciò consente un ragionamento sofisticato e il completamento di attività in più fasi. Tuttavia, richiede la trasmissione di dati dello schermo e del contesto utente a server esterni, il che solleva preoccupazioni in materia di privacy, in particolare per le applicazioni sensibili. Le prestazioni dipendono anche da una connettività di rete stabile.
Gli agenti on-device eseguono i modelli direttamente sull'hardware mobile, mantenendo tutti i dati in locale. Ciò elimina i rischi di trasmissione e consente la funzionalità offline. Il compromesso è rappresentato dalla capacità limitata dei modelli: le attuali NPU e GPU mobili limitano le dimensioni dei modelli, il che può ridurre la precisione in attività di ragionamento complesse.
Le architetture ibride combinano entrambi gli approcci. I modelli leggeri on-device gestiscono le attività di routine e la classificazione iniziale delle intenzioni, mentre le operazioni complesse vengono instradate ai modelli LLM (Local Level Model) nel cloud. Apple Ligence e Gemini Nano seguono questo schema, elaborando le richieste semplici localmente e inoltrandole quando necessario. L'equilibrio ottimale tra elaborazione locale e cloud continua ad evolversi con il miglioramento dell'hardware AI edge.
Rischi per la sicurezza e la privacy negli agenti di intelligenza artificiale per dispositivi mobili
Gli agenti di intelligenza artificiale per dispositivi mobili leggono il contenuto dello schermo, navigano tra le app ed eseguono azioni, ottenendo un accesso approfondito ai dati sensibili degli utenti. Ciò solleva diverse problematiche:
- Esposizione dei contenuti dello schermo: gli agenti possono trasmettere password, messaggi e dati finanziari ai sistemi LLM cloud per l'elaborazione.
- Fuga di credenziali: i flussi di lavoro di accesso automatico possono esporre involontariamente password e token di autenticazione salvati.
- Conservazione dei dati poco chiara: spesso non è chiaro come vengano archiviati o condivisi i log degli agenti e gli screenshot acquisiti.
- Rischio di iniezione di prompt: i contenuti dannosi dell'app potrebbero manipolare il comportamento dell'agente tramite testo dell'interfaccia utente appositamente creato.
Per affrontare questi rischi è necessario un approccio a più livelli:
- Elaborazione sul dispositivo: l'esecuzione dei modelli in locale riduce la necessità di trasmettere dati sensibili a server esterni.
- Mascheramento dei dati personali: il rilevamento e l'oscuramento automatico delle informazioni personali prima delle chiamate API limitano l'esposizione.
- Limiti di autorizzazione: limitare l'accesso dell'agente a categorie di app sensibili (servizi bancari, salute, messaggistica) impedisce l'accesso non autorizzato ai dati.
- Politiche API trasparenti: la scelta di fornitori con politiche chiare in materia di gestione e conservazione dei dati contribuisce a garantire la conformità.
Metodologia di benchmarking
Abbiamo condotto una valutazione comparativa per valutare le prestazioni di agenti mobili basati sull'intelligenza artificiale e operanti sul sistema operativo Android in attività reali. Abbiamo utilizzato il framework AndroidWorld e testato tutti gli agenti sugli stessi compiti standard.
Framework AndroidWorld
AndroidWorld è una piattaforma di benchmark open-source sviluppata specificamente da Google Research per la valutazione degli agenti mobili. Questa piattaforma mira a misurare le prestazioni degli agenti che operano in applicazioni Android reali attraverso attività standardizzate.
La caratteristica più importante di AndroidWorld è che utilizza applicazioni Android reali anziché ambienti di test artificiali e può valutare automaticamente le prestazioni degli agenti. In questo studio abbiamo utilizzato 65 attività. Queste attività coprono scenari di utilizzo quotidiano dei dispositivi mobili, come la gestione del calendario, l'aggiunta di contatti, la registrazione vocale, lo scatto di foto e le operazioni sui file.
Configurazione dell'ambiente
Configurazione del sistema: Per impostare l'ambiente di benchmark, abbiamo prima installato Android Studio sul sistema operativo Windows 11 e configurato l'emulatore Android ufficiale di Google.
Configurazione del dispositivo virtuale: abbiamo creato un dispositivo virtuale che simula un Pixel 6. Le specifiche di questo dispositivo virtuale sono state impostate come segue: sistema operativo Android 13 (API Level 33), risoluzione 1080×2400, 8 GB di RAM e 20 GB di spazio di archiviazione.
Configurazione dell'emulatore: Per integrare l'emulatore con AndroidWorld, abbiamo configurato la porta gRPC su 8554 poiché AndroidWorld comunica con l'emulatore tramite questa porta.
Configurazione dell'ambiente Python: Per preparare l'ambiente Python, abbiamo creato un nuovo ambiente conda con Python 3.11 utilizzando Miniconda. Dopo aver clonato il repository AndroidWorld da GitHub, abbiamo installato tutte le dipendenze tramite pip. Uno dei passaggi più critici di AndroidWorld è la configurazione dell'emulatore.
Il processo di installazione ha richiesto circa 45-60 minuti. Durante questo processo, AndroidWorld ha installato automaticamente tutte le applicazioni Android da testare sull'emulatore.
Creazione dei dati di stato iniziali : ha creato i dati di stato iniziali per ciascuna applicazione, ad esempio, aggiungendo alcuni eventi all'applicazione del calendario, aggiungendo contatti all'applicazione dei contatti e aggiungendo un podcast chiamato "banana" all'applicazione dei podcast. Ha inoltre salvato delle istantanee per ogni attività, in modo che ciascuna attività possa iniziare da uno stato iniziale pulito.
Integrazioni degli agenti
AutoDroid
Integrazione con AutoDroid: Per integrare AutoDroid, abbiamo prima clonato il repository da GitHub e installato i pacchetti Python necessari. La caratteristica principale di AutoDroid è l'identificazione degli elementi dell'interfaccia utente tramite l'analisi di file XML e il completamento delle attività con un approccio basato sulle azioni.
L'agente assegna un numero di indice a ciascun elemento cliccabile o selezionabile sullo schermo e riceve comandi dal LLM come "tocca(5)" o "testo('ciao')".
Wrapper di AutoDroid: Per l'integrazione con AndroidWorld, abbiamo creato una classe wrapper denominata autodroid_agent.py. Questo wrapper esegue le configurazioni necessarie nel metodo di inizializzazione di AutoDroid, converte l'obiettivo dell'attività proveniente da AndroidWorld in un formato di prompt che AutoDroid può utilizzare e trasforma le azioni generate da AutoDroid in veri e propri comandi ADB utilizzando le funzioni execute_adb_call di AndroidWorld.
Flusso di esecuzione: nel metodo step di AutoDroid, l'agente acquisisce innanzitutto uno screenshot e un dump XML dello schermo, analizza gli elementi dell'interfaccia utente, invia queste informazioni al LLM ed esegue azioni di tocco, scorrimento o input di testo in base alla risposta ricevuta.
DroidRun
Integrazione con DroidRun: Abbiamo seguito un processo di integrazione simile per DroidRun. Dopo aver clonato il repository di DroidRun da GitHub, abbiamo installato le dipendenze specificate in requirements.txt.
La struttura architetturale di DroidRun è più complessa perché presenta un sistema di ragionamento e tracciamento dello stato a più fasi. DroidRun è in grado di spiegare non solo cosa farà in ogni fase, ma anche il perché, e può utilizzare i risultati delle fasi precedenti nella fase successiva.
Wrapper per DroidRun: abbiamo creato il wrapper droidrun_agent.py per l'integrazione con AndroidWorld. La parte più importante di questo wrapper è stata rendere la classe CodeActAgent di DroidRun compatibile con l'interfaccia agente di base di AndroidWorld.
Processo di esecuzione: Quando richiamiamo il metodo execute_task di DroidRun, l'agente esegue una fase di pianificazione delle attività, quindi esegue ogni passaggio e valuta i risultati. Abbiamo adattato questo processo al modello di esecuzione passo passo di AndroidWorld. Abbiamo anche implementato gli strumenti utilizzati da DroidRun (tap_by_index, start_app, list_packages, ecc.) con i comandi ADB di AndroidWorld.
AppAgent
Integrazione di AppAgent: l'integrazione di AppAgent si è distinta dalle altre perché utilizza un approccio basato sulla visione artificiale. Dopo aver clonato il repository di AppAgent, abbiamo integrato i file Python presenti nella cartella "scripts" in AndroidWorld.
Approccio basato sulla visione: il principio di funzionamento di AppAgent è il seguente: innanzitutto, acquisisce uno screenshot dello schermo, quindi calcola i riquadri di delimitazione degli elementi dell'interfaccia utente, disegna questi riquadri sullo screenshot, assegna un numero a ciascuno di essi e invia questo screenshot etichettato a un LLM multimodale. L'LLM determina visivamente quale elemento deve essere cliccato.
Configurazione del wrapper: Il passo più importante nell'integrazione di AppAgent è stato reindirizzare la parte che comunica con il dispositivo Android utilizzando il modulo and_controller.py di AppAgent all'emulatore di AndroidWorld. Nel wrapper appagent_agent.py, abbiamo reimplementato i metodi get_screenshot e get_xml di AppAgent per renderli compatibili con le API di AndroidWorld. Abbiamo anche reso il file model.py di AppAgent, che utilizza il formato API OpenAI, compatibile con l'API OpenRouter.
Agente mobile (M3A)
Integrazione con Mobile-Agent (M3A) : l'integrazione di M3A è stata la più complessa perché si basa interamente sulla visione artificiale e dispone di un sistema di analisi dell'interfaccia utente molto dettagliato. Dopo aver clonato il repository di M3A, abbiamo installato anche il framework di interazione Android Mobile-Env, poiché M3A dipende da questo framework.
Analisi a più fasi: il principio di funzionamento di M3A si basa sulla suddivisione dello schermo in griglie, sull'analisi separata di ciascuna griglia e sulla pianificazione a più fasi. Durante la creazione del wrapper m3a_agent.py, abbiamo dovuto integrare il sistema di gestione degli ambienti di M3A con l'ambiente di AndroidWorld. Normalmente M3A utilizza il proprio Mobile-Env, ma lo abbiamo reindirizzato all'ambiente di AndroidWorld.
Chiamate multiple a LLM: abbiamo osservato che M3A effettua più chiamate a LLM in ogni fase (come pianificazione, selezione dell'azione, verifica) e le abbiamo rese compatibili con i limiti di fasi di AndroidWorld.
Procedura di prova e raccolta dati
Flusso di test: La procedura di test per ciascun agente ha funzionato come segue: Innanzitutto, abbiamo avviato l'emulatore con uno snapshot pulito. Dopo che l'emulatore si è aperto completamente, abbiamo eseguito run.py di AndroidWorld. Abbiamo eseguito 65 attività in sequenza per ciascun agente e abbiamo utilizzato Claude 4.5 Sonnet per tutti gli agenti.
Esecuzione del compito: AndroidWorld ha eseguito automaticamente i seguenti passaggi per ogni compito: caricare lo stato iniziale del compito, avviare l'agente, inviare l'obiettivo del compito all'agente, tracciare i passaggi dell'agente, arrestarsi quando viene raggiunto il numero massimo di passaggi o quando l'agente dice "compito completato" e verificare se il compito è andato a buon fine.
Criteri di successo: il sistema di valutazione delle attività di AndroidWorld include criteri di successo predefiniti. Ad esempio, per l'attività "Aggiungi contatto di nome John Doe", AndroidWorld interroga il database dei contatti per confermare l'avvenuta aggiunta del contatto.
Per le attività del calendario, il sistema verifica nel database se l'evento è stato creato con data, ora, titolo e descrizione corretti. Al termine dell'esecuzione di ogni attività, AndroidWorld ci ha fornito il tempo di esecuzione e lo stato di successo (Vero/Falso). Questi dati sono stati registrati automaticamente e utilizzati per l'analisi.
Raccolta dati: Dopo aver completato l'intero benchmark, abbiamo identificato l'attività che tutti gli agenti hanno portato a termine con successo. Ciascuna di queste attività è stata quindi eseguita 10 volte da ciascun agente e sono stati calcolati il tempo di esecuzione medio, il costo e il consumo di token per ottenere metriche di prestazione più affidabili.
Possibili ragioni alla base delle differenze di prestazioni negli agenti di intelligenza artificiale per dispositivi mobili
Le differenze osservate derivano principalmente dalle scelte architettoniche e dai metodi di interazione.
DroidRun privilegia l'affidabilità attraverso un ragionamento a più fasi, una pianificazione esplicita e il monitoraggio dello stato. Ciò migliora il successo delle attività, ma aumenta l'utilizzo dei token e i costi.
Mobile-Agent coniuga prestazioni ed efficienza. Il suo ragionamento più snello e la comprensione visiva riducono i costi pur mantenendo tassi di successo moderati, rendendolo adatto a casi d'uso in cui il budget è un fattore critico.
AutoDroid si concentra sull'esecuzione basata sulle azioni con un sovraccarico di ragionamento minimo. Ciò si traduce nei costi più bassi e nei tempi di esecuzione più rapidi, ma limita anche la sua capacità di gestire attività complesse o ambigue.
AppAgent si basa fortemente sull'interazione basata sulla visione tramite LLM multimodali. L'elaborazione frequente di screenshot aumenta la latenza e i costi, mentre le difficoltà di coordinamento dell'interfaccia utente riducono il successo delle attività.
FAQ
Gli agenti AI per dispositivi mobili sono sistemi software che interagiscono autonomamente con gli utenti e le applicazioni mobili utilizzando input in linguaggio naturale e ragionamenti orientati agli obiettivi per completare attività per conto degli utenti. A differenza dei tradizionali strumenti di automazione o dei primi assistenti personali, questi agenti sono basati sull'intelligenza artificiale. Alcuni esempi di utilizzo includono:
Automazione del controllo qualità su dispositivi mobili senza script di test
Automatizzare i flussi di lavoro su dispositivi mobili, come il caricamento di documenti d'identità o la modifica delle impostazioni del profilo.
Assistenti basati sull'intelligenza artificiale che gestiscono app per persone con disabilità visive, anziani o chiunque altro.
Attività quotidiane di carattere generale , come la creazione di eventi sul calendario o il completamento delle lezioni di Duolingo.
Sii il primo a commentare
Il tuo indirizzo email non verrà pubblicato. Tutti i campi sono obbligatori.