Dieses Dokument bietet eine Anleitung zur Auswahl von Architekturkomponenten für Ihre agentenbasierten KI-Anwendungen in Google Cloud. Darin wird beschrieben, wie Sie die Merkmale Ihrer Anwendung und Arbeitslast bewerten, um ein geeignetes Produkt oder einen geeigneten Dienst auszuwählen, das bzw. der Ihren Anforderungen am besten entspricht. Der Prozess zum Entwerfen einer agentenbasierten KI-Architektur ist iterativ. Sie sollten Ihre Architektur regelmäßig neu bewerten, wenn sich die Merkmale Ihrer Arbeitslast ändern, wenn sich Ihre Anforderungen weiterentwickeln oder wenn neue Google Cloud Produkte und ‑Funktionen verfügbar werden.
KI-Agents eignen sich für Anwendungen, die offene Probleme lösen, die möglicherweise eine autonome Entscheidungsfindung und ein komplexes mehrstufiges Workflow-Management erfordern. Agents eignen sich hervorragend, um Probleme in Echtzeit mithilfe externer Daten zu lösen und wissensintensive Aufgaben zu automatisieren. Mit diesen Funktionen können Kundenservicemitarbeiter mehr geschäftlichen Mehrwert bieten als mit den unterstützenden und generativen Funktionen eines KI-Modells.
Sie können KI-Agents für deterministische Probleme mit vordefinierten Schritten verwenden. Andere Ansätze können jedoch effizienter und kostengünstiger sein. Für Aufgaben wie das Zusammenfassen eines Dokuments, das Übersetzen von Text oder das Klassifizieren von Kundenfeedback ist beispielsweise kein Agentic-Workflow erforderlich.
Informationen zu alternativen KI-Lösungen ohne Agent finden Sie in den folgenden Ressourcen:
- Was ist der Unterschied zwischen KI-Agenten, KI-Assistenten und Bots?
- Modelle und Infrastruktur für Ihre generative KI-Anwendung auswählen
Übersicht über die Agent-Architektur
Ein Agent ist eine Anwendung, die ein Ziel erreicht, indem sie Eingaben verarbeitet, mit verfügbaren Tools Reasoning durchführt und auf Grundlage ihrer Entscheidungen Aktionen ausführt. Ein Agent verwendet ein KI-Modell als zentrale Reasoning Engine, um komplexe Aufgaben zu automatisieren. Der Agent verwendet eine Reihe von Tools, mit denen das KI-Modell mit externen Systemen und Datenquellen interagieren kann. Ein Agent kann ein Speichersystem verwenden, um den Kontext beizubehalten und aus Interaktionen zu lernen. Ziel einer Agentenarchitektur ist es, ein autonomes System zu schaffen, das die Absicht eines Nutzers verstehen, einen mehrstufigen Plan erstellen und diesen Plan mithilfe der verfügbaren Tools ausführen kann.
Das folgende Diagramm bietet einen allgemeinen Überblick über die Architekturkomponenten eines Agentensystems:
Die Architektur des Agentensystems umfasst die folgenden Komponenten:
- Frontend-Framework: Eine Sammlung von vorgefertigten Komponenten, Bibliotheken und Tools, mit denen Sie die Benutzeroberfläche für Ihre Anwendung erstellen.
- Framework für die Entwicklung von Agents: Die Frameworks und Bibliotheken, die Sie zum Erstellen und Strukturieren der Logik Ihres Agents verwenden.
- Agent-Tools: Die Sammlung von Tools wie APIs, Diensten und Funktionen, mit denen Daten abgerufen und Aktionen oder Transaktionen ausgeführt werden.
- Arbeitsspeicher des Agents: Das System, das Ihr Agent zum Speichern und Abrufen von Informationen verwendet.
- Agent-Designmuster: Gängige Architekturansätze zum Strukturieren Ihrer agentischen Anwendung.
- Agent-Laufzeit: Die Rechenumgebung, in der die Anwendungslogik Ihres Agenten ausgeführt wird.
- KI-Modelle: Die zentrale Reasoning Engine, die die Entscheidungsfindung Ihres KI-Agents ermöglicht.
- Modell-Laufzeit: Die Infrastruktur, auf der Ihr KI-Modell gehostet und bereitgestellt wird.
In den folgenden Abschnitten finden Sie eine detaillierte Analyse der Komponenten, die Ihnen bei der Entscheidung helfen soll, wie Sie Ihre Architektur erstellen. Die von Ihnen ausgewählten Komponenten wirken sich auf die Leistung, Skalierbarkeit, Kosten und Sicherheit Ihres Agents aus. In diesem Dokument werden die wichtigsten Architekturkomponenten beschrieben, die Sie zum Erstellen und Bereitstellen der grundlegenden Logik für die Schlussfolgerung und Ausführung eines Agents verwenden. Themen wie verantwortungsbewusste KI-Sicherheitsframeworks und die Verwaltung der Agentenidentität werden in diesem Dokument nicht behandelt.
Frontend-Framework
Das Frontend-Framework ist eine Sammlung von vorgefertigten Komponenten, Bibliotheken und Tools, mit denen Sie die Benutzeroberfläche für Ihre Agent-Anwendung erstellen. Das von Ihnen ausgewählte Frontend-Framework definiert die Anforderungen an Ihr Backend. Für eine einfache Schnittstelle für eine interne Demo ist möglicherweise nur eine synchrone HTTP-API erforderlich, während für eine Produktionsanwendung ein Backend erforderlich ist, das Streamingprotokolle und eine robuste Statusverwaltung unterstützt.
Es gibt folgende Kategorien von Frameworks:
- Frameworks für Prototyping und interne Tools: Für die schnelle Entwicklung, interne Demos und Proof-of-Concept-Anwendungen sollten Sie Frameworks auswählen, bei denen die Entwicklerfreundlichkeit und Geschwindigkeit im Vordergrund stehen. Diese Frameworks bevorzugen in der Regel ein einfaches und synchrones Modell, das als Anfrage-Antwort-Modell bezeichnet wird. Mit einem Anfrage-/Antwort-Modell können Sie eine funktionale Benutzeroberfläche mit minimalem Code und einem einfacheren Backend als bei einem Produktionsframework erstellen. Dieser Ansatz eignet sich ideal, um die Agent-Logik und die Tool-Integrationen schnell zu testen. Er ist jedoch möglicherweise nicht für hochgradig skalierbare, öffentliche Anwendungen geeignet, die Echtzeitinteraktionen erfordern. Zu den gängigen Frameworks in dieser Kategorie gehören Mesop und Gradio.
- Produktionsframeworks: Wenn Sie skalierbare, responsive und funktionsreiche Anwendungen für externe Nutzer entwickeln möchten, sollten Sie ein Framework auswählen, das benutzerdefinierte Komponenten ermöglicht. Diese Frameworks erfordern eine Backend-Architektur, die eine moderne Nutzererfahrung unterstützt. Ein Produktionsframework sollte Unterstützung für Streamingprotokolle, ein zustandsloses API-Design und ein robustes, externalisiertes Speichersystem zur Verwaltung des Unterhaltungsstatus über mehrere Nutzersitzungen hinweg umfassen. Zu den gängigen Frameworks für Produktionsanwendungen gehören Streamlit, React und das Flutter AI Toolkit.
Mit dem AG-UI-Protokoll (Agent–User Interaction) können Sie die Kommunikation zwischen diesen Frameworks und Ihrem KI-Agenten verwalten. AG-UI ist ein offenes Protokoll, mit dem Backend-KI-Agents mit Ihrem Frontend-Framework interagieren können. AG-UI teilt dem Frontend-Framework mit, wann die Antwort des Agent gerendert, der Anwendungsstatus aktualisiert oder eine clientseitige Aktion ausgelöst werden soll. Um interaktive KI-Anwendungen zu erstellen, kombinieren Sie AG-UI mit dem Agent Development Kit (ADK). Informationen zum ADK finden Sie im nächsten Abschnitt „Frameworks für die Entwicklung von Agents“.
Frameworks für die Entwicklung von KI-Agenten
Frameworks für die Entwicklung von Agenten sind Bibliotheken, die das Erstellen, Testen und Bereitstellen von agentischen KI-Anwendungen vereinfachen. Diese Entwicklungstools bieten vorgefertigte Komponenten und Abstraktionen für die wichtigsten Agent-Funktionen, darunter Reasoning Loops, Speicher und Tool-Integration.
Um die Entwicklung von Agenten in Google Cloudzu beschleunigen, empfehlen wir die Verwendung des ADK. Das ADK ist ein Open-Source-, meinungsstarkes und modulares Framework, das eine hohe Abstraktionsebene für das Erstellen und Orchestrieren von Workflows bietet, von einfachen Aufgaben bis hin zu komplexen Multi-Agent-Systemen.
Das ADK ist für Gemini-Modelle und Google Cloudoptimiert, wurde aber für die Kompatibilität mit anderen Frameworks entwickelt. Das ADK unterstützt andere KI-Modelle und ‑Runtimes, sodass Sie es mit jedem Modell oder jeder Bereitstellungsmethode verwenden können. Bei Multi-Agent-Systemen unterstützt das ADK die Interaktion über gemeinsame Sitzungsstatus, die modellgesteuerte Weiterleitung zum Weiterleiten von Aufgaben zwischen Agents und den expliziten Aufruf, mit dem ein Agent einen anderen Agent als Funktion oder Tool aufrufen kann.
Damit Sie schnell loslegen können, bietet das ADK Codebeispiele in Python, Java und Go, die eine Vielzahl von Anwendungsfällen in verschiedenen Branchen veranschaulichen. Viele dieser Beispiele konzentrieren sich auf Konversationsabläufe, aber das ADK eignet sich auch gut für die Entwicklung autonomer Agents, die Backend-Aufgaben ausführen. Wählen Sie für diese nicht interaktiven Anwendungsfälle ein Agent-Designmuster aus, das sich durch die Verarbeitung einer einzelnen, in sich geschlossenen Anfrage auszeichnet und eine robuste Fehlerbehandlung implementiert.
Sie können zwar auch ein Allzweck-KI-Framework wie Genkit verwenden, wir empfehlen jedoch, das ADK zu nutzen. Genkit bietet Primitiven, mit denen Sie Ihre eigene Agent-Architektur entwickeln können. Ein spezielles Agent-Framework wie das ADK bietet jedoch spezialisiertere Tools.
Agententools
Die Fähigkeit eines Agenten, über Tools mit externen Systemen zu interagieren, bestimmt seine Effektivität. Agent-Tools sind Funktionen oder APIs, die dem KI-Modell zur Verfügung stehen und die der Agent verwendet, um die Ausgabe zu optimieren und die Automatisierung von Aufgaben zu ermöglichen. Wenn Sie einen KI-Agenten mit externen Systemen verbinden, verwandeln Tools den Agenten von einem einfachen Textgenerator in ein System, das komplexe, mehrstufige Aufgaben automatisieren kann.
Wählen Sie eines der folgenden Muster für die Tool-Nutzung aus, um Tool-Interaktionen zu aktivieren:
| Anwendungsfall | Nutzungsmuster des Tools |
|---|---|
| Sie müssen eine gängige Aufgabe wie eine Websuche, eine Berechnung oder die Ausführung von Code ausführen und möchten die erste Entwicklungsphase beschleunigen. | Integrierte Tools |
| Sie möchten ein modulares System oder ein System mit mehreren KI-Agenten erstellen, das interoperable und wiederverwendbare Tools erfordert. | Model Context Protocol (MCP) |
| Sie müssen eine große Anzahl von API-basierten Tools auf Unternehmensniveau verwalten, schützen und überwachen. | API-Verwaltungsplattform |
| Sie müssen eine bestimmte interne oder Drittanbieter-API einbinden, für die kein MCP-Server vorhanden ist. | Tools für benutzerdefinierte Funktionen |
Wenn Sie Tools für Ihren Agent auswählen, sollten Sie sie anhand ihrer funktionalen Fähigkeiten und ihrer betrieblichen Zuverlässigkeit bewerten. Priorisieren Sie Tools, die beobachtbar und einfach zu debuggen sind und eine robuste Fehlerbehandlung bieten. Diese Funktionen helfen Ihnen, Aktionen nachzuvollziehen und Fehler schnell zu beheben. Bewerten Sie außerdem, ob der KI-Agent das richtige Tool auswählen kann, um die ihm zugewiesenen Aufgaben erfolgreich zu erledigen.
Integrierte Tools
Das ADK bietet mehrere integrierte Tools, die direkt in die Laufzeit des Agents eingebunden sind. Sie können diese Tools als Funktionen aufrufen, ohne externe Kommunikationsprotokolle konfigurieren zu müssen. Diese Tools bieten gängige Funktionen, darunter den Zugriff auf Echtzeitinformationen aus dem Web, die programmatische Ausführung von Code in einer sicheren Umgebung, das Abrufen von Informationen aus privaten Unternehmensdaten zur Implementierung von RAG und die Interaktion mit strukturierten Daten in Cloud-Datenbanken. Die integrierten Tools funktionieren zusammen mit allen benutzerdefinierten Tools, die Sie erstellen.
MCP
Damit die Komponenten Ihres Agent-Systems interagieren können, müssen Sie klare Kommunikationsprotokolle festlegen. MCP ist ein offenes Protokoll, das eine standardisierte Schnittstelle für Agents bietet, um auf die erforderlichen Tools, Daten und andere Dienste zuzugreifen und sie zu verwenden.
MCP entkoppelt die grundlegende Logik des Agents von der spezifischen Implementierung seiner Tools. Das ist vergleichbar damit, wie ein Standard-Hardwareanschluss es ermöglicht, verschiedene Peripheriegeräte mit einem Gerät zu verbinden. MCP vereinfacht die Tool-Integration, da es eine wachsende Liste mit vorgefertigten Connectors und eine einheitliche Methode zum Erstellen benutzerdefinierter Integrationen bietet. Die Flexibilität bei der Integration von Tools fördert die Interoperabilität zwischen verschiedenen Modellen und Tools.
Sie können eine Verbindung zu einem Remote-MCP-Server herstellen, sofern einer verfügbar ist, oder Ihren eigenen MCP-Server hosten. Wenn Sie Ihren eigenen MCP-Server hosten, haben Sie die volle Kontrolle darüber, wie Sie proprietäre oder Drittanbieter-APIs für Ihre Agents bereitstellen. Wenn Sie Ihren eigenen benutzerdefinierten MCP-Server hosten möchten, stellen Sie ihn als containerisierte Anwendung in Cloud Run oder GKE bereit.
API-Verwaltungsplattform
Eine API-Verwaltungsplattform ist ein zentralisiertes System, mit dem Sie interne oder externe Dienste über APIs sichern, überwachen und steuern können. Eine API-Verwaltungsplattform bietet einen zentralen Ort, an dem Sie alle APIs Ihrer Organisation katalogisieren, die Bereitstellung von Daten vereinfachen und die Nutzung überwachen können.
Wenn Sie die API-basierten Tools Ihres Agents im großen Maßstab auf Google Cloudverwalten möchten, empfehlen wir die Verwendung von Apigee API Hub. Über den API-Hub können Kundenservicemitarbeiter sofort eine Verbindung zu Daten herstellen. Dazu können sie direkte HTTP-Aufrufe, vorgefertigte Connectors, benutzerdefinierte APIs, die im Hub registriert sind, oder den direkten Zugriff auf Google Cloud Datenquellen nutzen. So haben Ihre Kundenservicemitarbeiter sofort Zugriff auf die benötigten Informationen, ohne dass Sie benutzerdefinierte Pipelines zum Laden und Integrieren von Daten erstellen müssen.
Eine API-Verwaltungsplattform und ein Kommunikationsprotokoll wie MCP lösen unterschiedliche Architekturprobleme. Ein Kommunikationsprotokoll standardisiert das Interaktionsformat zwischen dem Agenten und dem Tool. So wird sichergestellt, dass Komponenten wiederverwendet und ausgetauscht werden können. Im Gegensatz dazu verwaltet eine API-Verwaltungsplattform den Lebenszyklus und die Sicherheit des API-Endpunkt und übernimmt Aufgaben wie Authentifizierung, Ratenbegrenzung und Monitoring. Diese Muster ergänzen sich. Ein Agent kann beispielsweise MCP verwenden, um mit einem Tool zu kommunizieren. Dieses Tool kann wiederum ein sicherer API-Endpunkt sein, der von API Hub verwaltet und geschützt wird.
Tool für benutzerdefinierte Funktionen
Ein Funktionstool bietet einem Agenten neue Möglichkeiten. Sie können ein benutzerdefiniertes Funktionstool schreiben, um Ihrem Agenten spezielle Funktionen zu geben, z. B. die Integration in eine externe API oder ein proprietäres Geschäftssystem. Das Schreiben eines benutzerdefinierten Funktionstools ist das gängigste Verfahren, um die Fähigkeiten eines KI-Agenten über die Möglichkeiten der integrierten Tools hinaus zu erweitern.
Um ein benutzerdefiniertes Funktionstool zu erstellen, schreiben Sie eine Funktion in Ihrer bevorzugten Programmiersprache und geben dann eine klare Beschreibung in natürlicher Sprache für den Zweck, die Parameter und die Rückgabewerte an. Das Modell des Agents verwendet diese Beschreibung, um zu entscheiden, wann das Tool benötigt wird, welche Eingaben erforderlich sind und wie die Ausgabe interpretiert werden muss, um die Anfrage eines Nutzers zu bearbeiten.
Sie können auch ein benutzerdefiniertes Funktionstool erstellen, das eine Agent-as-a-Tool-Funktion implementiert. Eine Agent-as-a-Tool-Funktion macht einen Agent als aufrufbare Funktion verfügbar, die von einem anderen Agent aufgerufen werden kann. Mit dieser Technik können Sie komplexe Multi-Agent-Systeme erstellen, in denen ein Agent spezialisierte Aufgaben koordinieren und an andere spezialisierte Agents delegieren kann. Weitere Informationen zu Agent-Designmustern und zur Koordination der Multi-Agent-Orchestrierung finden Sie weiter unten in diesem Dokument im Abschnitt Agent-Designmuster.
Arbeitsspeicher des Agents
Die Fähigkeit eines Agents, sich an frühere Interaktionen zu erinnern, ist von grundlegender Bedeutung, um eine kohärente und nützliche Konversationsumgebung zu bieten. Wenn Sie zustandsbehaftete, kontextsensitive Agents erstellen möchten, müssen Sie Mechanismen für das Kurzzeit- und Langzeitgedächtnis implementieren. In den folgenden Abschnitten werden die Designentscheidungen und Google Cloud-Dienste erläutert, die Sie verwenden können, um sowohl das Kurzzeit- als auch das Langzeitgedächtnis für Ihren Agent zu implementieren.
Kurzzeitgedächtnis
Das Kurzzeitgedächtnis ermöglicht es einem Agenten, den Kontext in einer einzelnen, laufenden Unterhaltung beizubehalten. Wenn Sie das Kurzzeitgedächtnis implementieren möchten, müssen Sie sowohl die Sitzung als auch den zugehörigen Status verwalten.
- Sitzung: Eine Sitzung ist der Unterhaltungsstrang zwischen einem Nutzer und dem Agent, von der ersten Interaktion bis zum Ende des Dialogs.
- Status: Der Status umfasst die Daten, die der Agent in einer bestimmten Sitzung verwendet und erhebt. Zu den erfassten Statusdaten gehören der Verlauf der Nachrichten, die der Nutzer und der Agent ausgetauscht haben, die Ergebnisse von Tool-Aufrufen und andere Variablen, die der Agent benötigt, um den Kontext der Unterhaltung zu verstehen.
Im Folgenden finden Sie Optionen für die Implementierung des Kurzzeitgedächtnisses mit dem ADK:
- In-Memory-Speicher: Für die Entwicklung, das Testen oder einfache Anwendungen, die auf einer einzelnen Instanz ausgeführt werden, können Sie den Sitzungsstatus direkt im Speicher Ihrer Anwendung speichern. Der Agent verwendet eine Datenstruktur, z. B. ein Dictionary oder ein Objekt, um eine Liste von Schlüssel/Wert-Paaren zu speichern. Diese Werte werden während der Sitzung aktualisiert. Wenn Sie jedoch den In-Memory-Speicher verwenden, ist der Sitzungsstatus nicht persistent. Wenn die Anwendung neu gestartet wird, geht der gesamte Unterhaltungsverlauf verloren.
- Externe Statusverwaltung: Für Produktionsanwendungen, die Skalierbarkeit und Zuverlässigkeit erfordern, empfehlen wir, eine zustandslose Agent-Anwendung zu erstellen und den Sitzungsstatus in einem externen Speicherdienst zu verwalten. In dieser Architektur wird bei jeder Anfrage an die Agent-Anwendung der aktuelle Unterhaltungsstatus aus dem externen Speicher abgerufen, der neue Turn verarbeitet und der aktualisierte Status wieder im Speicher gespeichert. Dieses Design ermöglicht es Ihnen, Ihre Anwendung horizontal zu skalieren, da jede Instanz die Anfrage eines beliebigen Nutzers bearbeiten kann. Gängige Optionen für die externe Statusverwaltung sind Memorystore for Redis, Firestore oder Vertex AI Agent Engine-Sitzungen.
Langzeitgedächtnis
Langzeitgedächtnis: Der KI-Agent hat eine dauerhafte Wissensdatenbank, die für alle Unterhaltungen für einzelne Nutzer verfügbar ist. Mit dem Langzeitgedächtnis kann der Agent externe Informationen abrufen und verwenden, aus vergangenen Interaktionen lernen und genauere und relevantere Antworten liefern.
Im Folgenden finden Sie Optionen zum Implementieren des Langzeitgedächtnisses mit dem ADK:
- Speicherinterner Speicher: Für die Entwicklung und das Testen können Sie den Sitzungsstatus direkt im Speicher Ihrer Anwendung speichern. Dieser Ansatz ist einfach zu implementieren, aber nicht dauerhaft. Wenn die Anwendung neu gestartet wird, geht der Unterhaltungsverlauf verloren. Normalerweise implementieren Sie dieses Muster mit einem In-Memory-Anbieter in einem Entwicklungs-Framework, z. B.
InMemoryMemoryService, das im ADK für Tests enthalten ist. - Externer Speicher: Verwalten Sie für Produktionsanwendungen die Wissensdatenbank Ihres Agenten in einem externen, persistenten Speicherdienst. Ein externer Speicherdienst sorgt dafür, dass das Wissen Ihres Kundenservice-Agents dauerhaft, skalierbar und über mehrere Anwendungsinstanzen hinweg zugänglich ist. Verwenden Sie Memory Bank für die langfristige Speicherung mit einer beliebigen Agent-Laufzeit auf Google Cloud.
Agent-Designmuster
Agent-Designmuster sind gängige architektonische Ansätze zum Erstellen von Agent-Anwendungen. Diese Muster bieten ein eigenes Framework zum Organisieren der Komponenten eines Systems, zum Einbinden des KI-Modells und zum Orchestrieren eines einzelnen oder mehrerer Agents, um einen Workflow auszuführen. Um herauszufinden, welcher Ansatz für Ihren Workflow am besten geeignet ist, müssen Sie die Komplexität und den Workflow Ihrer Aufgaben sowie die Anforderungen an Latenz, Leistung und Kosten berücksichtigen.
Ein Single-Agent-System stützt sich auf die Reasoning-Funktionen eines Modells, um die Anfrage eines Nutzers zu interpretieren, eine Abfolge von Schritten zu planen und zu entscheiden, welche Tools verwendet werden sollen. Dieser Ansatz ist ein guter Ausgangspunkt, da Sie sich auf die Verfeinerung der Kernlogik, der Prompts und der Tool-Definitionen konzentrieren können, bevor Sie die Architektur komplexer gestalten. Die Leistung eines einzelnen Agents kann jedoch nachlassen, wenn die Komplexität von Aufgaben und die Anzahl der Tools zunimmt.
Bei komplexen Problemen koordiniert ein Multi-Agent-System mehrere spezialisierte Agents, um ein Ziel zu erreichen, das ein einzelner Agent nicht so einfach bewältigen kann. Dieses modulare Design kann die Skalierbarkeit, Zuverlässigkeit und Wartungsfreundlichkeit des Systems verbessern. Im Vergleich zu einem System mit einem einzelnen Agenten sind jedoch zusätzliche Aspekte in Bezug auf Bewertung, Sicherheit und Kosten zu berücksichtigen.
Wenn Sie ein Multi-Agent-System entwickeln, müssen Sie für jeden spezialisierten Agenten präzise Zugriffssteuerungen implementieren, ein robustes Orchestrierungssystem entwerfen, um eine zuverlässige Kommunikation zwischen den Agenten zu gewährleisten, und die erhöhten Betriebskosten durch den Rechenaufwand für die Ausführung mehrerer Agenten verwalten. Um die Kommunikation zwischen Agenten zu erleichtern, verwenden Sie das Agent2Agent-Protokoll (A2A) mit dem ADK. A2A ist ein offenes Standardprotokoll, das es KI-Agenten ermöglicht, unabhängig von den zugrunde liegenden Technologien plattform- und frameworkübergreifend zu kommunizieren und zusammenzuarbeiten.
Weitere Informationen zu gängigen Agent-Designmustern und dazu, wie Sie ein Muster basierend auf den Anforderungen Ihrer Arbeitslast auswählen, finden Sie unter Designmuster für Ihr agentisches KI-System auswählen.
KI-Modelle
Agentische Anwendungen sind auf die Denk- und Verständnisfähigkeiten eines Modells angewiesen, um als primärer Task-Orchestrator zu fungieren. Für diese zentrale Agent-Rolle empfehlen wir Gemini Pro.
Google-Modelle wie Gemini bieten über eine verwaltete API Zugriff auf die neuesten und leistungsstärksten proprietären Modelle. Dieser Ansatz ist ideal, um den operativen Aufwand zu minimieren. Im Gegensatz dazu bietet ein offenes, selbst gehostetes Modell die detaillierte Kontrolle, die für die Feinabstimmung mit proprietären Daten erforderlich ist. Für Arbeitslasten mit strengen Sicherheits- und Datenstandortanforderungen ist ebenfalls ein selbst gehostetes Modell erforderlich, da Sie das Modell so in Ihrem eigenen Netzwerk ausführen können.
Sie können die Logik des Modells anpassen, um die Leistung des Agents zu verbessern. Modelle wie die neuesten Gemini Pro- und Flash-Modelle verfügen über einen integrierten Denkprozess, der die Logik und die mehrstufige Planung verbessert. Zur Fehlerbehebung und Optimierung können Sie die Zusammenfassungen der Überlegungen des Modells oder synthetisierte Versionen seiner internen Überlegungen prüfen, um seinen Denkprozess nachzuvollziehen. Sie können die Denkfähigkeiten des Modells anpassen, indem Sie das Thinking-Budget oder die Anzahl der Thinking-Tokens entsprechend der Komplexität der Aufgabe anpassen. Ein höheres Denkbudget ermöglicht es dem Modell, detailliertere Überlegungen und Planungen anzustellen, bevor es eine Antwort gibt. Ein höheres Budget für die Denkphase kann die Qualität der Antworten verbessern, aber auch die Latenz und die Kosten erhöhen.
Um Leistung und Kosten zu optimieren, sollten Sie Modellrouting implementieren, um das am besten geeignete Modell für jede Aufgabe dynamisch auszuwählen. Die Auswahl erfolgt basierend auf der Komplexität, den Kosten oder den Latenzanforderungen der Aufgabe. Sie können beispielsweise einfache Anfragen an ein Small Language Model (SLM) für strukturierte Aufgaben wie die Code-Generierung oder Textklassifizierung weiterleiten und ein leistungsstärkeres und teureres Modell für komplexe Schlussfolgerungen reservieren. Wenn Sie das Modellrouting in Ihrer agentenbasierten Anwendung implementieren, können Sie ein kostengünstiges System erstellen, das eine hohe Leistung beibehält.
Google Cloud bietet Zugriff auf eine große Auswahl an Google-Modellen, Partnermodellen und offenen Modellen, die Sie in Ihrer Agentenarchitektur verwenden können. Weitere Informationen zu den verfügbaren Modellen und dazu, wie Sie ein Modell auswählen, das Ihren Anforderungen entspricht, finden Sie unter Model Garden in Vertex AI.
Modelllaufzeit
Eine Modelllaufzeit ist die Umgebung, in der Ihr KI-Modell gehostet und bereitgestellt wird und in der die Argumentationsfunktionen für Ihren Agenten verfügbar sind.
Modelllaufzeit auswählen
Verwenden Sie die folgenden Richtlinien, um die beste Laufzeit für das Hosting Ihrer KI-Modelle auszuwählen:
| Anwendungsfall | Modelllaufzeit |
|---|---|
| Sie benötigen eine vollständig verwaltete API, um Gemini-Modelle, Partnermodelle, offene Modelle oder benutzerdefinierte Modelle mit Sicherheit, Skalierung und generativen KI-Tools auf Unternehmensniveau bereitzustellen. | Vertex AI |
| Sie müssen ein offenes oder benutzerdefiniertes containerisiertes Modell bereitstellen und serverlose Einfachheit und Kosteneffizienz für variablen Traffic priorisieren. | Cloud Run |
| Sie benötigen maximale Kontrolle über die Infrastruktur, um ein offenes oder benutzerdefiniertes containerisiertes Modell auf spezieller Hardware auszuführen oder komplexe Sicherheits- und Netzwerkanforderungen zu erfüllen. | GKE |
In den folgenden Abschnitten finden Sie einen Überblick über die oben genannten Modell-Runtimes, einschließlich der wichtigsten Funktionen und Designüberlegungen. In diesem Dokument geht es um Vertex AI, Cloud Run und GKE. Google Cloud bietet jedoch andere Dienste an,die Sie für die Laufzeit eines Modells in Betracht ziehen könnten:
- Gemini API: Die Gemini API wurde für Entwickler entwickelt, die einen schnellen, direkten Zugriff auf Gemini-Modelle benötigen, ohne die Enterprise-Governance-Funktionen, die für komplexe Agentensysteme oft erforderlich sind.
- Compute Engine: Compute Engine ist ein IaaS-Produkt (Infrastructure as a Service), das sich für Legacy-Anwendungen eignet. Im Vergleich zu modernen, containerbasierten Laufzeiten führt dies zu einem erheblichen Betriebsaufwand.
Weitere Informationen zu den Funktionen, die die verschiedenen Dienstoptionen für Modell-Runtimes auszeichnen, finden Sie unter Infrastruktur für das Modellhosting.
Vertex AI
Vertex AI bietet eine vollständig verwaltete, serverlose Umgebung für Ihre KI-Modelle. Sie können Google-Modelle, Partnermodelle und offene Modelle über eine sichere und skalierbare API bereitstellen und abstimmen. Bei diesem Ansatz wird die gesamte Infrastrukturverwaltung abstrahiert, sodass Sie sich auf die Integration von Modellintelligenz in Ihre Anwendungen konzentrieren können.
Wenn Sie Vertex AI als Modelllaufzeit verwenden, sind die wichtigsten Funktionen und Überlegungen die folgenden:
- Infrastruktursteuerung: Eine vollständig verwaltete API für Ihre Modelle. Google verwaltet die zugrunde liegende Infrastruktur.
- Sicherheit: Die verwalteten Standardsicherheitsfunktionen und Standard-Compliance-Zertifizierungen reichen für Ihre Anforderungen aus. Um Prompts und Antworten zu schützen und verantwortungsbewusste KI-Praktiken zu gewährleisten, können Sie Model Armor in Vertex AI einbinden.
- Verfügbarkeit von Modellen: Über eine verwaltete API haben Sie Zugriff auf eine große Auswahl an Modellen, darunter die neuesten Gemini-Modelle.
- Kosten: Nutzungsbasiertes Preismodell, das mit dem Traffic Ihrer Anwendung skaliert wird. Weitere Informationen finden Sie unter Kosten für das Erstellen und Bereitstellen von KI-Modellen in Vertex AI.
Cloud Run
Cloud Run bietet eine serverlose Laufzeitumgebung, in der Ihre Modelle in benutzerdefinierten Containern gehostet werden. Cloud Run bietet ein ausgewogenes Verhältnis zwischen der vollständig verwalteten Einfachheit von Vertex AI und der umfassenden Infrastrukturkontrolle von GKE. Dieser Ansatz ist ideal, wenn Sie Ihr Modell in einer containerisierten Umgebung ausführen möchten, ohne Server oder Cluster verwalten zu müssen.
Wenn Sie Cloud Run als Modell-Laufzeit verwenden, sind die wichtigsten Funktionen und Aspekte die folgenden:
- Infrastrukturkontrolle: Sie können jedes Modell in einem benutzerdefinierten Container ausführen und haben so die volle Kontrolle über die Softwareumgebung. Die zugrunde liegende serverlose Infrastruktur wird von der Plattform verwaltet.
- Sicherheit: Bietet Sicherheit durch kurzlebige, isolierte Compute-Instanzen und ermöglicht sichere Verbindungen zu privaten Ressourcen über ausgehenden Direct VPC-Traffic oder einen Connector für serverlosen VPC-Zugriff. Weitere Informationen finden Sie unter Private Netzwerke und Cloud Run.
- Modellverfügbarkeit: Sie können offene Modelle wie Gemma oder Ihre eigenen benutzerdefinierten Modelle bereitstellen. Sie können Gemini-Modelle nicht in Cloud Run hosten oder bereitstellen.
- Kosten: Die Abrechnung erfolgt nutzungsabhängig und anfragebasiert. Die Kosten können auf null skaliert werden, was den Dienst für Modelle mit sporadischem oder variablem Traffic sehr kosteneffizient macht. Weitere Informationen finden Sie unter Cloud Run-Preise.
GKE
GKE bietet die größte Kontrolle und Flexibilität für das Hosten Ihrer KI-Modelle. Bei diesem Ansatz führen Sie Ihre Modelle in Containern in einem GKE-Cluster aus, den Sie konfigurieren und verwalten. GKE ist die ideale Wahl, wenn Sie Modelle auf spezieller Hardware ausführen, sie für minimale Latenz mit Ihren Anwendungen colocate oder eine detaillierte Kontrolle über jeden Aspekt der Bereitstellungsumgebung benötigen.
Wenn Sie GKE als Modelllaufzeit verwenden, sind die wichtigsten Funktionen und Überlegungen die folgenden:
- Infrastrukturkontrolle: Bietet maximale, detaillierte Kontrolle über die gesamte Bereitstellungsumgebung, einschließlich Knotenkonfigurationen, spezieller Maschinenbeschleuniger und der spezifischen Software für die Modellbereitstellung.
- Sicherheit: Ermöglicht ein Höchstmaß an Sicherheit und Datenisolation, da Sie Modelle vollständig in Ihrem Netzwerk ausführen und detaillierte Kubernetes-Sicherheitsrichtlinien anwenden können. Um den Traffic zu und von einem GKE-Cluster zu filtern und alle Interaktionen mit den KI-Modellen zu schützen, können Sie Model Armor in GKE einbinden .
- Modellverfügbarkeit: Sie können offene Modelle wie Gemma oder Ihre eigenen benutzerdefinierten Modelle bereitstellen. Sie können Gemini-Modelle nicht in GKE hosten oder bereitstellen.
- Kosten: Das Kostenmodell basiert auf den zugrunde liegenden Rechen- und Clusterressourcen, die Sie nutzen. Dadurch ist es hochgradig für vorhersehbare Arbeitslasten mit hohem Volumen optimiert, wenn Sie Rabatte für zugesicherte Nutzung verwenden. Weitere Informationen finden Sie unter Google Kubernetes Engine-Preise.
Agent-Laufzeit
Wenn Sie Ihre Agent-Anwendung hosten und bereitstellen möchten, müssen Sie eine Agent-Laufzeit auswählen. In diesem Dienst wird Ihr Anwendungscode ausgeführt – die Geschäftslogik und Orchestrierung, die Sie beim Verwenden eines Frameworks für die Entwicklung von Agents schreiben. Von dieser Laufzeit aus ruft Ihre Anwendung API-Aufrufe an die Modelle auf, die von der von Ihnen ausgewählten Modelllaufzeit gehostet und verwaltet werden.
Agent-Laufzeit auswählen
So wählen Sie die Laufzeit aus, wenn Sie Ihre KI-Agents hosten:
| Anwendungsfall | Agent-Laufzeit |
|---|---|
| Ihre Anwendung ist ein Python-Agent und erfordert eine vollständig verwaltete Umgebung mit minimalem Betriebsaufwand. | Vertex AI Agent Engine |
| Ihre Anwendung ist containerisiert und erfordert eine serverlose, ereignisgesteuerte Skalierung mit Sprachflexibilität. | Cloud Run |
| Ihre Anwendung ist containerisiert, hat komplexe zustandsbehaftete Anforderungen und erfordert eine detaillierte Infrastrukturkonfiguration. | GKE |
Wenn Sie bereits Anwendungen in Cloud Run oder GKE verwalten, können Sie die Entwicklung beschleunigen und den langfristigen Betrieb vereinfachen, indem Sie dieselbe Plattform für Ihre agentenbasierte Arbeitslast verwenden.
In den folgenden Abschnitten erhalten Sie einen Überblick über die einzelnen Agent-Laufzeiten, einschließlich der wichtigsten Funktionen und Designaspekte.
Vertex AI Agent Engine
Vertex AI Agent Engine ist eine vollständig verwaltete, meinungsbildende Laufzeitumgebung, mit der Sie Agent-Anwendungen bereitstellen, ausführen und skalieren können. Vertex AI Agent Engine abstrahiert die zugrunde liegende Infrastruktur, sodass Sie sich auf die Agent-Logik anstatt auf den Betrieb konzentrieren können.
Im Folgenden finden Sie Features und Überlegungen zu Vertex AI Agent Engine:
- Flexibilität bei Programmiersprache und Framework:Entwickeln Sie Agents in Python mit beliebigen unterstützten Frameworks.
- Kommunikationsprotokolle: Orchestrieren Sie Agenten und Tools, die MCP und A2A verwenden. Vertex AI Agent Engine verwaltet die Laufzeit für diese Komponenten effizient, unterstützt aber nicht das Hosting benutzerdefinierter MCP-Server.
- Arbeitsspeicher: Bietet integrierte, verwaltete Arbeitsspeicherfunktionen, sodass keine externen Datenbanken für den Arbeitsspeicher des Core-Agents konfiguriert werden müssen.
Anforderung Verfügbare Optionen Kurzzeitgedächtnis Vertex AI Agent Engine-Sitzungen Langzeitgedächtnis Memory Bank Datenbanksuche und ‑abruf - Skalierbarkeit: Die Skalierung erfolgt automatisch, um den Anforderungen Ihrer agentenbasierten Arbeitslast gerecht zu werden. Eine manuelle Konfiguration ist nicht erforderlich. Vertex AI Agent Engine basiert auf Cloud Run und verwendet die integrierte Instanzskalierung von Cloud Run, um diese automatische Skalierung zu ermöglichen.
- Beobachtbarkeit: Bietet integriertes Logging, Monitoring und Tracing über Google Cloud Observability-Dienste.
- Sicherheit: Bietet die folgenden Zuverlässigkeits-, Skalierbarkeits- und Compliance-Funktionen auf Unternehmensniveau:
- Integrierte Dienstidentität für sichere, authentifizierte Aufrufe an Google Cloud APIs.
- Code in einer sicheren, isolierten und verwalteten Sandbox mit Vertex AI Agent Engine Code Execution ausführen.
- Schützen Sie Ihre Daten mit Ihrem eigenen vom Kunden verwalteten Verschlüsselungsschlüssel (Customer-Managed Encryption Key, CMEK) in Secret Manager.
- Beschränken Sie IAM-Berechtigungen und verwenden Sie VPC-Firewallregeln, um unerwünschte Netzwerkaufrufe zu verhindern.
Informationen zu den Sicherheitsfunktionen von Vertex AI Agent Engine finden Sie unter Sicherheit für Unternehmen.
Vertex AI Agent Engine beschleunigt den Weg zur Produktion, da sie eine speziell entwickelte, verwaltete Umgebung bietet, die viele komplexe Aspekte beim Betrieb von KI-Agenten abdeckt, z. B. Lebenszyklus- und Kontextmanagement. Vertex AI Agent Engine ist weniger geeignet für Anwendungsfälle, die eine umfangreiche Anpassung der Rechenumgebung oder andere Programmiersprachen als Python erfordern. Für Arbeitslasten mit strengen Sicherheitsanforderungen für die Verwaltung privater Abhängigkeiten bieten Cloud Run und GKE einen direkteren, IAM-basierten Konfigurationspfad.
Cloud Run
Cloud Run ist eine vollständig verwaltete, serverlose Plattform, mit der Sie den Anwendungscode Ihres Agents in einem zustandslosen Container ausführen können. Cloud Run ist ideal, wenn Sie die gesamte Agent-Anwendung, einzelne Komponenten oder benutzerdefinierte Tools als skalierbare HTTP-Endpunkte bereitstellen möchten, ohne die zugrunde liegende Infrastruktur verwalten zu müssen.
Im Folgenden finden Sie Funktionen und Überlegungen für Cloud Run:
- Flexibilität bei Programmiersprache und Framework: Wenn Sie Ihre Anwendung in einem Container verpacken, können Sie Agents in jeder Programmiersprache und mit jedem Framework entwickeln.
- Kommunikationsprotokolle: Orchestrieren Sie Agenten und Tools, die MCP und A2A verwenden. MCP-Clients und -Server mit streamfähigem HTTP-Transport in Cloud Run hosten
- Arbeitsspeicher: Cloud Run-Instanzen sind zustandslos. Das bedeutet, dass eine Instanz alle In-Memory-Daten verliert, nachdem sie beendet wurde. So implementieren Sie persistenten Speicher: Verbinden Sie Ihren Dienst mit einem verwaltetenGoogle Cloud -Speicherdienst:
Anforderung Verfügbare Optionen Kurzzeitgedächtnis Langzeitgedächtnis - Firestore
- Memory Bank mit Cloud Run
Datenbanksuche und ‑abruf - Skalierbarkeit: Die Anzahl der Instanzen wird automatisch an den eingehenden Traffic angepasst und kann auch auf null skaliert werden. Diese Funktion trägt dazu bei, dass Cloud Run für Anwendungen mit variablen Arbeitslasten kostengünstig ist.
- Beobachtbarkeit: Bietet integriertes Logging, Monitoring und Tracing über Google Cloud Observability-Dienste. Weitere Informationen finden Sie unter Übersicht über Monitoring und Logging.
- Sicherheit: Bietet die folgenden Sicherheitskontrollen für Ihre Agents:
- Integrierter Identitätsdienst für sichere, authentifizierte Aufrufe an Google Cloud APIs.
- Führen Sie nicht getesteten Code in einer sicheren Umgebung mit der Cloud Run-Sandboxumgebung oder mit der Codeausführung in Vertex AI Agent Engine aus.
- Speichern Sie vertrauliche Daten, die von Cloud Run verwendet werden, indem Sie Secrets in Secret Manager konfigurieren.
- Unerwünschte Netzwerkaufrufe verhindern, indem Sie IAM-Berechtigungen einschränken und VPC-Firewallregeln verwenden.
Cloud Run bietet eine erhebliche betriebliche Einfachheit und Kosteneffizienz, da die Infrastrukturverwaltung entfällt. Aufgrund des zustandslosen Charakters von Cloud Run müssen Sie jedoch einen Speicherdienst verwenden, um den Kontext in einem mehrstufigen Workflow zu verwalten. Außerdem beträgt das maximale Zeitlimit für Anfragen für Cloud Run-Dienste bis zu einer Stunde, was lang andauernde Agentenaufgaben einschränken kann.
GKE
Google Kubernetes Engine (GKE) ist ein verwalteter Dienst zur Orchestrierung von Containern, der eine detaillierte Kontrolle über die Architektur und Infrastruktur Ihrer agentenbasierten Anwendung bietet. GKE eignet sich für komplexe agentenbasierte Systeme, die robuste Funktionen in Produktionsqualität erfordern, oder wenn Sie bereits GKE-Kunde sind und einen agentenbasierten Workflow für Ihre vorhandene Anwendung implementieren möchten.
Die folgenden Funktionen und Überlegungen sind in GKE verfügbar:
- Flexibilität bei Programmiersprache und Framework: Wenn Sie Ihre Anwendung in einem Container verpacken, können Sie Agents in jeder Programmiersprache und mit jedem Framework entwickeln.
- Kommunikationsprotokolle: Orchestrieren Sie Agenten und Tools, die MCP und A2A verwenden. MCP-Clients und ‑Server in GKE hosten, wenn Sie sie als Container verpacken
- Arbeitsspeicher: GKE-Pods sind kurzlebig.
Sie können jedoch zustandsorientierte Agents mit persistentem Speicher erstellen, indem Sie In-Cluster-Ressourcen verwenden oder eine Verbindung zu externen Diensten herstellen:
Anforderung Verfügbare Optionen Kurzzeitgedächtnis Langzeitgedächtnis - Firestore
- Memory Bank mit GKE
Datenbanksuche und ‑abruf - StatefulSets und nichtflüchtige Volumes für dauerhaften Speicher in Ihrem Cluster.
- Cloud SQL
- AlloyDB for PostgreSQL
- Skalierbarkeit: GKE-Cluster stellen Ihre Knotenpools automatisch bereit und skalieren sie, um die Anforderungen Ihrer Arbeitslast zu erfüllen.
- Beobachtbarkeit: Bietet integriertes Logging, Monitoring und Tracing auf Cluster-, Knoten- und Pod-Ebene mit Google Cloud Observability. Wenn Sie konfigurierte benutzerdefinierte Messwerte und Messwerte von Drittanbietern erfassen und dann an Cloud Monitoring senden möchten, können Sie auch Google Cloud Managed Service for Prometheus verwenden. Weitere Informationen finden Sie unter Übersicht über die GKE-Beobachtbarkeit.
- Sicherheit: Bietet detaillierte Sicherheitskontrollen für Ihre Agents.
- Verwenden Sie die Workload Identity-Föderation für GKE für die sichere Authentifizierung bei Google Cloud APIs.
- Isolieren Sie nicht vertrauenswürdigen Code mit GKE Sandbox.
- Sensible Daten, die von Ihren GKE-Clustern verwendet werden, in Secret Manager speichern.
- Schränken Sie IAM-Berechtigungen ein und verwenden Sie VPC-Firewallregeln und Netzwerkrichtlinien, um unerwünschte Netzwerkaufrufe zu verhindern.
GKE bietet maximale Kontrolle und Flexibilität, sodass Sie komplexe, zustandsorientierte Agents ausführen können. Dieses Steuerelement führt jedoch zu einem erheblichen Betriebsaufwand und einer hohen Komplexität. Sie müssen den Kubernetes-Cluster konfigurieren und verwalten, einschließlich Knotenpools, Netzwerk und Skalierungsrichtlinien. Das erfordert mehr Fachwissen und Entwicklungsaufwand als eine serverlose Plattform.
Nächste Schritte
- Kundenservicemitarbeiter-Tools:
- Arbeitsspeicher des Kundenservicemitarbeiters:
- Agent-Designmuster:
- Laufzeit des Agents:
- Weitere Ressourcen zu agentischen KI-Lösungen auf Google Cloud:
- Der Ansatz von Google für sichere KI‑Agents.
- Agent Factory Recap: Securing AI Agents in Production (Zusammenfassung der Agent Factory: KI-Agents in der Produktion schützen).
- Verantwortungsbewusste KI-Agents: Ein stufenweiser Ansatz für Google Cloud.
- Playlist „The Agent Factory“
- Weitere Referenzarchitekturen, Diagramme und Best Practices finden Sie im Cloud-Architekturcenter.
Beitragende
Autor: Samantha He | Technische Autorin
Weitere Beitragende:
- Amina Mansour | Head of Cloud Platform Evaluations Team
- Amit Maraj | Developer Relations Engineer
- Casey West | Architecture Advocate, Google Cloud
- Jack Wotherspoon | Developer Advocate
- Joe Fernandez | Staff Technical Writer
- Joe Shirey | Cloud Developer Relations Manager
- Karl Weinmeister | Director of Cloud Product Developer Relations
- Kumar Dhanagopal | Cross-Product Solution Developer
- Lisa Shen | Senior Outbound Product Manager, Google Cloud
- Mandy Grover | Head of Architecture Center
- Megan O'Keefe | Developer Advocate
- Olivier Bourgeois | Developer Relations Engineer
- Polong Lin | Developer Relations Engineering Manager
- Shir Meir Lador | Developer Relations Engineering Manager
- Vlad Kolesnikov | Developer Relations Engineer