1. Einführung

In diesem Codelab erstellen Sie ein System für die mehrsprachige Codequalitätsprüfung und automatisierte Fehlerbehebung mit paralleler Multi-Agent-Orchestrierung in Antigravity. Anstelle einer herkömmlichen, manuellen und linearen Überprüfung mehrerer separater Dienstverzeichnisse stellen Sie spezialisierte KI-Unteragenten bereit, um verschiedene Sprachstacks parallel zu prüfen.
Sie erstellen einen Coordinator -Agenten, um das Projektlayout zu ermitteln, Unteragenten für die Ausführung von Unit-Tests zu verwalten, einen Auditplan zu erstellen, auf Compliance zu prüfen, einen Auditbericht zu erstellen und hochprioritäre Codierungsprobleme in der Codebasis autonom zu beheben.
Lerninhalte
- Projektermittlung:Bereitstellung eines Coordinator-Agenten zum Erstellen einer Übersicht über Verzeichnisse und zum Erkennen von Programmiersprachen in einer komplexen Mikrodienstarchitektur.
- Orchestrierte Parallelität:Verteilung von Code-Audits und Unit-Tests auf unabhängige, sprachspezifische KI-Unteragenten.
- Human-in-the-Loop-Überwachung:Anleitung eines Coordinator-Agenten zum Erstellen eines Auditplans und zum sicheren Anhalten zur Überprüfung und Genehmigung vor der Ausführung.
- Automatisierte Fehlerbehebung:Bereitstellung spezialisierter Entwickler-Unteragenten, um hochprioritäre Codierungs- und Complianceprobleme autonom zu beheben.
- Bestätigungsschleifen:Überprüfung von KI-generierten Codeänderungen durch automatisches erneutes Ausführen von Testsuiten, um sicherzustellen, dass keine Regressionen eingeführt wurden.
Voraussetzungen
Für dieses Codelab müssen die folgenden Tools lokal installiert sein:
- Google Antigravity
- Git
- Eine oder mehrere der folgenden Sprachen, die in Ihrer Umgebung eingerichtet sind: Go, Python, C# / .NET, NodeJS, Java
Los geht's!
2. Umgebung einrichten
Prüfen Sie zuerst, ob Antigravity installiert ist.
Klonen Sie als Nächstes die Online Boutique, eine Cloud-Mikrodienst-Demoanwendung:
git clone https://github.com/GoogleCloudPlatform/microservices-demo.git
Erstellen Sie mit dem Code ein neues Projekt in Antigravity. Wählen Sie in Antigravity links unter Projects die Option Create New Project aus:

Wählen Sie den Repository-Ordner aus:

Sie können den Modus Default für Agent Security Settings auswählen und für das Projekt denselben Namen microservices-demo verwenden.
3. Discovery
In einer Mikrodienstarchitektur umfasst eine Codebasis in der Regel mehrere Dienste, die sich über mehrere Ordner oder Repositories und Programmierstacks erstrecken. Das gilt auch für die Demoanwendung Online Boutique.
Bevor Sie Agenten starten, ermitteln wir das Projektlayout. In diesem ersten Schritt stellen Sie mit Antigravity einen Coordinator -Agenten bereit, der verschiedene Mikrodienste in verschiedenen Sprachen unter src/ ermittelt und sprachspezifische Unteragenten koordiniert, die in späteren Schritten an den einzelnen Mikrodiensten arbeiten.
Bitten Sie den Coordinator-Agenten zuerst, die Codebasis zu untersuchen und zu ermitteln, welche Dienste in welchen Verzeichnissen vorhanden sind und welche Sprachen sie verwenden.
Starten Sie in Antigravity eine neue Unterhaltung im Projekt microservices-demo, das Sie zuvor erstellt haben. Für das Modell können Sie das neueste Gemini-Modell mit einem mittleren Denkaufwand verwenden:

Probieren Sie diesen Prompt aus:
Identify all the microservices located under the src/ directory,
detect which programming language each service is written in, and
output the list as a clean markdown table showing: Service Name,
Directory, and Primary Language.
Am Ende sollte Antigravity eine Tabelle mit Diensten und ihrer Hauptsprache zurückgeben, etwa so:

4. Sprachen auswählen
Nachdem Sie die Codebasis ermittelt haben, müssen Sie die Sprachen auswählen, mit denen Sie arbeiten möchten. Sie benötigen die Compiler/Tools für die ausgewählten Sprachen (z.B. das Tool dotnet für C#, javac für Java usw.).
Nachdem Sie die gewünschten Sprachen ausgewählt haben, ist es wichtig, den Zustand der aktuellen Codebasis zu überprüfen, indem Sie die entsprechenden Unit-Tests für diese Sprache ausführen.
Sie können spezialisierte, parallele Unteragenten verwenden, um Testsuiten in jeder Sprache auszuführen. Dies unterstreicht die Kernstärke eines Multi-Agent-Workflows: isolierte Tests gleichzeitig in separaten sprachspezifischen Arbeitsbereichen auszuführen.
Passen Sie den folgenden Prompt an Ihre Umgebung an und führen Sie ihn aus:
I have [C#, Python, Go, Java, Node.js] setup locally.
Run the unit tests for services in these languages
in parallel subagents and report back in a clean markdown
on their pass/fail status.
Mehrere Agenten sollten Tests in jeder Sprache ausführen. Überprüfen Sie jeden Unteragenten, wenn er Berechtigungen zum Ausführen von Tools anfordert, wie unten gezeigt:

Sobald alle Unteragenten fertig sind, sollten Sie einen Bericht zu den Unit-Tests erhalten, etwa so:

5. Audit planen
Plan
In komplexen Workflows kann das Einführen von Codeänderungen ohne Plan zu Konflikten führen. Wir möchten einen strukturierten, transparenten Plan für das erstellen, was wir prüfen möchten. Sie bitten den Coordinator-Agenten, einen Auditplan mit Codequalitätsprüfungen, Ausnahmebehandlung, Abfragehygieneprüfungen usw. zu entwerfen.
Um die menschliche Aufsicht zu gewährleisten (Human-in-the-Loop), schreibt der Coordinator den Plan in ein Artefakt und hält sofort zur Überprüfung an.
Verwenden Sie diesen Prompt, um einen Auditplan zu erstellen:
We want to audit these microservices for code quality,
exception handling and database query formatting standards
for the languages I have set up locally. Design an audit plan
detailing what you will check and save it as an Audit Plan artifact.
Do not execute the audit yet. Stop after writing the plan and wait
for my instructions.
Im Chat sollte ein Artefakt „Auditplan“ angezeigt werden:

Überprüfen
Sie überprüfen jetzt den generierten Auditplan, um sicherzustellen, dass er auf die richtigen Dateien und Standards ausgerichtet ist. Optional können Sie benutzerdefinierte Einschränkungen hinzufügen (z. B. die Überprüfung auf Inline-Kommentare oder Stilrichtlinien), bevor Sie die Genehmigung zum Fortfahren erteilen.
Klicken Sie auf den generierten Auditplan. Der detaillierte Plan sollte angezeigt werden:

Optional: Sie können dem Plan Kommentare hinzufügen (z. B. „Alle öffentlichen Methoden müssen gut dokumentiert sein“), wenn Sie Änderungen vornehmen möchten. Wiederholen Sie diesen Schritt, bis Sie mit dem Plan zufrieden sind.
6. Audit ausführen
Ausführen
Nachdem der Auditplan genehmigt wurde, führen wir den Audit aus. Der Coordinator-Agent erstellt für jeden Sprachstack unabhängige parallele Unteragenten. Jeder Agent arbeitet gleichzeitig in seinem eigenen Dienstordner, wodurch Dateikonflikte vermieden und der Scanvorgang beschleunigt wird. Der Coordinator-Agent führt die Ergebnisse in einem einheitlichen Qualitätsdashboard zusammen.
Hier ist der nächste Prompt, den Sie ausprobieren können:
Execute the audit plan by spawning the parallel language subagents.
Once they finish scanning, collect their findings into an audit
report artifact, sorted by language and then priority. Include the
file paths, line ranges, snippets, and explanation of why it is a
finding. Stop after writing the report.
Sie sollten wieder mehrere Agenten sehen:

Beobachten Sie jeden Unteragenten und erteilen Sie ihm die Berechtigungen, die er zum Ausführen des Audits benötigt. Am Ende sollte ein Artefakt „Auditbericht“ angezeigt werden:

Überprüfen
Wenn Sie den Auditbericht öffnen, sollten Sie auch detaillierte Ergebnisse für jede Sprache sehen. Hier ist beispielsweise ein Problem mit hoher Priorität aus cartservice in C#:

Sehen Sie sich den Rest des Auditberichts an, um die Ergebnisse zu sehen.
7. Auflösung
Das Diagnostizieren von Codequalitätsproblemen ist nur die halbe Miete. Jetzt verwenden wir Agenten, um die Probleme zu beheben. Anstatt Code manuell zu schreiben, können wir das Refactoring an sprachspezifische Entwickler-Unteragenten delegieren, die den Code so umschreiben können, dass er den Best Practices entspricht.
Es gibt verschiedene Möglichkeiten, dies zu versuchen:
- Sie können für jede Sprache einen Agenten erstellen und alle Agenten alle Probleme gleichzeitig beheben lassen. Das kann funktionieren, aber es kann auch zu viel sein, um gleichzeitig den Überblick zu behalten und zu überprüfen.
- Sie können jeweils einen Agenten für eine Sprache erstellen und ihn Probleme für diese Sprache beheben lassen. Das ist übersichtlicher, aber Sie müssen dem Agenten trotzdem vertrauen können, dass er mehrere Änderungen an mehreren Dateien vornimmt.
- Sie können einen Agenten jeweils ein Problem beheben lassen und das Ergebnis überprüfen, bevor Sie mit dem nächsten Problem fortfahren. Das ist ein konservativerer Ansatz, aber Sie bleiben bei jeder Änderung auf dem Laufenden.
Wir verwenden den konservativeren Ansatz 3 mit dem folgenden Prompt:
Select the top high-priority finding in [pick a language, e.g., C#]
and remediate the finding. Show me the code changes once complete.
Nach einigen Sekunden sollte der Agent das Problem mit der höchsten Priorität in der ausgewählten Sprache beheben.
Am Ende erhalten Sie möglicherweise auch ein Artefakt Walkthrough , das zeigt, was der Agent geändert hat:

Optional:An dieser Stelle können Sie den Agenten bitten, die Implementierung zu ändern. Wenn Sie mit den Änderungen zufrieden sind, können Sie den Agenten bitten, einen neuen Unit-Test hinzuzufügen, um die Änderungen zu berücksichtigen.
8. Bestätigung
In der Softwareentwicklung ist eine Fehlerbehebung erst abgeschlossen, wenn sie bestätigt wurde. In diesem letzten Schritt können wir den Agenten bitten, die Testsuite auszuführen, um sicherzustellen, dass die Codeänderungen keine Regressionen eingeführt haben, und den Audit-Scanner noch einmal auszuführen, um zu überprüfen, ob das Problem vollständig behoben wurde.
Dieser Schritt zeigt die vollständige automatisierte Feedbackschleife aus Planung, Scannen, Beheben und Überprüfen.
Führen Sie den folgenden Prompt aus:
Rerun the unit tests for the changed language. If they pass, rerun
the relevant audit agent to check if the finding is resolved. If it
is resolved, mark the issue as resolved in the audit report.
Ein Test Runner -Unteragent sollte hochfahren und die Tests ausführen. Anschließend sollte ein Auditor -Unteragent den Auditbericht aktualisieren. Am Ende sollte der Auditbericht mit dem neuesten Status aktualisiert werden:

Ein Problem behoben! Jetzt können Sie die restlichen Probleme durchgehen. Vielleicht verwenden Sie dieses Mal einen weniger konservativen Ansatz, bei dem Sie Agenten mehr Arbeit erledigen lassen, bevor Sie die Ergebnisse überprüfen.
9. Glückwunsch
Glückwunsch! Sie haben gerade eine komplexe mehrsprachige Codeüberprüfung und einen automatisierten Workflow zur Fehlerbehebung mit Antigravity abgeschlossen.
Durch die Nutzung der Multi-Agent-Architektur von Antigravity haben Sie nicht nur statische Prüfungen automatisiert, sondern auch ein automatisiertes Qualitätssicherungsteam orchestriert. Während spezialisierte Sprachagenten gleichzeitig an sprachspezifischen Problemen arbeiteten, erstellte Ihr Coordinator-Agent einen zentralen Plan und Bericht und führte anschließend ein gezieltes Code-Refactoring durch.
Zusammenfassung
- Orchestrierte Parallelität: Sie haben gelernt, wie Sie Audits und Tests auf unabhängige, sprachspezifische Unteragenten verteilen, die parallel ausgeführt werden, um Engpässe bei der linearen Überprüfung zu vermeiden.
- Human-in-the-Loop: Durch die Überprüfung und Kommentierung des generierten Auditplans vor der Ausführung haben Sie die Aufsicht über autonome Vorgänge behalten.
- Automatisierte Fehlerbehebung und Bestätigung: Sie haben gesehen, wie KI-Agenten nicht nur Codequalitätsabweichungen diagnostizieren, sondern auch den Code überarbeiten und ihre eigenen Änderungen anhand lokaler Testsuiten überprüfen können.