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 possibile di dettagli.

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 sulla CLI 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 tuo 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 personalizzati.

Controllare l'utilizzo degli strumenti integrati

La modalità Agente ha accesso agli strumenti integrati come ricerca file, lettura file, scrittura file, 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à eseguito solo il 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 della CLI Gemini.

IntelliJ

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

Configurare i server MCP

VS Code

Per controllare quali server sono disponibili in modalità agente, aggiungili al file JSON delle impostazioni di Gemini in base alla documentazione del server.

  1. Installa le dipendenze richieste dal server MCP.
  2. Apri il file JSON delle impostazioni di Gemini che si trova in ~/.gemini/settings.json, dove ~ è la tua home directory.
  3. Aggiungi server MCP locali o remoti al file JSON delle impostazioni di Gemini in base alle istruzioni del server.

    L'esempio seguente aggiunge il server MCP Cloudflare remoto e installa i server GitHub e GitLab 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 controllare quali server sono disponibili in modalità agente, aggiungili a un file mcp.json e inseriscilo nella directory di configurazione del tuo IDE.

  1. Installa le dipendenze richieste dal server MCP.
  2. Crea un file mcp.json nella directory di configurazione dell'IDE.
  3. Aggiungi server MCP locali o remoti al file JSON delle impostazioni di Gemini in base alle istruzioni del server.

    L'esempio seguente aggiunge il server MCP Cloudflare remoto e installa i server GitHub e GitLab 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.

VS Code

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

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

{
//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...
}

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 GitHub:

{
//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...
}

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 che si applichi 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 tutte le regole, le informazioni sulla guida di stile o il 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 tutte le regole, le informazioni sulla 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 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 della CLI Gemini in modalità agente:

  • /tools: mostra un elenco di 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 di Gemini CLI, consulta Comandi di Gemini CLI. 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. 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 a 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