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

La modalità agente è disponibile nell'IDE VS Code.

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

Quando utilizzi la modalità Agente, si applicano le seguenti limitazioni:

  • L'agente non può chiamare gli strumenti Gemini Code Assist. Per utilizzare questi strumenti, devi uscire dalla modalità Agente.
  • L'agente non può utilizzare la personalizzazione del codice. Per utilizzare la personalizzazione del codice, devi uscire dalla modalità Agente.
  • I progetti con più radici non sono supportati in modalità agente. Se utilizzi la modalità agente in un progetto con più directory radice, l'agente ha accesso solo alla prima directory radice che incontra.
  • I log di Gemini in Google Cloud non sono supportati in modalità agente.

Prima di iniziare

  1. Configura la versione di Gemini Code Assist che vuoi utilizzare nel tuo IDE:
  2. Imposta il canale di rilascio di Gemini Code Assist sulla build Insiders:
    1. Apri la tavolozza dei comandi (Cmd + Shift + P) e poi seleziona Apri JSON impostazioni utente.
    2. Aggiungi la seguente riga al file JSON delle impostazioni utente:
      "geminicodeassist.updateChannel": "Insiders",

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

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

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.

Configurare i server MCP

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

VS Code

  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

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

Autenticazione del server MCP

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.

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.

IntelliJ

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

Utilizzare i comandi

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

Puoi utilizzare i seguenti comandi della CLI Gemini in modalità agente:

  • /tools: mostra un elenco di strumenti disponibili nella sessione della modalità Agente. I sottocomandi includono quanto segue:
    • desc o descriptions: mostra descrizioni dettagliate di ogni strumento.
    • nodesc o nodescriptions: nasconde le descrizioni degli strumenti e mostra solo i nomi degli strumenti.
  • /memory: gestisce il contesto didattico dell'agente caricato dai file GEMINI.md. I sottocomandi includono quanto segue:
    • show: mostra il contenuto completo concatenato della memoria attuale caricata da tutti i file GEMINI.md disponibili.
    • refresh: ricarica la memoria da tutti i file GEMINI.md nelle posizioni disponibili. Per informazioni su come i file GEMINI.md contribuiscono alla memoria gerarchica dell'agente, consulta la documentazione sulla configurazione della CLI Gemini.
  • /mcp: elenca i server Model Context Protocol (MCP) configurati, il loro stato della connessione, i dettagli del server e gli strumenti disponibili. I sottocomandi includono i seguenti:
    • desc o descriptions: mostra descrizioni dettagliate dei server MCP e degli strumenti.
    • nodesc o nodescriptions: nasconde le descrizioni dei server MCP e mostra solo i nomi dei server MCP.
    • schema: mostra lo schema JSON completo per i parametri configurati del server MCP.
  • /stats: mostra statistiche e durata dettagliate della sessione in modalità Agente.

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.

Consenti sempre le azioni dell'agente

Puoi consentire automaticamente tutte le azioni dell'agente.

Per consentire automaticamente tutte le azioni dell'agente:

  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.

Creare estensioni della CLI Gemini

Puoi utilizzare le estensioni della CLI Gemini per configurare ed estendere la funzionalità della modalità agente di Gemini Code Assist.

L'agente cerca le estensioni in due posizioni:

  • WORKSPACE/.gemini/extensions dove WORKSPACE è il tuo spazio di lavoro attuale.
  • ~/.gemini/extensions dove ~ è la tua home directory.

L'agente carica tutte le estensioni da entrambe le posizioni, ma se esiste un'estensione con lo stesso nome in entrambe, quella nella directory del workspace avrà la precedenza. Ogni estensione è una directory che contiene un file gemini-extension.json. Questo file contiene la configurazione dell'estensione.

Per saperne di più, vedi Estensioni della CLI Gemini.

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