Utilizzare la modalità agente di Gemini Code Assist

Questo documento descrive come configurare e utilizzare la modalità Agent di Gemini Code Assist come programmatore in coppia nel tuo ambiente di sviluppo integrato (IDE).

Con la modalità Agent, puoi eseguire le seguenti operazioni e altro ancora:

  • Porre domande sul codice.
  • Utilizzare il contesto e gli strumenti integrati per migliorare i contenuti generati.
  • Configurare i server MCP per estendere le funzionalità dell'agente.
  • Ottenere soluzioni per attività complesse con più passaggi.
  • Generare codice da documenti di progettazione, problemi e commenti TODO.
  • Controllare il comportamento dell'agente commentando, modificando e approvando i piani e l'utilizzo degli strumenti durante l'esecuzione.

Limitazioni

Alcune funzionalità della chat standard di Gemini Code Assist potrebbero non essere disponibili in modalità Agent o potrebbero funzionare in modo diverso rispetto alla chat standard.

La recitazione non è disponibile in modalità Agent. In modalità Agent, Gemini non cita le fonti e non puoi disattivare i suggerimenti di codice che corrispondono alle fonti citate.

Prima di iniziare

  1. Configura la versione di Gemini Code Assist che vuoi utilizzare nel tuo IDE:

Usa la modalità Agent

In modalità Agent, puoi chiedere a Gemini di completare obiettivi di alto livello e attività complesse.

Per sfruttare al meglio la modalità Agent, segui le best practice per i prompt e fornisci il maggior numero possibile di dettagli.

Per passare alla modalità Agent:

VS Code

  1. Per aprire la chat di Gemini Code Assist, nella barra delle attività del tuo IDE, fai clic su spark Gemini Code Assist.
  2. Fai clic sul pulsante di attivazione/disattivazione Agente per accedere alla modalità Agent. Il pulsante di attivazione/disattivazione è evidenziato quando è impostato sulla modalità Agent e grigio nella chat normale.
  3. Nella chat di Gemini Code Assist, inserisci il prompt.

Gemini ti fornisce una risposta al prompt o richiede l'autorizzazione per utilizzare uno strumento.

Per arrestare l'agente, fai clic su Interrompi.

Per utilizzare la chat standard di Gemini Code Assist, fai clic su Nuova chat per creare una nuova chat.

IntelliJ

  1. Fai clic sulla stella spark Gemini nella barra della finestra degli strumenti. Esegui l'accesso, se ti viene richiesto.
  2. Seleziona la scheda Agente.
  3. Descrivi l'attività che vuoi che l'agente esegua.
  4. Man mano che l'agente esegue i passaggi per completare l'attività, avrai la possibilità di esaminare e approvare le modifiche.

  5. (Facoltativo) Per approvare automaticamente le modifiche, seleziona Impostazioni Opzioni agente e fai clic sulla casella di controllo accanto a Approva automaticamente le modifiche.

Configura gli strumenti per la modalità Agent

Gli strumenti sono una categoria ampia di servizi che un agente può utilizzare per il contesto e le azioni nella sua risposta al prompt. Alcuni esempi di strumenti sono gli strumenti integrati come grep e lettura o scrittura di file, i server Model Context Protocol (MCP) locali o remoti e le relative funzioni eseguibili o le implementazioni di servizi personalizzati.

Controlla l'utilizzo degli strumenti integrati

La modalità Agent ha accesso agli strumenti integrati, come la ricerca di file, la lettura di file, la scrittura di file, i comandi del terminale e altro ancora.

VS Code

Puoi utilizzare le impostazioni coreTools e excludeTools per controllare a quali strumenti Gemini ha accesso in modalità Agent.

coreTools
Consente di specificare un elenco di strumenti che vuoi che siano disponibili per il modello. Puoi anche specificare restrizioni specifiche per i comandi per gli strumenti che le supportano. Ad esempio, se aggiungi quanto segue al file JSON delle impostazioni di Gemini, verrà consentita l'esecuzione solo del comando della shell ls -l "coreTools": ["ShellTool(ls -l)"].
excludeTools
Consente di specificare un elenco di strumenti che non vuoi che siano disponibili per il modello. Puoi anche specificare restrizioni specifiche per i comandi per gli strumenti che le supportano. Ad esempio, se aggiungi quanto segue al file JSON delle impostazioni di Gemini , verrà bloccato l'utilizzo del comando rm -rf: "excludeTools": ["ShellTool(rm -rf)"].

Uno strumento elencato sia in excludeTools che in coreTools viene escluso.

Per configurare gli strumenti integrati disponibili in modalità Agent:

  1. Apri il file JSON delle impostazioni di Gemini che si trova in ~/.gemini/settings.json dove ~ è la tua home directory.
  2. Per limitare l'utilizzo degli strumenti dell'agente a un elenco di strumenti approvati, aggiungi la seguente riga al file JSON delle impostazioni di Gemini:

    "coreTools": ["TOOL_NAME_1,TOOL_NAME_2"]
    

    Sostituisci TOOL_NAME_1 e TOOL_NAME_2 con i nomi degli strumenti integrati a cui vuoi che l' agente abbia accesso.

    Puoi elencare tutti gli strumenti integrati che vuoi. Per impostazione predefinita, tutti gli strumenti integrati sono disponibili per l'agente.

  3. Per limitare l'utilizzo degli strumenti dell'agente a comandi di strumenti specifici, aggiungi la seguente riga al file JSON delle impostazioni di Gemini:

    "coreTools": ["TOOL_NAME(COMMAND)"]
    

    Sostituisci quanto segue:

    • TOOL_NAME: il nome dello strumento integrato
    • COMMAND: il nome del comando dello strumento integrato che vuoi che l'agente possa utilizzare.
  4. Per escludere uno strumento dall'utilizzo dell'agente, aggiungi la seguente riga al file JSON delle impostazioni di Gemini:

    "excludeTools": ["TOOL_NAME_1,TOOL_NAME_2"]
    

    Sostituisci TOOL_NAME_1 e TOOL_NAME_2 con i nomi degli strumenti integrati che vuoi escludere dall'utilizzo dell'agente.

  5. Per escludere un comando dello strumento dall'utilizzo dell'agente, aggiungi la seguente riga al file JSON delle impostazioni di Gemini:

    "excludeTools": ["TOOL_NAME(COMMAND)"]
    

    Sostituisci quanto segue:

    • TOOL_NAME: il nome dello strumento integrato
    • COMMAND: il nome del comando dello strumento integrato che vuoi escludere dall'utilizzo dell'agente.

Per saperne di più sulle impostazioni di configurazione coreTools e excludeTools, consulta la documentazione di configurazione di Gemini CLI.

IntelliJ

Questa funzionalità non è supportata in Gemini Code Assist per IntelliJ o in altri IDE JetBrains.

Configura i server MCP

Le seguenti istruzioni mostrano come rendere disponibili i server MCP per l'utilizzo in modalità Agent nel tuo IDE. Dopo aver reso disponibile un server MCP, Gemini Code Assist decide automaticamente quando e come utilizzare gli strumenti del server contenuti in quel server MCP.

VS Code

Per rendere disponibili i server MCP per l'utilizzo in modalità Agent, aggiungi la configurazione di ogni server nel file JSON delle impostazioni di Gemini, in base alla documentazione di ogni server.

  1. Installa le dipendenze richieste dai server MCP che stai aggiungendo.
  2. Apri il file JSON delle impostazioni di Gemini, che si trova in ~/.gemini/settings.json, dove ~ è la tua home directory.
  3. Configura ogni server MCP locale o remoto nelle impostazioni di Gemini (file JSON), in base alle istruzioni di ogni server.

    Il seguente file JSON delle impostazioni di Gemini di esempio configura due server MCP Cloudflare remoti, un server MCP GitLab remoto e un server MCP GitHub locale per l'utilizzo con Gemini Code Assist in VS Code.

    {
      "mcpServers": {
        "github": {
          "command": "npx",
          "args": ["-y", "@modelcontextprotocol/server-github"],
          "env": {
            "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_example_personal_access_token12345"
          }
        },
        "gitlab": {
          "command": "npx",
          "args": ["mcp-remote", "https://your-gitlab-instance.com/api/v4/mcp"]
        },
        "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. Apri la tavolozza dei comandi e seleziona Sviluppatore: ricarica finestra.

I server MCP configurati sono disponibili per l'utilizzo dell'agente in modalità Agent.

IntelliJ

Per rendere disponibili i server MCP per l'utilizzo in modalità Agent, aggiungi la configurazione di ogni server in un file mcp.json e inserisci il file mcp.json nella directory di configurazione del tuo IDE.

  1. Installa le dipendenze richieste dai server MCP che stai aggiungendo.
  2. Crea un file denominato mcp.json nella directory di configurazione dell'IDE .
  3. Configura ogni server MCP locale o remoto nel file mcp.json, in base alle istruzioni di ogni server.

    Il seguente file mcp.json di esempio configura due server MCP Cloudflare remoti, un server MCP GitLab remoto e un server MCP GitHub locale per l'utilizzo con Gemini Code Assist in IntelliJ.

    {
      "mcpServers": {
        "github": {
          "command": "npx",
          "args": ["-y", "@modelcontextprotocol/server-github"],
          "env": {
            "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_example_personal_access_token12345"
          }
        },
        "gitlab": {
          "command": "npx",
          "args": ["mcp-remote", "https://your-gitlab-instance.com/api/v4/mcp"]
        },
        "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"]
        }
      }
    }
    

I server MCP configurati sono disponibili per l'utilizzo dell'agente in modalità Agent.

Autenticazione del server MCP

Alcuni server MCP richiedono l'autenticazione. Segui la documentazione del server per creare i token utente richiesti e poi specificarli in modo appropriato. In genere, i token di autenticazione per i server locali vengono specificati utilizzando la variabile di ambiente specifica del server appropriata, mentre i token di autenticazione per i server remoti vengono specificati utilizzando l'intestazione HTTP Authorization.

VS Code

Per i server MCP che richiedono l'autenticazione, puoi aggiungerli al file JSON delle impostazioni di Gemini.

L'esempio seguente mostra come specificare un token di accesso personale per i server MCP locali e remoti di GitHub:

{
  "mcpServers": {
    "github-remote": {
      "httpUrl": "https://api.githubcopilot.com/mcp/",
      "headers": {
        "Authorization": "Bearer ACCESS_TOKEN"
      }
    },
    "github-local": {
      "command": "/Users/username/code/github-mcp-server/cmd/github-mcp-server/github-mcp-server",
      "args": ["stdio"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ACCESS_TOKEN"
      }
    }
  }
}

Dove ACCESS_TOKEN è il token di accesso dell'utente.

IntelliJ

Per i server MCP che richiedono l'autenticazione, puoi aggiungerli al file mcp.json.

L'esempio seguente aggiunge un token di accesso personale per il server locale di GitHub:

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

Dove ACCESS_TOKEN è il token di accesso dell'utente.

Crea un file di contesto

Il contesto consente a un agente di generare risposte migliori per un determinato prompt. Il contesto può essere ricavato da file nell'IDE, file nelle cartelle del sistema locale, risposte degli strumenti e dettagli del prompt. Per saperne di più, consulta la sezione Contesto della modalità Agent.

VS Code

  1. Crea un file denominato GEMINI.md in una posizione che corrisponda all'ambito a cui vuoi applicare il contesto. La tabella seguente descrive le posizioni dei file di contesto per i diversi ambiti:

    Ambito Posizione
    Tutti i tuoi progetti ~/.gemini/GEMINI.md
    Un progetto specifico La directory di lavoro o le directory principali fino alla radice del progetto (identificata da una cartella .git) o alla home directory.
    Un componente, un modulo o una sottosezione specifica di un progetto Sottodirectory della directory di lavoro.

    Il sistema di memoria dell'agente viene creato caricando i file di contesto da più posizioni. Il contesto di file più specifici, come quelli per componenti o moduli specifici, sostituisce o integra i contenuti di file di contesto più generali, come il file di contesto globale in ~/.gemini/GEMINI.md.

  2. Scrivi le regole, le informazioni della guida di stile o il contesto che vuoi che l'agente utilizzi in Markdown e salva il file. Per saperne di più, consulta il file di contesto di esempio su GitHub.

L'agente include le informazioni nel file di contesto insieme a tutti i prompt che gli invii.

IntelliJ

  1. Crea un file denominato GEMINI.md o AGENT.md nella directory principale del progetto.

  2. Scrivi le regole, le informazioni della guida di stile o il contesto che vuoi che l'agente utilizzi in Markdown e salva il file.

L'agente include le informazioni nel file di contesto insieme a tutti i prompt che gli invii. Puoi anche aggiungere il contesto includendo manualmente un file con la sintassi @FILENAME, dove FILENAME è il nome del file con le informazioni contestuali che vuoi includere.

Utilizza i comandi

I comandi con barra / ti consentono di eseguire rapidamente comandi simili a quelli in una finestra del terminale.

VS Code

Puoi utilizzare i seguenti comandi integrati di Gemini CLI in modalità Agent:

  • /tools: mostra un elenco degli strumenti disponibili nella sessione della modalità Agent.
  • /mcp: elenca i server Model Context Protocol (MCP) configurati, il relativo stato della connessione, i dettagli del server e gli strumenti disponibili.

Per saperne di più sui comandi di Gemini CLI, consulta Comandi di Gemini CLI e Comandi personalizzati di Gemini. Tieni presente che non tutti i comandi di Gemini CLI sono disponibili in modalità Agent.

IntelliJ

Questa funzionalità non è supportata in Gemini Code Assist per IntelliJ o in altri IDE JetBrains.

Consenti sempre le azioni dell'agente

Puoi consentire automaticamente tutte le azioni dell'agente.

Per consentire automaticamente tutte le azioni dell'agente:

VS Code

Utilizza la modalità yolo per consentire automaticamente tutte le azioni dell'agente. La modalità yolo può essere utilizzata solo in un'area di lavoro attendibile.

Per configurare la modalità yolo:

  1. Apri il file JSON delle impostazioni utente di VS Code:

    1. Apri la tavolozza dei comandi (ctrl/command + Shift + P).
    2. Seleziona Preferenze: apri impostazioni utente (JSON).
  2. Aggiungi quanto segue al file JSON delle impostazioni utente di VS Code:

    //other settings...
    
    "geminicodeassist.agentYoloMode": true,
    //other settings...
    
  3. Apri la tavolozza dei comandi e seleziona Sviluppatore: ricarica finestra.

La modalità Agent utilizza la modalità yolo e non chiede l'autorizzazione prima di eseguire azioni quando gli invii un prompt. Quando utilizzi un' area di lavoro con limitazioni, l'agente ti chiederà conferma prima di eseguire azioni, indipendentemente da questa impostazione.

IntelliJ

Per approvare automaticamente le modifiche, nella scheda chat con Gemini, seleziona Impostazioni Opzioni agente e poi fai clic sulla casella di controllo accanto a Approva automaticamente le modifiche.

La modalità Agent approva automaticamente tutte le richieste e non chiede l'autorizzazione prima di eseguire azioni quando gli invii un prompt.

Ulteriori prompt

Prova i seguenti prompt con le tue informazioni:

  • "Che cosa fa questo repository? Aiutami a capire l'architettura."
  • "Che cosa fa questa [classe/funzione]?"
  • "Aggiungi una funzionalità a questa codebase - "[link-or-path-to-codebase]"."
  • "Esegui il refactoring delle funzioni [A] e [B] per utilizzare il metodo comune [C]."
  • "Correggi il problema di GitHub [link-to-github-issue]."
  • "Crea un'applicazione per [obiettivo] con un'interfaccia utente che consenta all'utente di eseguire [attività] nell'[ambiente]."
  • "Esegui la migrazione delle versioni delle librerie in questo repository da [X] a [Y]."
  • "Ottimizza il rendimento di questo codice Go in modo che venga eseguito più velocemente."
  • "Utilizza [name-of-API] per sviluppare questa funzionalità."
  • "Implementa un algoritmo per eseguire [x], [Y] e [Z]."

(Facoltativo) Utilizza una chiave API

Gemini Code Assist include quote giornaliere diverse per le funzionalità agent, a seconda del livello in cui ti trovi.

Se hai esaurito la quota giornaliera per la modalità Agent di Gemini Code Assist, puoi continuare a utilizzare il servizio fornendo una chiave API. Puoi utilizzare una chiave API Gemini o una chiave API Vertex AI.

Per aggiungere la chiave API:

  1. Vai alle impostazioni dell'IDE.

  2. Apri il file settings.json.

  3. Aggiungi la seguente riga, sostituendo YOUR_KEY con la tua chiave API:

    "geminicodeassist.geminiApiKey": "YOUR_KEY"

Passaggi successivi