Gli Agentic Workflows di ML Kit (com.google.mlkit:genai-agent, alpha)
ti consentono di creare esperienze conversazionali on-device autonome e multi-turno
basate su Gemini Nano e sul servizio di sistema Android AICore.
Basata sulla classe GenerativeModel (accesso diretto al modello),
la classe AgentRunner automatizza loop dell'agente completi e orientati agli obiettivi
direttamente all'interno della tua app: osservazione del contesto, ragionamento sugli input utente, azione
tramite strumenti Kotlin tipizzati e valutazione del feedback fino a quando non viene soddisfatta una
condizione di terminazione.
Pattern agentici comuni
Gli Agentic Workflow on-device sono ottimizzati per cicli di ragionamento mirati e deterministici in cui lo user intent viene tradotto in azioni strutturate dell'app. I pattern più comuni includono:
Sequenza |
Esempio |
Esecuzione di azioni in-app e scorciatoie |
Traduzione di richieste in linguaggio naturale in comandi specifici dell'app, come l'applicazione di regolazioni delle foto su un canvas di modifica, la modifica delle impostazioni di riproduzione o l'attivazione/disattivazione delle preferenze dell'app. |
Ricerca strutturata e calcolo locale |
Recupero di un record specifico in base all'ID (ad esempio lo stato dell'ordine o il saldo dell'account) ed esecuzione di calcoli matematici in più passaggi (ad esempio ammortamenti di prestiti o metriche di fitness). |
Filtro e selezione conversazionali |
Eseguire query e perfezionare in modo interattivo gli elementi delle app locali, ad esempio eseguire ricerche in un elenco di attività locali, filtrare una playlist o ordinare gli elementi del catalogo in base ai criteri dell'utente. |
Input guidato in più passaggi |
Guida gli utenti passo passo nell'inserimento dei dati strutturati, convalidando gli input intermedi con strumenti locali prima dell'invio finale. |
Prestazioni e privacy on-device
Gli Agentic Workflows vengono eseguiti su Android AICore per offrire un'esecuzione privata e reattiva direttamente sul dispositivo dell'utente:
- Ragionamento locale e privacy dei prompt: il loop di ragionamento e pianificazione del modello viene eseguito interamente on-device con latenza di rete pari a zero. I dati dei prompt degli utenti rimangono privati sul dispositivo. Tuttavia, i singoli strumenti implementati nella tua app possono comunque effettuare chiamate di rete o eseguire query sulle API Cloud se il tuo caso d'uso richiede dati esterni.
- Sessioni multi-turno gestite: l'interfaccia
AgentSessionmantiene la cronologia delle conversazioni in memoria tra i turni, quindi non devi gestire le trascrizioni manualmente. Puoi recuperare la memoria in qualsiasi momento utilizzando i metodisession.close(),deleteSession(sessionId)oclearAllSessions(). - Limiti di esecuzione: le configurazioni dell'agente applicano un limite massimo di turni (il limite
maxTurns, il cui valore predefinito è 10) come condizione di terminazione delle risorse per evitare loop di esecuzione incontrollati, risparmiare batteria e proteggere la reattività del dispositivo.
Scegli tra generazione personalizzata, agenti e API specifiche per le attività
ML Kit organizza le funzionalità di AI generativa on-device in base al livello di personalizzazione e orchestrazione richiesto dalla tua funzionalità:
- Generazione e agenti personalizzati: lavora direttamente con il modello di base Gemini Nano quando la tua funzionalità richiede istruzioni personalizzate o logica specifica per il dominio. Scegli gli Agentic Workflows (utilizzando la classe
AgentRunner, basata sulla classeGenerativeModel) se vuoi sessioni multi-turn gestite e loop di chiamate degli strumenti automatizzati, oppure scegli l'accesso diretto al modello (utilizzando la classeGenerativeModel) per prompt personalizzati, output strutturato tipizzato o cronologia multi-turn gestita dal client. - Sintesi vocale e audio: utilizza modelli di sintesi vocale e AI generativa dedicati (come il riconoscimento vocale) per trascrivere l'audio parlato in testo.
- Attività di testo e immagini: utilizza tipi di caratteristiche preconfigurati e specifici per l'attività e adattatori LoRA ottimizzati oltre al modello di base condiviso (come Descrizione dell'immagine, Riassunto, Correzione di bozze e Riscrittura) per casi d'uso di visione e scrittura pronti all'uso senza prompt engineering.
La seguente tabella mette a confronto questi approcci:
Considerazione |
Agentic Workflows ( |
Accesso diretto al modello ( |
API per attività di testo e immagini |
Architettura |
Livello di orchestrazione di alto livello basato su |
Interfaccia diretta al modello di base Gemini Nano per prompt personalizzati. |
Tipi di funzionalità specifiche per le attività supportati da adattatori LoRA ottimizzati sul modello di base condiviso. |
Contesto multi-turno |
Sessioni multi-turno gestite ( |
Contesto multi-turn gestito dal client.
|
Chiamate di attività stateless con un singolo input. |
Chiamate agli strumenti e azioni |
Loop di chiamata degli strumenti automatizzato. Rileva le AppFunction Android registrate, esegue le chiamate selezionate dal modello e inserisce automaticamente i risultati nel modello. |
Dichiarazioni degli strumenti gestiti dal client.
|
Non applicabile (pipeline di attività fissa). |
Quando utilizzarle |
Utilizzalo quando vuoi un'orchestrazione automatizzata per l'esecuzione di strumenti in più passaggi e sessioni multi-turn in memoria gestite. |
Utilizzalo per il prompting personalizzato, la comprensione delle immagini multimodali, l'output strutturato digitato ( |
Utilizzalo quando la tua funzionalità corrisponde a un'attività di scrittura o visione standard e vuoi una qualità immediata da LoRA ottimizzati con una configurazione minima. |
Passaggi successivi
- Per configurare il progetto e creare il tuo primo agente, consulta Inizia a utilizzare gli Agentic Workflows.
- Per scoprire come esporre le funzioni in-app all'agente, consulta Definisci gli strumenti.
- Per gestire le sessioni multi-turn e la memoria nei cicli di vita di Android, consulta Gestisci le sessioni e il ciclo di vita.
- Per raccogliere le risposte in streaming e aggiornare la UI, consulta Eventi di streaming e integrazione della UI.