Utilizzare la chat con agenti come pair programmer

Questo documento descrive come configurare e utilizzare la modalità agente di Gemini Code Assist come pair programmer nel tuo ambiente di sviluppo integrato (IDE).

Con la modalità Agente, puoi fare quanto segue e altro ancora:

  • Fare domande sul codice.
  • Utilizza il contesto e gli strumenti integrati per migliorare i contenuti generati.
  • Configura i server MCP per estendere le funzionalità dell'agente.
  • Ricevi soluzioni per attività complesse con più passaggi.
  • Genera codice da documenti di progettazione, problemi e commenti TODO.
  • Controlla 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à agente o potrebbero funzionare in modo diverso rispetto alla chat standard.

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

Prima di iniziare

Utilizzare la modalità Agente

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

Per ottenere il massimo dalla modalità Agente, segui le best practice per i prompt e fornisci il maggior numero di dettagli possibile.

Per passare alla modalità Agente:

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 attivare la modalità Agente. L'opzione è evidenziata quando è attivata la modalità Agente e grigia quando è attiva la 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.

La modalità agente di Gemini Code Assist è basata sull'interfaccia a riga di comando di Gemini.

IntelliJ

  1. Fai clic su 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 rivedere e approvare eventuali 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.

Configurare gli strumenti per la modalità Agente

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

Controllare l'utilizzo degli strumenti integrati

La modalità Agente 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à agente.

coreTools
Consente di specificare un elenco di strumenti che vuoi siano disponibili per il modello. Puoi anche specificare limitazioni specifiche per i comandi per gli strumenti che lo 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 siano disponibili per il modello. Puoi anche specificare limitazioni specifiche per i comandi per gli strumenti che lo supportano. Ad esempio, se aggiungi quanto segue al JSON delle impostazioni di Gemini, l'utilizzo del comando rm -rf verrà bloccato:"excludeTools": ["ShellTool(rm -rf)"].

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

Per configurare gli strumenti integrati disponibili in modalità agente:

  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 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 da parte 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 da parte dell'agente.

Per ulteriori informazioni sulle impostazioni di configurazione di coreTools e excludeTools, consulta la documentazione sulla configurazione dell'interfaccia a riga di comando di Gemini.

IntelliJ

Questa funzionalità non è supportata nell'Assistente codice Gemini per IntelliJ o altri IDE JetBrains.

Configurare i server MCP

VS Code

Per rendere disponibili i server MCP per l'utilizzo in modalità agente, aggiungi la configurazione per ogni server nel file JSON delle impostazioni di Gemini, in base alla documentazione di ciascun 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 nel file JSON delle impostazioni di Gemini, in base alle istruzioni di ciascun server.

    L'esempio seguente aggiunge due server Cloudflare MCP remoti e configura i server GitHub e GitLab per l'esecuzione sulla macchina locale.

    {
      "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. Apri la tavolozza dei comandi e seleziona Sviluppatore: ricarica finestra.

I server MCP configurati sono disponibili per l'agente da utilizzare in modalità agente.

IntelliJ

Per rendere disponibili i server MCP per l'utilizzo in modalità agente, aggiungi la configurazione per 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 del tuo IDE.
  3. Configura ogni server MCP locale o remoto nel file mcp.json, in base alle istruzioni di ciascun server.

    L'esempio seguente aggiunge due server Cloudflare MCP remoti e configura i server GitHub e GitLab per l'esecuzione sulla macchina locale.

    {
      "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"]
        }
      }
    }
    

I server MCP configurati sono disponibili per l'agente da utilizzare in modalità agente.

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. I server locali potrebbero accettare variabili di ambiente, mentre i server remoti potrebbero accettare credenziali nelle intestazioni.

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 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.

Creare un file di contesto

Il contesto consente a un agente di generare risposte migliori per un determinato prompt. Il contesto può essere tratto da file nell'IDE, file nelle cartelle di sistema locali, risposte dello strumento e dettagli del prompt. Per saperne di più, vedi Contesto della modalità Agente.

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 mostra in dettaglio le posizioni dei file di contesto per diversi ambiti:

    Ambito Località
    Tutti i tuoi progetti ~/.gemini/GEMINI.md
    Un progetto specifico La directory di lavoro o qualsiasi directory principale fino alla radice del progetto (identificata da una cartella .git) o alla directory home.
    Un componente, un modulo o una sottosezione specifici 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 eventuali regole, informazioni sulla guida di stile o contesto che vuoi che l'agente utilizzi in Markdown e salva il file. Per maggiori informazioni, 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 eventuali regole, informazioni sulla guida di stile o 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 contesto includendo manualmente un file con la sintassi @FILENAME, dove FILENAME è il nome del file con le informazioni contestuali che vuoi includere.

Utilizzare i comandi

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

VS Code

Puoi utilizzare i seguenti comandi dell'interfaccia a riga di comando Gemini in modalità agente:

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

Per ulteriori informazioni sui comandi dell'interfaccia a riga di comando di Gemini, consulta Comandi dell'interfaccia a riga di comando di Gemini. Tieni presente che non tutti i comandi dell'interfaccia a riga di comando Gemini sono disponibili in modalità agente.

IntelliJ

Questa funzionalità non è supportata nell'Assistente codice Gemini per IntelliJ o 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 workspace 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à Agente utilizza la modalità YOLO e non chiede l'autorizzazione prima di intraprendere azioni quando invii un prompt. Quando utilizzi uno spazio di lavoro con limitazioni, l'agente ti chiederà conferma prima di intraprendere azioni, indipendentemente da questa impostazione.

IntelliJ

Per approvare automaticamente le modifiche, nella scheda dell'agente Gemini Chat, seleziona Impostazioni Opzioni agente e poi fai clic sulla casella di controllo accanto ad Approva automaticamente le modifiche.

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

Prompt aggiuntivi

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]"."
  • "Refattorizza le funzioni [A] e [B] per utilizzare il metodo comune [C]."
  • "Risolvi il problema di GitHub [link-to-github-issue]."
  • "Crea un'applicazione per [obiettivo] con una UI che consenta all'utente di [attività] in [ambiente]."
  • "Migrate library versions in this repository from [X] to [Y]." (Esegui la migrazione delle versioni della libreria in questo repository da [X] a [Y].)
  • "Ottimizza le prestazioni 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]."

Passaggi successivi