Les workflows agentiques de ML Kit (com.google.mlkit:genai-agent, alpha) vous permettent de créer des expériences conversationnelles autonomes et multitours sur l'appareil, optimisées par Gemini Nano et le service système Android AICore.
Basée sur la classe GenerativeModel (accès direct au modèle), la classe AgentRunner automatise des boucles d'agent complètes et axées sur des objectifs directement dans votre application : observation du contexte, raisonnement sur les entrées utilisateur, action via des outils Kotlin typés et évaluation des commentaires jusqu'à ce qu'une condition d'arrêt soit remplie.
Modèles agentiques courants
Les workflows agentiques sur l'appareil sont optimisés pour des boucles de raisonnement ciblées et déterministes, où l'intention utilisateur est traduite en actions d'application structurées. Voici quelques modèles courants :
Schéma |
Exemple |
Exécution d'actions dans l'application et raccourcis |
Traduire des requêtes en langage naturel en commandes d'application spécifiques, comme appliquer des ajustements photo sur un canevas de retouche, modifier les paramètres de lecture ou activer/désactiver les préférences de l'application. |
Recherche structurée et calcul local |
Récupérer un enregistrement spécifique par ID (comme l'état d'une commande ou le solde d'un compte) et effectuer des calculs mathématiques en plusieurs étapes (comme l'amortissement d'un prêt ou des métriques de remise en forme). |
Filtrage et sélection conversationnels |
Interroger et affiner de manière interactive des éléments d'application locaux, par exemple en effectuant une recherche dans une liste de tâches locale, en filtrant une playlist ou en triant des éléments de catalogue en fonction de critères utilisateur. |
Saisie guidée en plusieurs étapes |
Guider les utilisateurs étape par étape dans la saisie de données structurées, en validant les entrées intermédiaires avec des outils locaux avant l'envoi final. |
Performances et confidentialité sur l'appareil
Les workflows agentiques s'exécutent sur Android AICore pour offrir une exécution privée et réactive directement sur l'appareil de l'utilisateur :
- Raisonnement local et confidentialité des requêtes : la boucle de raisonnement et de planification du modèle s'exécute entièrement sur l'appareil, sans aucune latence réseau. Les données des requêtes utilisateur restent privées sur l'appareil. Toutefois, les outils individuels implémentés dans votre application peuvent toujours effectuer des appels réseau ou interroger des API cloud si votre cas d'utilisation nécessite des données externes.
- Sessions multitours gérées : l'interface
AgentSessionconserve l'historique des conversations en mémoire d'un tour à l'autre. Vous n'avez donc pas besoin de gérer les transcriptions manuellement. Vous pouvez récupérer de la mémoire à tout moment à l'aide des méthodessession.close(),deleteSession(sessionId)ouclearAllSessions(). - Limites d'exécution : les configurations de l'agent appliquent une limite maximale de tours (la limite
maxTurns, définie par défaut sur 10) en tant que condition d'arrêt des ressources pour éviter les boucles d'exécution incontrôlées, économiser la batterie et protéger la réactivité de l'appareil.
Choisissez entre la génération personnalisée, les agents et les API spécifiques à une tâche
ML Kit organise les fonctionnalités d'IA générative sur l'appareil en fonction du niveau de personnalisation et d'orchestration dont votre fonctionnalité a besoin :
- Génération et agents personnalisés : travaillez directement avec le modèle de fondation Gemini Nano lorsque votre fonctionnalité nécessite des instructions personnalisées ou une logique spécifique au domaine. Choisissez les workflows agentiques (à l'aide de la classe
AgentRunner, basée sur la classeGenerativeModel) lorsque vous souhaitez des sessions multitours gérées et des boucles d'appel d'outils automatisées, ou choisissez l'accès direct au modèle (à l'aide de la classeGenerativeModel) pour des requêtes personnalisées, une sortie structurée typée ou un historique multitour géré par le client. - Parole et audio : utilisez des modèles de reconnaissance vocale et d'IA générative dédiés (comme la reconnaissance vocale) pour transcrire l'audio parlé en texte.
- Tâches de texte et d'image : utilisez des types de caractéristiques préconfigurés et spécifiques aux tâches, ainsi que des adaptateurs LoRA affinés en plus du modèle de base partagé (comme Description de l'image, Résumé, Relecture et Réécriture) pour des cas d'utilisation de vision et d'écriture clés en main sans prompt engineering.
Le tableau suivant compare ces approches :
Décision d'achat |
Workflows agentifs ( |
Accès direct au modèle ( |
API de tâches de texte et d'image |
Architecture |
Couche d'orchestration de haut niveau basée sur |
Interface directe avec le modèle de fondation Gemini Nano pour les requêtes personnalisées. |
Types de caractéristiques spécifiques à une tâche, basés sur des adaptateurs LoRA affinés en plus du modèle de base partagé. |
Contexte multitour |
Sessions multitours gérées ( |
Contexte multitour géré par le client.
|
Appels de tâches sans état à entrée unique. |
Appel d'outils et actions |
Boucle d'appel d'outils automatisée Découvre les AppFunctions Android enregistrées, exécute les appels sélectionnés par le modèle et renvoie automatiquement les résultats au modèle. |
Déclarations d'outils gérés par le client.
|
Non applicable (pipeline de tâches fixe). |
Quand les utiliser ? |
Utilisez-le lorsque vous souhaitez une orchestration automatisée pour l'exécution d'outils en plusieurs étapes et des sessions multitours gérées en mémoire. |
Utilisez-le pour le prompting personnalisé, la compréhension d'images multimodales, la sortie structurée typée ( |
Utilisez cette option lorsque votre fonctionnalité correspond à une tâche d'écriture ou de vision standard et que vous souhaitez obtenir une qualité prête à l'emploi à partir de LoRA réglés avec une configuration minimale. |
Étapes suivantes
- Pour configurer votre projet et créer votre premier agent, consultez Premiers pas avec les workflows agentiques.
- Pour savoir comment exposer des fonctions intégrées à l'application à l'agent, consultez Définir des outils.
- Pour savoir comment gérer les sessions multitours et la mémoire tout au long des cycles de vie Android, consultez Gérer les sessions et le cycle de vie.
- Pour collecter les réponses en streaming et mettre à jour votre UI, consultez Événements de flux et intégration de l'UI.