Cloud Workstations bietet eine optimierte Laufzeitumgebung für autonome und interaktive KI-Codierungsagenten wie Antigravity CLI und Claude Code. Bei der Ausführung von agentenbasierten Entwicklungsworkflows führen Agenten häufig zeitaufwendige, asynchrone Aufgaben aus (z. B. Codegenerierung, umfassendes Refactoring und Testausführung) oder pausieren, während sie auf Eingaben und Überprüfungen durch den Nutzer warten.
Standardmäßige Zeitüberschreitungen für Inaktivität bei Workstations können dazu führen, dass ephemere Workstation-VMs bei längerer Inaktivität heruntergefahren und gelöscht werden. Dadurch wird der Container beendet und der Agentenkontext muss neu initialisiert werden. Agentenoptimierte Entwicklung löst dieses Problem, indem zwei wichtige Funktionen kombiniert werden:
- Workstation-Sperrung (
IdleAction.SUSPEND): Mit dieser Funktion wird die Workstation-VM automatisch gesperrt, wenn die Zeitüberschreitung für Inaktivität erreicht wird, anstatt sie zu beenden. Durch das Aussetzen der Workstation werden der RAM der virtuellen Maschine, laufende Prozesse, geöffnete Dateien und der aktive Agentenkontext im nichtflüchtigen Speicher gespeichert. Gleichzeitig werden die Kosten für vCPU und Rechenleistung beendet. - Keep-Alive-Hooks für den Lebenszyklus: Mit diesen Hooks können KI-Agenten während der aktiven Verarbeitung ein
Keep-Alive-Skript im Hintergrund ausführen (
/google/scripts/keep_alive.sh), um Zeitüberschreitungen zu vermeiden. Das Skript wird beendet, wenn auf Nutzereingaben gewartet wird oder nachdem Aufgaben abgeschlossen wurden. So kann die Workstation in den Leerlaufmodus wechseln und gesperrt werden.
Funktionsweise der Agentenoptimierung
Die Agentenoptimierung sorgt für einen persistenten Status, Kosteneffizienz und einen reibungslosen Betrieb bei zeitaufwendigen Aufgaben:
- Aktive Verarbeitung: Wenn ein Agent mit der Ausführung von Nutzeranweisungen beginnt, wird ein
Lebenszyklushook ausgelöst, der
/google/scripts/keep_alive.shim Hintergrund startet. Dieses Skript sendet in regelmäßigen Abständen Keep-Alive-Signale, die verhindern, dass Cloud Workstations die Workstation als inaktiv markiert. - Warten auf Nutzereingaben oder Aufgabenabschluss: Wenn der Agent seine Arbeit beendet oder pausiert, um den Entwickler um eine Überprüfung oder zusätzliche Eingaben zu bitten, beendet ein Ereignishook den Keep-Alive-Prozess im Hintergrund.
- Automatische Sperrung: Ohne aktive Keep-Alive-Signale oder eingehenden
Traffic zählt der Inaktivitätstimer der Workstation bis zum konfigurierten
Schwellenwert für die Zeitüberschreitung für Inaktivität herunter. Bei einer Zeitüberschreitung versetzt Cloud Workstations die Workstation in den Status
STATE_SUSPENDED, anstatt sie herunterzufahren. - Sofortige Wiederaufnahme: Wenn der Entwickler zurückkehrt und die Verbindung wiederherstellt (über die Google Cloud Konsole, eine IDE oder SSH), wird die Workstation sofort aus dem nichtflüchtigen Speicher mit dem vollständigen Agentenstatus, den Terminalsitzungen und dem Arbeitsbereichskontext wiederaufgenommen.
Workstation-Sperrung konfigurieren
Wenn Sie die Workstation-Sperrung aktivieren möchten, aktualisieren Sie die Workstation-Konfiguration mit einer idleAction, die auf SUSPEND gesetzt ist, und einer idleTimeout-Dauer in Sekunden, z. B. 1800s für 30 Minuten.
Wählen Sie den Tab für die Verwendung der Beispiele auf dieser Seite aus:
Console
Wenn Sie über die Google Cloud Console auf Google Cloud Dienste und APIs zugreifen, müssen Sie die Authentifizierung nicht einrichten.
gcloud
Aktivieren Sie Cloud Shell in der Google Cloud Console.
Unten in der Google Cloud Console wird eine Cloud Shell Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.
REST
Wenn Sie die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, verwenden Sie die
Anmeldedaten, die Sie der gcloud CLI bereitstellen.
Installieren Sie die Google Cloud CLI.
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst
mit Ihrer föderierten Identität in der gcloud CLI anmelden.
Weitere Informationen finden Sie in der Google Cloud Authentifizierungsdokumentation unter Für die Verwendung von REST authentifizieren.
Console
So konfigurieren Sie die Sperrung für eine Workstation-Konfiguration in der Google Cloud Console:
Rufen Sie in der Google Cloud Console Workstationkonfigurationen auf.
Klicken Sie auf Hinzufügen Erstellen oder auf eine vorhandene Konfiguration und dann auf Bearbeiten Bearbeiten.
Füllen Sie den Abschnitt Allgemeine Informationen aus und fahren Sie mit den Maschineneinstellungen fort.
Legen Sie unter Zeitüberschreitung für Inaktivität die Dauer für die Zeitüberschreitung für Inaktivität fest, z. B. 30 Minuten.
Wählen Sie im Drop-down-Menü Aktion bei Inaktivität die Option Sperren (oder Workstation bei Zeitüberschreitung für Inaktivität sperren) aus.
Führen Sie die restlichen Konfigurationsschritte aus und klicken Sie auf Erstellen (oder Speichern).
gcloud
Wenn Sie eine neue Workstation-Konfiguration mit aktivierter Sperrung erstellen möchten, führen Sie den
gcloud workstations configs create
Befehl mit dem --idle-action=suspend Flag aus:
gcloud workstations configs create CONFIG_NAME \
--cluster=CLUSTER_NAME \
--region=LOCATION \
--idle-timeout=1800 \
--idle-action=suspend
Wenn Sie eine vorhandene Workstation-Konfiguration für die Verwendung der Sperrung aktualisieren möchten, führen Sie den
gcloud workstations configs update
Befehl aus:
gcloud workstations configs update CONFIG_NAME \
--cluster=CLUSTER_NAME \
--region=LOCATION \
--idle-timeout=1800 \
--idle-action=suspend
Ersetzen Sie Folgendes:
CONFIG_NAME: der Name der Workstation-KonfigurationCLUSTER_NAME: der Name des Workstation-ClustersLOCATION: die Region, in der sich der Workstation-Cluster befindet
REST
Wenn Sie die Sperrung mit der REST API konfigurieren möchten, legen Sie idleAction auf SUSPEND und
idleTimeout auf die gewünschte Dauer in der
workstationConfigs
Nutzlast fest:
{
"idleTimeout": "1800s",
"idleAction": "SUSPEND"
}
Agenten mit Keep-Alive-Beispielhooks konfigurieren
In den vorkonfigurierten Basis-Images von Cloud Workstations sind Beispielkonfigurationsdateien für Agenten unter /google/samples/agents/keepalive/ vorinstalliert. Diese Beispiele zeigen, wie Sie KI-Codierungsagenten so konfigurieren, dass sie den Keep-Alive-Lebenszyklus automatisch verwalten.
Funktionsweise von Keep-Alive-Hooks für Agenten
Moderne KI-Codierungsagenten bieten Ereignishook-Systeme, die Befehle an wichtigen Lebenszyklusmeilensteinen ausführen:
- Hook für den Ausführungsstart: Wird ausgelöst, bevor der Agent mit der Verarbeitung von Nutzer
eingaben beginnt. Der Hook startet
/google/scripts/keep_alive.shim Hintergrund und schreibt die Prozess-ID (PID) des Hintergrundprozesses in eine temporäre Datei (z. B./tmp/agent_keep_alive.pid). - Hook für Benachrichtigung / Warten auf Nutzereingaben: Wird ausgelöst, wenn der Agent seine Aufgabe beendet
oder pausiert, um den Nutzer um Eingaben zu bitten. Der Hook liest die PID aus der temporären Datei und beendet den Hintergrundprozess
keep_alive.sh.
Claude-Code-Konfiguration
Claude Code unterstützt Lifecycle-Events-Hooks, die in den Einstellungen konfiguriert sind. Beispielkonfigurationsdateien für Claude Code finden Sie unter:
/google/samples/agents/keepalive/claude/
In Claude Code verwalten die folgenden Ereignishooks den Keep-Alive-Prozess:
UserPromptSubmit: Der Hook wird ausgeführt, wenn der Nutzer einen Prompt sendet. Er startet das Keep-Alive-Skript im Hintergrund:/google/scripts/keep_alive.sh & echo $! > /tmp/claude_keep_alive.pidNotification: Der Hook wird ausgeführt, wenn Claude Code eine Benachrichtigung ausgibt oder auf Nutzereingaben wartet. Er beendet den aktiven Keep-Alive-Hintergrundprozess:if [ -f /tmp/claude_keep_alive.pid ]; then kill "$(cat /tmp/claude_keep_alive.pid)" 2>/dev/null || true rm -f /tmp/claude_keep_alive.pid fi
Wenn Sie die Beispielkonfiguration anwenden möchten, kopieren Sie die Beispieldateien aus /google/samples/agents/keepalive/claude/ in Ihr Claude-Konfigurationsverzeichnis (z. B. ~/.claude/settings.json oder Konfiguration auf Projektebene) oder führen Sie sie zusammen.
Antigravity CLI-Konfiguration
Antigravity CLI unterstützt Lifecycle-Event-Hooks, die in den Einstellungen definiert sind. Beispielkonfigurationsdateien für Antigravity CLI finden Sie unter:
/google/samples/agents/keepalive/gemini/
In Antigravity CLI verwalten die folgenden Ereignishooks den Keep-Alive-Prozess:
BeforeAgent: Der Hook wird ausgeführt, bevor Antigravity CLI mit der Ausführung von Aktionen beginnt. Er startet das Keep-Alive-Skript im Hintergrund:/google/scripts/keep_alive.sh & echo $! > /tmp/gemini_keep_alive.pidNotification: Der Hook wird ausgeführt, wenn der Agent seine Aufgabe beendet oder Nutzerfeedback benötigt. Er beendet den Keep-Alive-Prozess:if [ -f /tmp/gemini_keep_alive.pid ]; then kill "$(cat /tmp/gemini_keep_alive.pid)" 2>/dev/null || true rm -f /tmp/gemini_keep_alive.pid fi
Wenn Sie die Beispielkonfiguration anwenden möchten, kopieren Sie die Beispieldateien aus /google/samples/agents/keepalive/gemini/ in Ihr Antigravity CLI-Konfigurationsverzeichnis (z. B. ~/.gemini/config.yaml oder Projekteinstellungen) oder führen Sie sie zusammen.
Benutzerdefinierte Agentenintegration
Wenn Sie benutzerdefinierte KI-Agenten erstellen oder verwenden, können Sie dasselbe Keep-Alive-Muster implementieren, indem Sie /google/scripts/keep_alive.sh während der aktiven Agentenausführung als Hintergrundprozess starten und den Prozess beenden, wenn der Agent in den Leerlauf- oder Wartezustand wechselt.
Eine gesperrte Workstation wiederaufnehmen
Wenn sich eine Workstation im Status STATE_SUSPENDED befindet, können Sie sie jederzeit wiederaufnehmen:
- Google Cloud Console: Rufen Sie in der Google Cloud Console die Seite Workstations auf und klicken Sie neben der gesperrten Workstation auf Starten oder Start.
gcloudCLI: Führen Sie dengcloud workstations startBefehl aus:gcloud workstations start WORKSTATION_NAME \ --cluster=CLUSTER_NAME \ --region=LOCATION \ --config=CONFIG_NAMEErsetzen Sie Folgendes:
WORKSTATION_NAME: der Name der WorkstationCLUSTER_NAME: der Name des Workstation-ClustersLOCATION: die Region, in der sich der Workstation-Cluster befindetCONFIG_NAME: der Name der Workstation-Konfiguration
Browser- oder SSH-Verbindung: Wenn Sie die Web-URL Ihrer Workstation aufrufen oder eine Verbindung über SSH herstellen, wird die Workstation automatisch wiederaufgenommen.
Nach der Wiederaufnahme werden alle Terminalpuffer, der Befehlsverlauf des Agenten und die Arbeitsbereichsdateien genau so wiederhergestellt, wie Sie sie verlassen haben.
Nächste Schritte
- Workstationkonfiguration erstellen.
- Weitere Informationen zur KI-Agenten-unterstützten Codierung mit der Gemini CLI.
- Vorkonfigurierte Basis-Images .
- Informationen zum Herstellen einer Verbindung mit SSH-Unterstützung.