Agentische Workflows mit Gemini Nano erstellen

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 Methoden session.close(), deleteSession(sessionId) oder clearAllSessions() 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 Klasse GenerativeModel basiert), wenn Sie verwaltete Multi-Turn-Sitzungen und automatisierte Toolaufrufschleifen benötigen. Wählen Sie direkten Modellzugriff (mit der Klasse GenerativeModel) 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 (AgentRunner)

Direkter Modellzugriff (GenerativeModel)

Task APIs für Text und Bild

Architektur

Allgemeine Orchestrierungsebene, die auf GenerativeModel basiert.

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 (AgentSession). Der Unterhaltungsverlauf wird automatisch im Arbeitsspeicher über mehrere Turns hinweg gespeichert, sodass Sie Transkripte nicht manuell verwalten müssen. Auch die kurzlebige Single-Turn-Ausführung wird unterstützt.

Vom Client verwalteter Multi-Turn-Kontext. GenerateContentRequest unterstützt Multi-Turn-List<Content> (Rollen USER und MODEL) und sessionId für Entwickler, die ihren eigenen Chatverlauf direkt verwalten möchten.

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. GenerateContentRequest akzeptiert Toolschemas und gibt Funktionsaufrufanfragen aus, die Ihre Anwendung ausführen und manuell zurückgeben kann.

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 (@Generable) oder wenn Sie Ihren Chatverlauf oder die Toolverteilung direkt verwalten möchten.

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