Cloud Workstations bietet eine optimierte Laufzeitumgebung für autonome und interaktive KI-Codierungs-Agents wie die Antigravity CLI und Claude Code. Bei der Ausführung von agentischen Entwicklungsworkflows führen Agenten häufig langwierige, asynchrone Aufgaben aus (z. B. Codegenerierung, tiefgreifendes Refactoring und Testausführung) oder pausieren, während sie auf menschliche Eingaben und Überprüfungen warten.
Bei Standard-Timeouts für inaktive Arbeitsstationen können temporäre Arbeitsstations-VMs bei längerer Inaktivität heruntergefahren und gelöscht werden. Dadurch wird der Container beendet und der Agent-Kontext muss neu initialisiert werden. Für Agents optimierte Entwicklung: Dieses Problem wird durch die Kombination von zwei wichtigen Funktionen gelöst:
- Arbeitsstationsaussetzung (
IdleAction.SUSPEND): Mit diesem Feature wird die Arbeitsstations-VM automatisch ausgesetzt, wenn sie das Zeitlimit für Inaktivität erreicht, anstatt sie zu beenden. Beim Anhalten der Workstation werden der RAM der virtuellen Maschine, laufende Prozesse, geöffnete Dateien und der aktive Agentenkontext auf dem nichtflüchtigen Speicher gesichert. Gleichzeitig werden die Kosten für vCPU und Arbeitsspeicher gestoppt. - Lifecycle-Keep-Alive-Hooks: Mit diesen Hooks können KI-Agents während der aktiven Verarbeitung ein Hintergrund-Keep-Alive-Skript (
/google/scripts/keep_alive.sh) ausführen, um Zeitüberschreitungen zu verhindern. Das Skript wird beendet, wenn auf Nutzereingaben gewartet wird oder Aufgaben abgeschlossen sind. So kann die Workstation in den Leerlaufmodus wechseln und in den Ruhezustand versetzt werden.
Funktionsweise der Agentenoptimierung
Die Agent-Optimierung sorgt für einen persistenten Status, Kosteneffizienz und einen reibungslosen Betrieb bei lang andauernden Aufgaben:
- Aktive Verarbeitung: Wenn ein KI-Agent mit der Ausführung von Nutzeranweisungen beginnt, wird im Hintergrund ein Lebenszyklus-Hook
/google/scripts/keep_alive.shgestartet. Dieses Skript sendet regelmäßig Keep-Alive-Signale, die verhindern, dass Cloud Workstations die Workstation als inaktiv markieren. - Warten auf Nutzereingabe oder Aufgabenabschluss: Wenn der KI-Agent seine Arbeit abgeschlossen hat oder pausiert, um den Entwickler um eine Überprüfung oder zusätzliche Eingabe zu bitten, beendet ein Event-Hook den Keep-Alive-Prozess im Hintergrund.
- Automatische Unterbrechung: Wenn keine aktiven Keep-Alive-Signale oder eingehender Traffic vorhanden sind, läuft der Inaktivitätstimer der Workstation bis zum konfigurierten Inaktivitäts-Zeitüberschreitungsschwellenwert herunter. Nach Ablauf des Zeitlimits wechselt Cloud Workstations die Workstation zu
STATE_SUSPENDED, anstatt sie herunterzufahren. - Sofortige Wiederaufnahme: Wenn der Entwickler zurückkehrt und die Verbindung wiederherstellt (über die Google Cloud Console, eine IDE oder SSH), wird die Workstation sofort aus dem nichtflüchtigen Speicher mit dem vollständigen Agent-Status, den Terminalsitzungen und dem Arbeitsbereichskontext wiederaufgenommen.
Workstation-Sperrung konfigurieren
Wenn Sie das Sperren von Workstations aktivieren möchten, aktualisieren Sie Ihre Workstation-Konfiguration mit einem idleAction, der auf SUSPEND festgelegt ist, und einer idleTimeout-Dauer in Sekunden, z. B. 1800s für 30 Minuten.
Wählen Sie den Tab für die geplante 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-Befehlszeile anmelden.
Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter Für die Verwendung von REST authentifizieren.
Console
So konfigurieren Sie die Sperrung einer Workstation-Konfiguration in derGoogle 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 Zeitlimit für Inaktivität die Dauer des Zeitlimits 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 wegen Inaktivität sperren) aus.
Führen Sie die restlichen Konfigurationsschritte aus und klicken Sie auf Erstellen (oder Speichern).
gcloud
Führen Sie den Befehl gcloud workstations configs create mit dem Flag --idle-action=suspend aus, um eine neue Workstation-Konfiguration mit aktivierter Suspend-Funktion zu erstellen:
gcloud workstations configs create CONFIG_NAME \
--cluster=CLUSTER_NAME \
--region=LOCATION \
--idle-timeout=1800 \
--idle-action=suspend
Führen Sie den Befehl gcloud workstations configs update aus, um eine vorhandene Workstation-Konfiguration so zu aktualisieren, dass die Sperrung verwendet wird:
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-Konfiguration.CLUSTER_NAME: der Name des Workstation-Clusters.LOCATION: die Region, in der sich der Workstation-Cluster befindet.
REST
Wenn Sie die Sperrung mit der REST API konfigurieren möchten, legen Sie idleAction in der Nutzlast workstationConfigs auf SUSPEND und idleTimeout auf die gewünschte Dauer fest:
{
"idleTimeout": "1800s",
"idleAction": "SUSPEND"
}
KI-Agenten mit Beispiel-Keep-Alive-Hooks konfigurieren
Auf den vorkonfigurierten Basis-Images für Cloud Workstations sind Beispielkonfigurationsdateien für den Agent unter /google/samples/agents/keepalive/ vorinstalliert. In diesen Beispielen wird gezeigt, wie Sie KI-Coding-Agents so konfigurieren, dass sie den Keep-Alive-Lebenszyklus automatisch verwalten.
Funktionsweise von Keep-Alive-Hooks für KI-Agenten
Moderne KI-Coding-Agents bieten Event-Hook-Systeme, die Befehle bei wichtigen Lebenszyklus-Meilensteinen ausführen:
- Hook für den Ausführungsstart: Wird ausgelöst, bevor der Agent mit der Verarbeitung der Nutzereingabe 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). - Benachrichtigungs-/Warte-Hook für Nutzereingabe: Wird ausgelöst, wenn der Agent seine Aufgabe abgeschlossen hat oder pausiert, um den Nutzer zur Eingabe aufzufordern. Der Hook liest die PID aus der temporären Datei und beendet den
keep_alive.sh-Hintergrundprozess.
Claude Code-Konfiguration
Claude Code unterstützt Lifecycle-Event-Hooks, die in den Einstellungen konfiguriert sind. Beispielkonfigurationsdateien für Claude Code finden Sie unter:
/google/samples/agents/keepalive/claude/
In Claude Code werden die folgenden Ereignishooks für den Keep-Alive-Prozess verwendet:
UserPromptSubmit: Der Hook wird ausgeführt, wenn der Nutzer einen Prompt sendet. Es 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 eine Nutzereingabe wartet. Dadurch wird der aktive Keep-Alive-Hintergrundprozess beendet: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
Um die Beispielkonfiguration anzuwenden, 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
Die Antigravity CLI unterstützt Lifecycle-Event-Hooks, die in den Einstellungen definiert sind. Beispielkonfigurationsdateien für die Antigravity CLI finden Sie hier:
/google/samples/agents/keepalive/gemini/
In der Antigravity CLI werden die folgenden Ereignishooks für die Verwaltung des Keep-Alive-Prozesses verwendet:
BeforeAgent: Der Hook wird ausgeführt, bevor die Antigravity CLI mit der Ausführung von Aktionen beginnt. Dadurch wird das Keep-Alive-Skript im Hintergrund gestartet:/google/scripts/keep_alive.sh & echo $! > /tmp/gemini_keep_alive.pidNotification: Der Hook wird ausgeführt, wenn der Agent seinen Zug beendet hat oder Nutzerfeedback benötigt. Dadurch wird der Keep-Alive-Prozess beendet: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.
Integration benutzerdefinierter KI-Agents
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 einen inaktiven oder wartenden Zustand wechselt.
Angehaltene Workstation fortsetzen
Wenn sich eine Workstation im Status STATE_SUSPENDED befindet, können Sie sie jederzeit fortsetzen:
- 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.
gcloud-Befehlszeile: Führen Sie den Befehlgcloud workstations startaus:gcloud workstations start WORKSTATION_NAME \ --cluster=CLUSTER_NAME \ --region=LOCATION \ --config=CONFIG_NAMEErsetzen Sie Folgendes:
WORKSTATION_NAME: Der Name der Arbeitsstation.CLUSTER_NAME: der Name des Workstation-Clusters.LOCATION: Die Region, in der sich der Workstation-Cluster befindet.CONFIG_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 reaktiviert.
Nach dem Fortsetzen werden alle Terminalpuffer, der Befehlsverlauf des Agents und die Arbeitsbereichdateien genau so wiederhergestellt, wie Sie sie verlassen haben.
Nächste Schritte
- Workstationkonfiguration erstellen
- Weitere Informationen zur KI-Agenten-basierten Programmierung mit der Gemini CLI
- Vorkonfigurierte Basis-Images
- Weitere Informationen zum Verbinden mit SSH-Unterstützung