Agentic Chat als Pair-Programmierer verwenden

In diesem Dokument wird beschrieben, wie Sie den Gemini Code Assist-Agent-Modus als Pair-Programmierer in Ihrer integrierten Entwicklungsumgebung (IDE) konfigurieren und verwenden.

Der Agent-Modus ist in VS Code verfügbar.

Hier sind einige Beispiele dafür, wie Sie Gemini Code Assist im Agent-Modus verwenden können:

  • Fragen zu Ihrem Code stellen
  • Verwenden Sie integrierte Tools und Kontext im Agent-Modus, um generierte Inhalte zu verbessern.
  • Konfigurieren Sie MCP-Server, um die Funktionen des Agents zu erweitern.
  • Lösungen für komplexe Aufgaben mit mehreren Schritten erhalten
  • Code aus Designdokumenten, Problemen und TODO-Kommentaren generieren.
  • Sie können das Verhalten des Agents steuern, indem Sie Pläne und die Verwendung von Tools während der Ausführung kommentieren, bearbeiten und genehmigen.

Funktionsweise des Agent-Modus

Im Agent-Modus wird Ihr Prompt zusammen mit einer Liste der verfügbaren Tools an die Gemini API gesendet. Die Gemini API verarbeitet den Prompt und gibt eine Antwort zurück. Die Antwort kann eine direkte Antwort oder eine Anfrage zur Verwendung eines verfügbaren Tools sein.

Wenn ein Tool angefordert wird, bereitet sich der Agent darauf vor, es zu verwenden, und prüft, ob er das Tool ohne explizite Berechtigung verwenden darf. Bei Toolanfragen, die das Dateisystem ändern oder Mutationen an Ressourcen vornehmen, werden Sie von Gemini um Erlaubnis für den Vorgang gebeten, sofern Sie Gemini nicht so konfiguriert haben, dass das Tool oder die Tools immer zugelassen werden. Bei schreibgeschützten Toolanfragen wird möglicherweise keine Berechtigung angefordert, bevor die Aufgabe ausgeführt wird. Wenn Sie aufgefordert werden, die Verwendung eines Tools zuzulassen, können Sie den Vorgang zulassen oder ablehnen. Der Agent bietet Ihnen möglicherweise auch Optionen, um ein Tool oder einen Server oder ähnliche Vorgänge immer zuzulassen.

Sobald die Berechtigung zur Verwendung des Tools erteilt wurde, verwendet der Agent das Tool, um die erforderliche Aktion auszuführen. Das Ergebnis der Aktion wird an die Gemini API zurückgesendet. Gemini verarbeitet das Ergebnis der Tool-Aktion und generiert eine weitere Antwort. Dieser Zyklus aus Aktion und Bewertung wird fortgesetzt, bis die Aufgabe abgeschlossen ist.

Bei komplexen Aufgaben zeigt Gemini möglicherweise einen allgemeinen Plan an, den Sie genehmigen müssen. Sie können den Plan optimieren und im Chat Fragen stellen, bevor Sie mit dem Prozess beginnen. Wenn Sie mit dem Plan zufrieden sind, können Sie ihn genehmigen. Der Agent beginnt mit der ersten Aufgabe und bittet Sie bei Bedarf um Klarstellungen oder Berechtigungen, während er den Plan ausführt.

Kontext des Agent-Modus

Kontext ermöglicht es einem Agent, bessere Antworten auf einen bestimmten Prompt zu generieren. Der Kontext kann aus Dateien in Ihrer IDE, Dateien in Ihren lokalen Systemordnern, Tool-Antworten und Ihren Promptdetails stammen.

Je nach IDE und Einstellungen sind möglicherweise verschiedene Kontexte für den Agent verfügbar.

Die folgenden Methoden zum Abrufen von Kontext sind in der Regel für Gemini Code Assist im Agent-Modus verfügbar:

  • Informationen in Ihrem IDE-Arbeitsbereich.
  • Tool-Antworten von integrierten Tools wie grep, Terminal, Datei lesen oder Datei schreiben.
  • Antworten in der Google Suche
  • Inhalte von einer bestimmten URL, die in einem Prompt oder von einem Tool angegeben wird.
  • Kontextdateien, die Sie in Markdown erstellen und die für alle Ihre Projekte, ein bestimmtes Projekt oder bestimmte Anweisungen für eine bestimmte Komponente, ein bestimmtes Modul oder einen bestimmten Unterabschnitt Ihres Projekts gelten. Kontextdateien können Anweisungen, Richtlinien oder Kontext enthalten, die Gemini bei Interaktionen im Agent-Modus berücksichtigen soll.

Arbeitsspeicher im Agent-Modus

Im Gemini Code Assist-Agent-Modus wird der Gemini CLI-Speicher-Discovery-Dienst verwendet, um GEMINI.md-Dateien zu finden und zu laden, die Kontext für den Agenten bereitstellen. Der Dienst zur Erkennung von Erinnerungen sucht hierarchisch nach Dateien, beginnend mit dem aktuellen Arbeitsverzeichnis und aufsteigend bis zum Projektstamm und Ihrem Home-Verzeichnis. Es wird auch in Unterverzeichnissen gesucht.

Sie können Kontextdateien auf globaler Ebene, auf Projektebene und auf Komponentenebene haben, die alle kombiniert werden, um dem Modell die relevantesten Informationen zu liefern.

Mit dem Befehl /memory show können Sie den kombinierten Inhalt aller geladenen GEMINI.md-Dateien aufrufen und mit dem Befehl /memory refresh neu laden.

Gemini CLI-Erweiterungen

In VS Code können Sie Gemini CLI-Erweiterungen verwenden, um die Funktionen des Gemini Code Assist-Agent-Modus zu konfigurieren und zu erweitern.

Der Agent sucht an zwei Stellen nach Erweiterungen:

  • WORKSPACE/.gemini/extensions, wobei WORKSPACE Ihr aktueller Arbeitsbereich ist.
  • ~/.gemini/extensions, wobei ~ Ihr Basisverzeichnis ist.

Der Agent lädt alle Erweiterungen von beiden Speicherorten. Wenn jedoch eine Erweiterung mit demselben Namen in beiden Speicherorten vorhanden ist, hat die Erweiterung im Arbeitsbereichsverzeichnis Vorrang. Jede Erweiterung ist ein Verzeichnis, das eine gemini-extension.json-Datei enthält. Diese Datei enthält die Konfiguration für die Erweiterung.

Weitere Informationen finden Sie unter Gemini-CLI-Erweiterungen.

Beschränkungen

Bei der Verwendung des Agent-Modus gelten die folgenden Einschränkungen:

  • Der Agent kann Gemini Code Assist-Tools nicht aufrufen. Sie müssen den Agent-Modus beenden, um diese Tools verwenden zu können.
  • Der Agent kann keine Codeanpassung verwenden. Sie müssen den Agent-Modus beenden, um die Codeanpassung zu verwenden.
  • Projekte mit mehreren Stammverzeichnissen werden im Agent-Modus nicht unterstützt. Wenn Sie den Agent-Modus in einem Projekt mit mehreren Stammverzeichnissen verwenden, hat der Agent nur Zugriff auf das erste Stammverzeichnis, das er findet.
  • Gemini für Google Cloud -Protokolle werden im Agent-Modus nicht unterstützt.

Hinweise

  1. Gemini Code Assist einrichten
  2. Stellen Sie die Release-Version für Gemini Code Assist auf den Insiders-Build ein:
    1. Öffnen Sie die Befehlspalette (Cmd + Shift + P) und wählen Sie dann Open User Settings JSON (JSON-Nutzereinstellungen öffnen) aus.
    2. Fügen Sie der JSON-Datei mit Ihren Nutzereinstellungen die folgende Zeile hinzu:
      "geminicodeassist.updateChannel": "Insiders",

Agent-Modus verwenden

Im Agent-Modus können Sie Gemini bitten, allgemeine Ziele und komplexe Aufgaben zu erledigen.

Wenn Sie den Agent-Modus optimal nutzen möchten, sollten Sie die Best Practices für Prompts beachten und so viele Details wie möglich angeben.

So wechseln Sie in den Agent-Modus:

VS Code

  1. Klicken Sie in der Aktivitätsleiste Ihrer IDE auf spark Gemini Code Assist, um den Gemini Code Assist-Chat zu öffnen.
  2. Klicken Sie auf die Ein/Aus-Schaltfläche Agent, um den Agent-Modus aufzurufen. Der Schalter wird hervorgehoben, wenn er auf den Agentenmodus eingestellt ist, und grau, wenn er sich im normalen Chat befindet.
  3. Geben Sie im Gemini Code Assist-Chat Ihren Prompt ein.

Gemini gibt eine Antwort auf Ihren Prompt aus oder fordert die Berechtigung zur Verwendung eines Tools an.

Klicken Sie auf Beenden, um den Agent zu beenden.

Wenn Sie den Standard-Chat von Gemini Code Assist verwenden möchten, klicken Sie auf Neuer Chat, um einen neuen Chat zu erstellen.

Der Gemini Code Assist-Agent-Modus basiert auf der Gemini CLI.

IntelliJ

Diese Funktion wird in Gemini Code Assist für IntelliJ oder anderen JetBrains-IDEs nicht unterstützt.

Tools für den Agent-Modus konfigurieren

Tools sind eine breite Kategorie von Diensten, die ein Agent für Kontext und Aktionen in seiner Antwort auf Ihren Prompt verwenden kann. Beispiele für Tools sind integrierte Tools wie „grep“ und „Datei lesen oder schreiben“, lokale oder Remote-MCP-Server (Model Context Protocol) oder benutzerdefinierte Dienstimplementierungen.

MCP-Server konfigurieren

Wenn Sie festlegen möchten, welche Server im Agent-Modus verfügbar sind, fügen Sie sie gemäß der Serverdokumentation zu Ihrer JSON-Datei mit den Gemini-Einstellungen hinzu.

VS Code

  1. Installieren Sie alle Abhängigkeiten, die für Ihren MCP-Server erforderlich sind.
  2. Öffnen Sie die JSON-Datei mit Ihren Gemini-Einstellungen unter ~/.gemini/settings.json, wobei ~ Ihr Home-Verzeichnis ist.
  3. Fügen Sie Ihrer JSON-Datei für die Gemini-Einstellungen gemäß den Serveranweisungen lokale oder Remote-MCP-Server hinzu.

    Im folgenden Beispiel wird der Remote-Cloudflare-MCP-Server hinzugefügt und die GitHub- und GitLab-Server werden auf dem lokalen Computer installiert.

    {
        "mcpServers": {
        "github": {
          "command": "npx",
          "args": [
            "-y",
            "@modelcontextprotocol/server-github"
          ],
          "env": {
            "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_example_personal_access_token12345"
          }
        },
        "gitlab": {
          "command": "npx",
          "args": [
              "-y",
              "@modelcontextprotocol/server-gitlab"
          ]
        },
            "cloudflare-observability": {
                "command": "npx",
                "args": ["mcp-remote", "https://observability.mcp.cloudflare.com/sse"]
            },
            "cloudflare-bindings": {
                "command": "npx",
                "args": ["mcp-remote", "https://bindings.mcp.cloudflare.com/sse"]
            }
        }
    }
    

  4. Öffnen Sie die Befehlspalette und wählen Sie Entwickler: Fenster neu laden aus.

Ihre konfigurierten MCP-Server stehen dem Agent im Agent-Modus zur Verfügung.

IntelliJ

Diese Funktion wird in Gemini Code Assist für IntelliJ oder anderen JetBrains-IDEs nicht unterstützt.

MCP-Serverauthentifizierung

MCP-Server, für die eine Authentifizierung erforderlich ist, können Sie der JSON-Datei für Ihre Gemini-Einstellungen hinzufügen.

Im folgenden Beispiel wird ein persönliches Zugriffstoken für GitHub hinzugefügt:

{
//other settings...

"github": {
  "command": "/Users/username/code/github-mcp-server/cmd/github-mcp-server/github-mcp-server",
  "args": ["stdio"],
  "env": {
    "GITHUB_PERSONAL_ACCESS_TOKEN": "ACCESS_TOKEN"
  }
},

// other settings...
}

Dabei ist ACCESS_TOKEN das Zugriffstoken des Nutzers.

Kontextdatei erstellen

VS Code

  1. Erstellen Sie eine Datei mit dem Namen GEMINI.md an einem Speicherort, der dem Bereich entspricht, auf den sich der Kontext beziehen soll. In der folgenden Tabelle sind die Speicherorte für Kontextdateien für verschiedene Bereiche aufgeführt:

    Umfang Standort
    Alle Ihre Projekte ~/.gemini/GEMINI.md
    Ein bestimmtes Projekt Ihr Arbeitsverzeichnis oder alle übergeordneten Verzeichnisse bis zum Projektstammverzeichnis (durch einen .git-Ordner gekennzeichnet) oder Ihrem Home-Verzeichnis.
    Eine bestimmte Komponente, ein bestimmtes Modul oder ein bestimmter Unterabschnitt eines Projekts Unterverzeichnisse Ihres Arbeitsverzeichnisses.

    Das Speichersystem des Agents wird durch das Laden von Kontextdateien von mehreren Speicherorten erstellt. Kontext aus spezifischeren Dateien, z. B. für bestimmte Komponenten oder Module, überschreibt oder ergänzt Inhalte aus allgemeineren Kontextdateien wie der globalen Kontextdatei unter ~/.gemini/GEMINI.md.

  2. Schreiben Sie alle Regeln, Styleguide-Informationen oder den Kontext, die der Agent verwenden soll, in Markdown und speichern Sie die Datei. Weitere Informationen finden Sie in der Beispielkontextdatei auf GitHub.

IntelliJ

Diese Funktion wird in Gemini Code Assist für IntelliJ oder anderen JetBrains-IDEs nicht unterstützt.

Befehle verwenden

Wenn Sie sich die Gemini CLI-Befehle ansehen möchten, die im Gemini Code Assist-Agent-Modus verfügbar sind, geben Sie / in den Gemini-Chat ein.

Sie können die folgenden Gemini-CLI-Befehle im Agent-Modus verwenden:

  • /tools: Zeigt eine Liste der Tools an, die in Ihrer Sitzung im Agent-Modus verfügbar sind. Zu den Unterbefehlen gehören:
    • desc oder descriptions: Hier finden Sie detaillierte Beschreibungen der einzelnen Tools.
    • nodesc oder nodescriptions: Blendet Toolbeschreibungen aus und zeigt nur Toolnamen an.
  • /memory: Verwaltet den Kontext des Agents, der aus GEMINI.md-Dateien geladen wird. Zu den Unterbefehlen gehören:
    • show: Zeigt den vollständigen, verketteten Inhalt des aktuellen Speichers an, der aus allen verfügbaren GEMINI.md-Dateien geladen wurde.
    • refresh: Lädt den Speicher aus allen GEMINI.md-Dateien an verfügbaren Speicherorten neu. Informationen dazu, wie GEMINI.md-Dateien zum hierarchischen Speicher des Agents beitragen, finden Sie in der Dokumentation zur Gemini CLI-Konfiguration.
  • /mcp: Hier werden konfigurierte MCP-Server (Model Context Protocol), ihr Verbindungsstatus, Serverdetails und verfügbare Tools aufgeführt. Zu den Unterbefehlen gehören:
    • desc oder descriptions: Hier finden Sie detaillierte Beschreibungen von MCP-Servern und ‑Tools.
    • nodesc oder nodescriptions: Blendet MCP-Serverbeschreibungen aus und zeigt nur MCP-Servernamen an.
    • schema: Zeigt das vollständige JSON-Schema für die konfigurierten Parameter des MCP-Servers.
  • /stats: Zeigt detaillierte Statistiken und die Dauer der Sitzung im Agent-Modus an.

Weitere Informationen zu Gemini CLI-Befehlen finden Sie unter Gemini CLI-Befehle. Hinweis: Nicht alle Gemini CLI-Befehle sind im Agent-Modus verfügbar.

YOLO-Modus

Im YOLO-Modus werden alle Agent-Aktionen automatisch zugelassen.

So konfigurieren Sie den YOLO-Modus:

  1. Öffnen Sie die JSON-Datei mit den VS Code-Nutzereinstellungen:

    1. Öffnen Sie die Befehlspalette (ctrl/command + Shift + P).
    2. Wählen Sie Preferences: Open User Settings (JSON) aus.
  2. Fügen Sie der JSON-Datei mit den VS Code-Nutzereinstellungen Folgendes hinzu:

    //other settings...
    
    "geminicodeassist.agentYoloMode": "true",
    //other settings...
    
  3. Öffnen Sie die Befehlspalette und wählen Sie Entwickler: Fenster neu laden aus.

Im Agent-Modus wird der YOLO-Modus verwendet. Sie werden nicht um Erlaubnis gefragt, bevor Aktionen ausgeführt werden, wenn Sie einen Prompt senden.

Zusätzliche Prompts

Probieren Sie die folgenden Prompts mit Ihren eigenen Informationen aus:

  • „Wozu dient dieses Repository? Hilf mir, die Architektur zu verstehen.“
  • „Was macht diese [Klasse/Funktion]?“
  • „Füge dieser Codebasis eine Funktion hinzu – [Link oder Pfad zur Codebasis].“
  • „Faktoriere die Funktionen [A] und [B] so um, dass sie die gemeinsame Methode [C] verwenden.“
  • „Behebe das GitHub-Problem [Link zum GitHub-Problem].“
  • „Erstelle eine Anwendung, die [Ziel] mit einer Benutzeroberfläche erreicht, die es dem Nutzer ermöglicht, [Aufgabe] in der [Umgebung] auszuführen.“
  • „Migriere die Bibliotheksversionen in diesem Repository von [X] zu [Y].“
  • „Optimiere die Leistung dieses Go-Codes, damit er schneller ausgeführt wird.“
  • „Verwende [name-of-API], um diese Funktion zu entwickeln.“
  • „Implementiere einen Algorithmus für [X], [Y] und [Z].“

Nächste Schritte