Mit den Agentic Workflows (com.google.mlkit:genai-agent, Alpha) von ML Kit können Sie autonome, mehrstufige On-Device-Konversationsfunktionen erstellen, die auf Gemini Nano und dem Android AICore-Systemdienst basieren.
Die Klasse AgentRunner basiert auf der Klasse GenerativeModel (direkter Modellzugriff) und automatisiert vollständige, zielorientierte Agentenschleifen direkt in Ihrer App: Kontext beobachten, über Nutzereingaben nachdenken, über typisierte Kotlin-Tools agieren und Feedback auswerten, bis eine Beendigungsbedingung erfüllt ist.
Gängige agentische Muster
On-Device-Agentic-Workflows sind für fokussierte, deterministische Reasoning Loops optimiert, bei denen die Nutzerabsicht in strukturierte App-Aktionen übersetzt wird. Zu den gängigen Mustern gehören:
Muster |
Beispiel |
Ausführung von In-App-Aktionen und Kurzbefehle |
Anfragen in natürlicher Sprache in bestimmte App-Befehle übersetzen, z. B. Fotoanpassungen auf einer Bearbeitungsfläche anwenden, Wiedergabeeinstellungen ändern oder App-Einstellungen umschalten. |
Strukturierte Suche und lokale Berechnung |
Abrufen eines bestimmten Datensatzes nach ID (z. B. Bestellstatus oder Kontostand) und Ausführen mehrstufiger mathematischer Berechnungen (z. B. Kreditamortisationen oder Fitnessmesswerte). |
Dialogbasierte Filterung und Kuratierung |
Interaktives Abfragen und Verfeinern lokaler App-Elemente, z. B. Suchen in einer lokalen Aufgabenliste, Filtern einer Playlist oder Sortieren von Katalogelementen nach Nutzerkriterien. |
Geführte mehrstufige Eingabe |
Nutzer Schritt für Schritt durch die strukturierte Dateneingabe führen und Zwischeneingaben mit lokalen Tools vor der endgültigen Einreichung validieren. |
Leistung und Datenschutz auf dem Gerät
Agentic Workflows werden auf Android AICore ausgeführt, um eine private, reaktionsschnelle Ausführung direkt auf dem Gerät des Nutzers zu ermöglichen:
- Lokale Schlussfolgerungen und Datenschutz bei Prompts: Die Schlussfolgerungs- und Planungsschleife des Modells wird vollständig auf dem Gerät ausgeführt, ohne Netzwerklatenz. Die Prompt-Daten der Nutzer bleiben auf dem Gerät. Einzelne in Ihrer Anwendung implementierte Tools können jedoch weiterhin Netzwerkaufrufe ausführen oder Cloud APIs abfragen, wenn Ihr Anwendungsfall externe Daten erfordert.
- Verwaltete Multi-Turn-Sitzungen: Die
AgentSession-Schnittstelle speichert den Unterhaltungsverlauf im Arbeitsspeicher über mehrere Turns hinweg, sodass Sie Transkripte nicht manuell verwalten müssen. Sie können Speicher jederzeit mit den Methodensession.close(),deleteSession(sessionId)oderclearAllSessions()freigeben. - Ausführungsschutz: Agentenkonfigurationen erzwingen ein maximales Limit für die Anzahl der Turns (das
maxTurns-Limit, standardmäßig 10) als Bedingung für die Beendigung von Ressourcen, um unkontrollierte Ausführungsschleifen zu verhindern, den Akku zu schonen und die Reaktionsfähigkeit des Geräts zu schützen.
Wählen Sie zwischen benutzerdefinierter Generierung, KI-Agenten und aufgabenspezifischen APIs
Das ML Kit organisiert die On-Device-Funktionen für generative KI danach, wie viel Anpassung und Orchestrierung Ihre Funktion erfordert:
- Benutzerdefinierte Generierung und Agenten: Arbeiten Sie direkt mit dem Foundation Model Gemini Nano, wenn Ihre Funktion benutzerdefinierte Anweisungen oder domänenspezifische Logik erfordert. Wählen Sie Agentic Workflows (mit der Klasse
AgentRunner, die auf der KlasseGenerativeModelbasiert), wenn Sie verwaltete Multi-Turn-Sitzungen und automatisierte Toolaufrufschleifen benötigen. Wählen Sie direkten Modellzugriff (mit der KlasseGenerativeModel) für benutzerdefinierte Prompts, typisierte strukturierte Ausgaben oder einen vom Client verwalteten Multi-Turn-Verlauf. - Sprache und Audio: Verwenden Sie dedizierte Sprach- und GenAI-Modelle (z. B. Spracherkennung), um gesprochene Audioinhalte in Text zu transkribieren.
- Text- und Bildaufgaben: Verwenden Sie vorkonfigurierte, aufgabenspezifische Featuretypen und optimierte LoRA-Adapter zusätzlich zum freigegebenen Basismodell (z. B. Bildbeschreibung, Zusammenfassung, Korrekturlesen und Umschreiben) für schlüsselfertige Vision- und Schreibanwendungsfälle ohne Prompt Engineering.
In der folgenden Tabelle werden diese Ansätze verglichen:
Kaufbereitschaft |
Agentische Workflows ( |
Direkter Modellzugriff ( |
Task APIs für Text und Bild |
Architektur |
Allgemeine Orchestrierungsebene, die auf |
Direkte Schnittstelle zum Gemini Nano-Foundation-Model für benutzerdefinierte Prompts. |
Aufgabenspezifische Featuretypen, die auf feinabgestimmten LoRA-Adaptern basieren, die auf dem freigegebenen Basismodell aufbauen. |
Multi-Turn-Kontext |
Verwaltete Multi-Turn-Sitzungen ( |
Vom Client verwalteter Multi-Turn-Kontext.
|
Zustandslose Aufgabenaufrufe mit einer Eingabe. |
Toolaufrufe und Aktionen |
Automatisierte Toolaufrufschleife Erkennt registrierte Android-AppFunctions, führt vom Modell ausgewählte Aufrufe aus und gibt die Ergebnisse automatisch an das Modell zurück. |
Vom Client verwaltete Tooldeklarationen.
|
Nicht zutreffend (feste Aufgabenpipeline). |
Anwendung |
Verwenden Sie diese Option, wenn Sie eine automatisierte Orchestrierung für die mehrstufige Toolausführung und verwaltete In-Memory-Sitzungen mit mehreren Interaktionen benötigen. |
Verwenden Sie diese Option für benutzerdefinierte Prompts, multimodales Bildverständnis, typisierte strukturierte Ausgabe ( |
Verwenden Sie diese Option, wenn Ihre Funktion einer Standardaufgabe zum Schreiben oder Sehen entspricht und Sie mit minimalem Einrichtungsaufwand eine sofort einsatzbereite Qualität von optimierten LoRAs erhalten möchten. |
Nächste Schritte
- Informationen zum Einrichten Ihres Projekts und zum Erstellen Ihres ersten KI-Agenten finden Sie unter Erste Schritte mit agentischen Workflows.
- Informationen dazu, wie Sie dem Agenten In-App-Funktionen zur Verfügung stellen, finden Sie unter Tools definieren.
- Informationen zum Verwalten von Multi-Turn-Sitzungen und gemerkten Informationen über Android-Lebenszyklen hinweg finden Sie unter Sitzungen und Lebenszyklus verwalten.
- Informationen zum Erfassen von Streamingantworten und zum Aktualisieren der Benutzeroberfläche finden Sie unter Streamingereignisse und Integration der Benutzeroberfläche.