1. Einführung

In diesem Codelab erfahren Sie, wie Sie mit Google Antigravity (im restlichen Dokument als „Antigravity“ bezeichnet) eine serverlose Anwendung für Google Cloud entwerfen, erstellen und bereitstellen. Wir erstellen eine serverlose und ereignisgesteuerte Dokumentpipeline, die Dateien aus Google Cloud Storage (GCS) aufnimmt, sie mit Cloud Run und Gemini verarbeitet und ihre Metadaten in BigQuery streamt.
Lerninhalte
- Antigravity für die Architekturplanung und ‑gestaltung verwenden
- Mit einem KI-Agenten Infrastruktur als Code (Shell-Skripts) generieren
- Cloud Run-Dienst auf Python-Basis erstellen und bereitstellen
- Gemini in Vertex AI für die multimodale Dokumentanalyse einbinden
- Überprüfen Sie die End-to-End-Pipeline mit dem Walkthrough-Artefakt von Antigravity.
Voraussetzungen
- Google Antigravity ist installiert. Wenn Sie Hilfe bei der Installation von Antigravity und den Grundlagen benötigen, empfehlen wir Ihnen, das Codelab Erste Schritte mit Google Antigravity durchzuarbeiten.
- Google Cloud-Projekt mit aktivierter Abrechnungsfunktion
- Die gcloud CLI muss installiert und authentifiziert sein.
2. Übersicht über die App
Bevor wir mit der Architektur und Implementierung der Anwendung mit Antigravity beginnen, wollen wir erst einmal die Anwendung skizzieren, die wir erstellen möchten.
Wir möchten eine serverlose und ereignisgesteuerte Dokumentpipeline erstellen, die Dateien aus Google Cloud Storage (GCS) aufnimmt, sie mit Cloud Run und Gemini verarbeitet und ihre Metadaten in BigQuery streamt.
Ein allgemeines Architekturdiagramm für diese Anwendung könnte so aussehen:

Das muss nicht genau sein. Antigravity kann uns helfen, die Architekturdetails im Laufe der Zeit herauszufinden. Es ist jedoch hilfreich, eine Vorstellung davon zu haben, was Sie erstellen möchten. Je mehr Details Sie angeben, desto bessere Ergebnisse erhalten Sie von Antigravity in Bezug auf Architektur und Code.
3. Architektur planen
Wir sind bereit, mit Antigravity die Architektur zu planen.
Antigravity ist ein Experte für die Planung komplexer Systeme. Anstatt sofort mit dem Schreiben von Code zu beginnen, können wir zuerst die Architektur auf hoher Ebene definieren.
Prüfen Sie zuerst, ob Sie sich im Agent Manager befinden. Wenn Sie Antigravity gerade erst geöffnet haben, können Sie entweder in der Mitte auf die Schaltfläche Open Agent Manager klicken oder rechts oben nach derselben Schaltfläche Open Agent Manager suchen.
Im Agent Manager haben Sie die Möglichkeit, einen Arbeitsbereich zu öffnen oder einfach den Playground zu verwenden, einen unabhängigen Arbeitsbereich für schnelle Prototypen und Experimente. Beginnen wir mit dem Playground.
Klicken Sie auf die Schaltfläche +, um eine neue Unterhaltung im Playground zu starten:

Daraufhin wird eine Benutzeroberfläche angezeigt, in der Sie den Prompt eingeben können (siehe unten):

Klicken Sie oben rechts auf das Symbol für die Einstellungen ⚙️ und stellen Sie Review Policy unter Artifact und Terminal Command Auto Execution unter Terminal auf Request Review ein. So können Sie den Plan in jedem Schritt überprüfen und genehmigen, bevor der Agent ihn ausführt.
Prompt
Jetzt können wir Antigravity unseren ersten Prompt geben.
Stelle zuerst sicher, dass sich Antigravity im Planning-Modus befindet. Als Modell verwenden wir Gemini Pro (High). Du kannst aber auch andere Modelle ausprobieren.
Geben Sie den folgenden Prompt ein und klicken Sie auf die Schaltfläche „Senden“:
I want to build a serverless event-driven document processing pipeline on Google Cloud.
Architecture:
- Ingestion: Users upload files to a Cloud Storage bucket.
- Trigger: File uploads trigger a Pub/Sub message.
- Processor: A Python-based Cloud Run service receives the message, processes the file (simulated OCR), and extracts metadata.
- Storage: Stream the metadata (filename, date, tags, word_count) into a BigQuery dataset.
Aufgabenliste und Implementierungsplan
Antigravity analysiert Ihre Anfrage und generiert eine Liste mit Aufgaben und einen Implementierungsplan.
Dieser Plan enthält folgende Informationen:
- Infrastruktur: GCS-Bucket, Pub/Sub-Thema, BigQuery-Dataset.
- Prozessor: Python/Flask-App, Dockerfile, Requirements.
- Integration: GCS-Benachrichtigungen → Pub/Sub → Cloud Run.
Die Ausgabe sollte in etwa so aussehen:

Klicken Sie in der Zeile Task auf die Schaltfläche Open. Dort sollten Sie eine Reihe von Aufgaben sehen, die von Antigravity erstellt wurden. Der Agent geht sie einzeln durch:

Im nächsten Schritt überprüfen Sie den Implementierungsplan und erteilen dem Kundenservicemitarbeiter die Berechtigung, fortzufahren.
Klicken Sie auf den Implementierungsplan, um die Details aufzurufen. Lesen Sie sie sich sorgfältig durch. Hier haben Sie die Möglichkeit, Feedback zur Implementierung zu geben. Sie können auf einen beliebigen Teil des Implementierungsplans klicken und Kommentare hinzufügen. Nachdem Sie einige Kommentare hinzugefügt haben, müssen Sie alle Änderungen, die Sie vornehmen möchten, zur Überprüfung einreichen, insbesondere in Bezug auf die Benennung, die Google Cloud-Projekt-ID, die Region usw.
Wenn alles in Ordnung ist, erteilen Sie dem Kundenservicemitarbeiter die Berechtigung, mit dem Implementierungsplan fortzufahren, indem Sie auf die Schaltfläche Proceed klicken.
4. Anwendung generieren
Sobald der Plan genehmigt wurde, beginnt Antigravity mit dem Generieren der für die Anwendung erforderlichen Dateien, von Bereitstellungsskripten bis hin zum Anwendungscode.
Antigravity erstellt einen Ordner und beginnt mit der Erstellung der für das Projekt erforderlichen Dateien. In unserem Beispiel haben wir Folgendes gesehen:

Es wird eine Shell-Skriptdatei mit dem Namen setup.sh oder einem ähnlichen Namen generiert, die die Ressourcenerstellung automatisiert. Folgende Aufgaben werden übernommen:
- Aktivieren von APIs (
run,pubsub,bigquery,storage). - Erstellen Sie den Google Cloud Storage-Bucket (
doc-ingestion-{project-id}). - Erstellen des BigQuery-Datasets und der BigQuery-Tabelle (
pipeline_data.processed_docs). - Pub/Sub-Themen und ‑Benachrichtigungen konfigurieren
Der Agent sollte eine Python-Anwendung (main.py) generieren, die auf Pub/Sub-Push-Nachrichten wartet. Dabei wird eine simulierte OCR-Logik verwendet, mit der zufällige Wortzahlen und Tags generiert und in BigQuery gespeichert werden.
Sobald dieses Einrichtungs-Script generiert wurde, sollten Sie von Antigravity aufgefordert werden, das Script in Ihrem Namen auszuführen. Unten sehen Sie ein Beispiel für einen Bildschirm:

Klicken Sie bei Bedarf auf Accept.
Das Bereitstellungsskript erstellt die Ressourcen und prüft, ob sie erstellt wurden. Wenn die Prüfung erfolgreich ist, wird der Container erstellt und als Dienst (in main.py) in Cloud Run bereitgestellt. Ein Beispiel für die Ausgabe sehen Sie unten:

Im Rahmen der Bereitstellung des Dienstes werden auch Pub/Sub-Abos und andere erforderliche Komponenten eingerichtet, damit diese Pipeline funktioniert. Das sollte nur wenige Minuten dauern.
In der Zwischenzeit können Sie oben links zu Inbox wechseln und die Aufgaben Pending prüfen, die auf Ihre Eingabe warten:

So können Sie sicherstellen, dass Sie Aufgaben genehmigen, wenn der Agent Sie um Feedback bittet.
5. Anwendung überprüfen
Nachdem die Pipeline bereitgestellt wurde, prüft Antigravity, ob die Anwendung tatsächlich funktioniert. Antigravity automatisiert dies mit Überprüfungsschritten in der Aufgabenliste. Unten sehen Sie ein Beispiel für einen Bildschirm:

Es wird ein Testartefakt (test.txt) erstellt und in einen Google Cloud Storage-Bucket hochgeladen. Klicken Sie auf Accept, um fortzufahren.
Wenn Sie weitere Tests selbst ausführen möchten, können Sie sich am Validierungsschritt von Antigravity orientieren, in dem das Dienstprogramm gsutil verwendet wird, um eine Beispieldatei in den Cloud Storage-Bucket hochzuladen. Der Beispielbefehl ist unten zu sehen:
gsutil cp <some-test-doc>.txt gs://<bucket-name>/
Ergebnisse in BigQuery prüfen
Im Rahmen der Überprüfung wird auch geprüft, ob die Daten in BigQuery gespeichert wurden.

Beachten Sie die SQL-Abfrage, die zum Suchen nach den Dokumenten verwendet wurde.
Nach Abschluss der Überprüfung sollte die Aufgabenliste als erledigt angezeigt werden:

Optional: Manuelle Bestätigung
Auch wenn Antigravity die Anwendung bereits überprüft hat, können Sie in der Google Cloud Console manuell prüfen, ob alle Ressourcen erstellt wurden. Gehen Sie dazu so vor:
Cloud Storage
Ziel: Prüfen, ob der Bucket vorhanden ist, und nach hochgeladenen Dateien suchen.
- Rufen Sie Cloud Storage > Buckets auf.
- Suchen Sie den Bucket mit dem Namen
[PROJECT_ID]-doc-uploads. - Klicken Sie auf den Bucket-Namen, um Dateien zu durchsuchen.
- Prüfen: Sie sollten Ihre hochgeladenen Dateien sehen, z.B.
test.txt).
Pub/Sub
Ziel: Prüfen Sie, ob das Thema vorhanden ist und ein Push-Abo hat.
- Wechseln Sie zu Pub/Sub > Themen.
- Suchen Sie nach doc-processing-topic.
- Klicken Sie auf die Themen-ID.
- Scrolle nach unten zum Tab Abos.
- Prüfen: doc-processing-sub muss mit dem Zustellungstyp Push aufgeführt sein.
Cloud Run
Ziel: Dienststatus und ‑protokolle prüfen.
- Rufen Sie Cloud Run auf.
- Klicken Sie auf den Dienst doc-processor.
- Bestätigen:
- „Health“ (Integrität): Ein grünes Häkchen zeigt an, dass der Dienst aktiv ist.
- Logs: Klicken Sie auf den Tab „Logs“. Suchen Sie nach Einträgen wie Datei wird verarbeitet: gs://... und Erfolgreich verarbeitet....
BigQuery
Ziel: Prüfen, ob die Daten tatsächlich gespeichert werden.
- Rufen Sie BigQuery > SQL-Arbeitsbereich auf.
- Maximieren Sie im Bereich „Explorer“ Ihr Projekt > Dataset „pipeline_data“.
- Klicken Sie auf die Tabelle processed_docs.
- Klicken Sie auf den Tab Vorschau.
- Prüfen: Sie sollten Zeilen mit filename, upload_date, tags und word_count sehen.
Schritt-für-Schritt-Anleitung
Im letzten Schritt generiert Antigravity ein Walkthrough-Artefakt. Dieses Artefakt fasst Folgendes zusammen:
- Änderungen vorgenommen.
- Bestätigungsbefehle werden ausgeführt.
- Tatsächliche Ergebnisse (Abfrageausgabe mit den von Gemini extrahierten Metadaten).
Klicken Sie auf Open, um sie zu sehen. Ein Beispiel für die Ausgabe sehen Sie unten:

6. Anwendung ausprobieren
An diesem Punkt haben Sie die grundlegende App bereitgestellt und sie wird ausgeführt. Bevor Sie die Anwendung weiter ausbauen, sollten Sie sich den Code ansehen. Über die Schaltfläche Open Editor oben rechts können Sie zum Editor wechseln.
Hier eine kurze Zusammenfassung der Dateien, die Sie möglicherweise sehen:
setup.sh: Das Hauptskript, mit dem alle Google Cloud-Ressourcen bereitgestellt und die erforderlichen APIs aktiviert werden.main.py: Der Haupteinstiegspunkt der Pipeline. Diese Python-App erstellt einen Webserver, der Pub/Sub-Push-Nachrichten empfängt, die Datei aus GCS herunterlädt, sie „verarbeitet“ (simuliert OCR) und die Metadaten in BigQuery streamt.Dockerfile: Definiert, wie die App in ein Container-Image verpackt wird.requirements.txt: Listet die Python-Abhängigkeiten auf.
Möglicherweise werden auch andere Skripts und Textdateien angezeigt, die für Tests und die Bestätigung erforderlich sind.
An diesem Punkt sollten Sie auch von Playground zu einem dedizierten Arbeitsbereich oder Ordner wechseln. Klicken Sie dazu oben rechts auf die entsprechende Schaltfläche:

Sobald Sie einen Ordner ausgewählt haben, wird der gesamte Code in diesen Ordner verschoben und ein neuer Arbeitsbereich mit dem Ordner und dem Konversationsverlauf erstellt.
7. Anwendung erweitern
Nachdem Sie nun eine funktionierende Basis-App haben, können Sie sie weiterentwickeln und erweitern. Hier sind einige Ideen.
Frontend hinzufügen
Erstellen Sie eine einfache Weboberfläche, um die verarbeiteten Dokumente anzusehen.
Probieren Sie den folgenden Prompt aus: Create a simple Streamlit or Flask web application that connects to BigQuery. It should display a table of the processed documents (filename, upload_date, tags, word_count) and allow me to filter the results by tag
Integration in echte KI/ML
Verwenden Sie Gemini-Modelle zum Extrahieren, Klassifizieren und Übersetzen anstelle der simulierten OCR-Verarbeitung.
- Ersetzen Sie die Dummy-OCR-Logik. Senden Sie das Bild/PDF an Gemini, um den tatsächlichen Text und die Daten zu extrahieren. Analysieren Sie den extrahierten Text, um den Dokumenttyp (Rechnung, Vertrag, Lebenslauf) zu klassifizieren oder Entitäten (Datumsangaben, Namen, Orte) zu extrahieren.
- Die Sprache des Dokuments wird automatisch erkannt und vor dem Speichern ins Englische übersetzt. Sie können auch eine andere Sprache verwenden.
Speicher und Analysen optimieren
Sie können Lebenszyklusregeln für den Bucket konfigurieren, um alte Dateien in „Coldline“- oder „Archive“-Speicher zu verschieben und so Kosten zu sparen.
Robustheit und Sicherheit
Sie können die App robuster und sicherer machen, indem Sie beispielsweise:
- Warteschlangen für unzustellbare Nachrichten: Aktualisieren Sie das Pub/Sub-Abo, um Fehler zu verarbeiten. Wenn der Cloud Run-Dienst eine Datei fünfmal nicht verarbeiten kann, senden Sie die Nachricht zur manuellen Überprüfung an ein separates Thema/einen separaten Bucket für unzustellbare Nachrichten.
- Secret Manager: Wenn Ihre App API-Schlüssel oder vertrauliche Konfigurationen benötigt, speichern Sie sie in Secret Manager und greifen Sie sicher über Cloud Run darauf zu, anstatt Strings fest zu codieren.
- Eventarc: Wenn Sie von direkten Pub/Sub-Push-Übertragungen zu Eventarc wechseln, erhalten Sie ein flexibleres Ereignisrouting. So können Sie Trigger auf Basis komplexer Audit-Logs oder anderer GCP-Dienstereignisse erstellen.
Natürlich können Sie auch eigene Ideen entwickeln und Antigravity nutzen, um sie umzusetzen.
8. Fazit
Sie haben mit Google Antigravity in wenigen Minuten eine skalierbare, serverlose, KI-basierte Dokumentenpipeline erstellt. Sie haben Folgendes gelernt:
- Architekturen mit KI planen
- Antigravity anweisen und verwalten, während die Anwendung generiert wird – von der Codeerstellung bis zur Bereitstellung und Validierung.
- Bereitstellungen und Validierungen mit Walkthroughs überprüfen
Referenzdokumente
- Offizielle Website : https://antigravity.google/
- Dokumentation: https://antigravity.google/docs
- Anwendungsbeispiele : https://antigravity.google/use-cases
- Download : https://antigravity.google/download
- Codelab : Erste Schritte mit Google Antigravity