Subagent-Funktionen in Gemini CLI eingeführt
(developers.googleblog.com)- Gemini CLI unterstützt nun offiziell eine Multi-Agenten-Architektur, mit der komplexe und wiederkehrende Aufgaben an spezialisierte Subagenten delegiert werden können
- Jeder Subagent verfügt über ein eigenständiges Kontextfenster, benutzerdefinierte System Instructions und ein dediziertes Toolset und läuft in einer isolierten Umgebung
- Benutzerdefinierte Subagenten werden über Markdown-Dateien und YAML-Frontmatter definiert und können global oder auf Projektebene im Team geteilt werden
- Mehrere Subagenten lassen sich parallel ausführen, wodurch sich die Gesamtzeit für zahlreiche Aufgaben wie Research oder Refactoring deutlich verkürzt
- Zusammen mit den standardmäßig integrierten Agenten (generalist, cli_help, codebase_investigator) ist per @agent-Syntax eine explizite Delegation von Aufgaben möglich, was die Skalierbarkeit CLI-basierter Entwicklungs-Workflows erhöht
Konzept der Subagenten und zentrale Vorteile
- Subagenten sind spezialisierte Agenten, die zusammen mit der primären Gemini-CLI-Sitzung arbeiten. Bei komplexen Aufgaben übernimmt Gemini CLI die Rolle eines strategischen Orchestrators und delegiert Teilaufgaben an den jeweils am besten geeigneten Subagenten
- Jeder Subagent besitzt eigene tools, MCP-Server, System Instructions und ein Kontextfenster und wird vollständig isoliert ausgeführt
- Die gesamte Ausführung eines Subagenten, einschließlich Dutzender Tool-Aufrufe, Dateisuche und Testläufe, wird zu einer einzelnen Antwort zusammengefasst und an den Hauptagenten zurückgegeben
- Dadurch wird verhindert, dass sich das Haupt-Kontextfenster füllt, und die Geschwindigkeit sowie Kosteneffizienz nachfolgender Interaktionen bleiben erhalten
- Drei zentrale Vorteile:
- Der Hauptagent kann sich auf das Gesamtziel, Entscheidungen und die endgültige Antwort konzentrieren
- Spezialisierte Subagenten für Research, Code-Erkundung, Analyse und Tests können parallel ausgeführt werden, um die Arbeitsgeschwindigkeit zu erhöhen
- Da Subagenten Zusammenfassungen oder formatierte Antworten zurückgeben, werden context rot und context pollution in der Hauptsitzung vermieden
Benutzerdefinierte Subagenten erstellen
- Benutzerdefinierte Subagenten werden in Markdown-Dateien (
.md) mithilfe von YAML-Frontmatter definiert - Werden sie unter
~/.gemini/agentsabgelegt, werden sie als globale Agenten für persönliche Workflows registriert; werden sie in.gemini/agentseines Repositories committed, können sie auf Projektebene mit dem Team geteilt werden - Agent-Definitionsdateien können auch in das Verzeichnis
agents/von Gemini CLI extensions aufgenommen und so als Teil einer Erweiterung gebündelt werden - Beispielhaft wird eine Konfiguration für den Agenten
frontend-specialistgezeigt:- In dem Frontmatter werden
name,description,tools(read_file, grep_search, glob, list_directory, web_fetch, google_web_search),model: inheritusw. definiert - In den System Instructions wird die Rolle als Senior Frontend Specialist und UI/UX Architect festgelegt
- Als Kernprinzipien werden modulare Architekturgestaltung, Performance-Optimierung auf Basis der Core Web Vitals und Einhaltung der WCAG-2.1+-Barrierefreiheit genannt
- Die Richtlinien umfassen die bevorzugte Nutzung nativer Browser-APIs, Atomic Component Design, visuelles Feedback für verschiedene Zustände (Loading, Skeleton, Error, Empty State, Success), Progressive Enhancement und wartungsorientiertes Design
- Die Rolle dieses Agenten ist auf Analyse und Verbesserungsvorschläge beschränkt; er ändert den Code nicht direkt
- In dem Frontmatter werden
- Wird die Datei unter
.gemini/agents/frontend-specialist.mdabgelegt, erkennt Gemini CLI den neuen Spezialisten sofort
Parallele Ausführung
- Gemini CLI unterstützt die parallele Ausführung von Subagenten, sodass mehrere Subagenten oder mehrere Instanzen desselben Subagenten gleichzeitig laufen können
- Wenn fünf unterschiedliche Themen recherchiert oder mehrere einzelne Komponenten refaktoriert werden müssen, können mehrere Agenten gleichzeitig dispatcht werden, was die Gesamtzeit deutlich reduziert
- Beispiel für eine explizite Anforderung: "Run the frontend-specialist on each package in parallel."
- Hinweise:
- Bei der Verwendung paralleler Subagenten für umfangreiche Code-Editing-Aufgaben können Konflikte entstehen und Agenten gegenseitig Code überschreiben
- Da bei paralleler Ausführung Anfragen gleichzeitig gesendet werden, werden usage limits schneller erreicht
Integrierte Subagenten und Nutzung
- Drei standardmäßig in Gemini CLI enthaltene Subagenten:
- generalist: ein universeller Agent mit Zugriff auf alle Tools, geeignet für turn-intensive Aufgaben wie Batch-Refactorings oder Befehle mit großem Ausgabevolumen (im Wesentlichen eine Kopie des normalen Gemini-CLI-Agenten als Subagent)
- cli_help: ein Spezialagent für Gemini CLI selbst, der direkten Zugriff auf die Gemini-CLI-Dokumentation hat und Fragen zu Funktionen beantwortet
- codebase_investigator: spezialisiert auf Codebase-Erkundung, Architektur-Mapping, Ursachenanalyse von Bugs und das Verständnis systemweiter Abhängigkeiten
- Gemini CLI führt auf Basis der Description eines Subagenten ein automatisches Routing durch; mit der @agent-Syntax lassen sich Aufgaben aber auch explizit an einen bestimmten Agenten delegieren
- Beispiel:
@frontend-specialistApp-Review und Kennzeichnung von Verbesserungsmöglichkeiten anfordern - Beispiel:
@generalistAktualisierung der Lizenz-Header im gesamten Projekt - Beispiel:
@codebase_investigatorMapping des Authentifizierungsflusses
- Beispiel:
- Wenn der Name eines Subagenten hinter das Symbol @ gesetzt wird, bearbeitet dieser die Aufgabe innerhalb seines isolierten Kontextfensters
- Um alle aktuell konfigurierten Subagenten zu sehen, kann in Gemini CLI der Befehl
/agentsausgeführt werden
1 Kommentare
Bei Gemini CLI wäre es schon schön, wenn es einfach mal richtig funktionieren würde, aber es stürzt ständig ab.