6 Punkte von GN⁺ 14 일 전 | 1 Kommentare | Auf WhatsApp teilen
  • 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/agents abgelegt, werden sie als globale Agenten für persönliche Workflows registriert; werden sie in .gemini/agents eines 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-specialist gezeigt:
    • In dem Frontmatter werden name, description, tools (read_file, grep_search, glob, list_directory, web_fetch, google_web_search), model: inherit usw. 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
  • Wird die Datei unter .gemini/agents/frontend-specialist.md abgelegt, 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-specialist App-Review und Kennzeichnung von Verbesserungsmöglichkeiten anfordern
    • Beispiel: @generalist Aktualisierung der Lizenz-Header im gesamten Projekt
    • Beispiel: @codebase_investigator Mapping des Authentifizierungsflusses
  • 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 /agents ausgeführt werden

1 Kommentare

 
chlrhdmltkfkd 13 일 전

Bei Gemini CLI wäre es schon schön, wenn es einfach mal richtig funktionieren würde, aber es stürzt ständig ab.