Guida introduttiva: Usare la modalità di agente Copilot GitHub

La modalità agente consente di GitHub Copilot orchestrare gli strumenti forniti dall'estensione MSSQL per Visual Studio Code. Quando l'estensione è installata e attiva, GitHub Copilot può elencare le connessioni Microsoft SQL Server, connettersi a un server e a un database, recuperare i metadati dello schema ed eseguire query, tutte da prompt in linguaggio naturale, con l'approvazione in ogni azione.

Tutte le azioni usano lo stesso contesto di connessione e le stesse credenziali dell'estensione MSSQL. La modalità agente non introduce altre modifiche all'autenticazione o all'autorizzazione.

Tip

Usare la modalità agente per flussi di lavoro in più passaggi, esplorazione su larga scala e modifiche delegate. Usare la modalità ask quando è necessaria una singola risposta o una query monouso. Usare la modalità piano quando è necessario ragionare su una progettazione prima di scrivere Transact-SQL (T-SQL) data definition language (DDL).

Messaggi chiave:

  • La modalità agente preleva automaticamente gli strumenti di estensione MSSQL. Nessuna @mssql menzione obbligatoria.
  • Ogni chiamata di strumento richiede l'approvazione prima dell'esecuzione.
  • La modalità agente è compatibile con lo schema tramite i relativi strumenti: ogni chiamata di strumento restituisce dati reali dal database connesso.
  • Per il contesto dell'architettura in tutte le superfici, vedere Come funziona GitHub Copilot con l'estensione MSSQL.

Quando usare la modalità agente

La modalità agente è ideale per:

  • Flussi di lavoro in più passaggi. "Connetti a LocalDev, passa a AdventureWorks, quindi mostra ogni tabella con una chiave esterna al cliente".
  • Esplorazione su larga scala. "Trovare tutte le stored procedure che fanno riferimento a SalesOrderHeader e riepilogare le operazioni che ognuno esegue".
  • Modifiche delegate. "Aggiungere colonne di controllo a ogni tabella nello schema Sales e rigenerare le stored procedure correlate".

Usare la modalità ask quando una singola domanda o una query monouso risponde alle proprie esigenze. Usare i comandi slash quando si conosce già l'azione desiderata. Usare la modalità piano quando si desidera un piano scritto prima di eventuali modifiche.

Per informazioni dettagliate su come la modalità agente seleziona ed esegue gli strumenti, vedere la documentazione Visual Studio Code sulla modalità agente.

Che cos'è la modalità agente?

La modalità agente consente a GitHub Copilot di eseguire azioni correlate a SQL usando l'estensione MSSQL e la conferma dell'utente è necessaria prima dell'esecuzione.

È possibile richiamare queste azioni usando variabili di chat come #mssql_connect, o inviando richieste equivalenti in linguaggio naturale, ad esempio:

Connect to my Library database using my LocalDev profile

Screenshot dell'interfaccia di chat in modalità agente Copilot di GitHub.

Informazioni di riferimento per lo strumento modalità agente MSSQL

Questa sezione fornisce un riferimento dettagliato per gli strumenti specifici di SQL disponibili in modalità Agente Copilot di GitHub. L'estensione MSSQL contribuisce a questi strumenti, consentendo a GitHub Copilot di eseguire azioni tramite variabili di chat o prompt del linguaggio naturale. Tutti gli strumenti richiedono la conferma dell'utente prima dell'esecuzione.

Screenshot dell'elenco degli strumenti specifici di SQL forniti dall'estensione MSSQL in modalità agente Copilot.

Tip

È anche possibile usare variabili di chat come #mssql_connect richiamare direttamente questi strumenti o scrivere richieste in linguaggio naturale, ad esempio:

Connect to my development database

GitHub Copilot gestisce automaticamente la selezione degli strumenti.

Gestione delle connessioni

Nome dello strumento Description
connect Si connette a un database utilizzando un profilo di connessione salvato o un server e un database specificati.
disconnect Termina la sessione di connessione attiva corrente.
change_database Modifica il database per una sessione di connessione esistente.
get_connection_details Ottiene i dettagli della connessione per una connessione MSSQL specifica.
list_servers Elenca tutti i profili di connessione di SQL Server salvati nell'ambiente in uso.
list_databases Elenca tutti i database disponibili per un server MSSQL connesso.

Examples

Usare le frasi seguenti per interagire con GitHub Copilot.

- Connect to my LocalDev environment
- Disconnect from my current database
- List my available connection profiles
- List all databases in the localhost server
- Set the active connection to localhost
- Set AdventureWorks as the active database
- Get the connection string for AdventureWorks on localhost

Screenshot dell'esempio che usa uno strumento agente per connettersi a un database nella chat di GitHub Copilot.

Funzionamento della logica di connessione

La modalità agente di GitHub Copilot supporta modi flessibili per connettersi al database SQL, facendo riferimento ai profili salvati o specificando direttamente un server e un database. Ecco come funziona la logica di connessione.

Quando ci si connette con un profilo salvato:

  1. Ci si connette facendo riferimento al nome di un profilo di connessione salvato.
  2. GitHub Copilot usa lo mssql_list_servers strumento per verificare l'esistenza del profilo.
  3. Lo mssql_connect strumento usa quindi i parametri salvati profileId e i relativi parametri per stabilire la connessione.

Quando ci si connette specificando un server e un database:

  • Se un profilo salvato corrisponde sia al server che al database specificati:

    1. GitHub Copilot usa mssql_list_servers per trovare la corrispondenza.
    2. Chiama quindi mssql_connect usando il profilo completo.
  • Se un profilo salvato corrisponde solo al server:

    1. GitHub Copilot trova il profilo server corrispondente.
    2. Tenta di connettersi sostituendo il database richiesto dall'utente in tale profilo.
    3. Se la connessione non riesce, viene visualizzato un errore.
  • Se nessun profilo corrisponde al server specificato:

    • GitHub Copilot segnala un errore.

Questo sistema di corrispondenza flessibile consente di GitHub Copilot gestire una serie di scenari di connessione. Riduce al minimo lo sforzo dell'utente garantendo azioni sicure e verificabili.

Esplorazione dello schema

Nome dello strumento Description
show_schema Visualizza un diagramma generale dello schema del database connesso, incluse tabelle e relazioni.
list_schemas Elenca tutti gli schemi in un database per un server MSSQL connesso.
list_tables Elenca tutte le tabelle in un database per un server MSSQL connesso.
list_views Elenca tutte le viste in un database per un server MSSQL connesso.
list_functions Elenca tutte le funzioni in un database per un server MSSQL connesso.

Examples

Usare le frasi seguenti per interagire con GitHub Copilot.

- Show me the schema for this database
- Show me all tables in the current database
- List all views from this MSSQL database
- Give me a list of all the functions available in this schema
- What schemas are available in this database?

Screenshot dell'animazione che mostra lo strumento visualizzatore dello schema del database in modalità agente Copilot.

Esecuzione della query

Nome dello strumento Description
run_query Esegue una query SQL sul database al quale è connesso.

Examples

Usare le frasi seguenti per interagire con GitHub Copilot.

- Give me the top five posts published this week
- Execute the current file to find how many comments each post has
- Get all categories along with the number of posts in each

Screenshot dell'esempio che usa uno strumento agente per connettersi a un database e recuperare i dati.

Screenshot di un altro esempio che usa uno strumento agente per connettersi a un database e recuperare i dati.

Modalità di gestione degli strumenti in modalità agente

GitHub Copilot può usare strumenti specifici di MSSQL e altri strumenti forniti dall'estensione durante l'elaborazione della richiesta. È possibile visualizzare questi strumenti nell'interfaccia Modalità agente nel menu Strumenti , in cui è anche possibile attivare o disattivare strumenti specifici.

Quando si richiama uno strumento, soprattutto se interagisce con il computer o il database, GitHub Copilot chiede conferma per garantire l'esecuzione sicura. È possibile consentire lo strumento solo per la sessione corrente, l'area di lavoro o in modo permanente.

Per altre informazioni sulla visibilità e le approvazioni degli strumenti, vedere Gestire le approvazioni degli strumenti.

Flusso di lavoro di conferma della modalità agente

Quando GitHub Copilot seleziona uno strumento, viene visualizzata una finestra di dialogo di conferma che mostra i dettagli sull'azione richiesta. È necessario approvare in modo esplicito la richiesta prima di poter eseguire tutti i comandi che interagiscono con il computer o il database:

  • Consenti in questa sessione
  • Consenti in quest'area di lavoro
  • Consenti sempre

Questo passaggio di conferma garantisce interazioni intenzionali e sicure con l'ambiente di sviluppo.

Note

Per altre informazioni sul funzionamento della conferma in tutti gli strumenti in modalità agente, vedere la documentazione di Visual Studio Code sulle approvazioni degli strumenti.

Catalogo richieste modalità agente

Usare questi prompt in linguaggio naturale per richiamare gli strumenti di estensione MSSQL tramite la modalità agente. Per ogni categoria, viene fatto riferimento incrociato a un comando barra equivalente o un prompt della modalità di richiesta .

Gestione delle connessioni

Connect to my LocalDev profile and set AdventureWorks as the active database.
List all my saved connection profiles and tell me which one I'm currently connected to.
Disconnect from my current database.

Comandi slash equivalenti: /connect, /listServers, /changeDatabase, /disconnect.

Esplorazione dello schema

Show me every table in the SalesLT schema, grouped by whether they're
referenced by a foreign key from another table.
Find all stored procedures that reference SalesLT.SalesOrderHeader and
summarize what each one does in one sentence.
Which tables in the current database have no primary key?

Equivalenti chiedono prompt: vedere Chat con il @mssql partecipante.

Esecuzione della query

Run a query to count the number of active customers in SalesLT.Customer,
then show me the top 10 by order total.
Show me the execution plan for this query: SELECT ... FROM ...
Execute the last query I ran against my Dev database instead.

Flussi di lavoro in più passaggi

Connect to LocalDev, switch to AdventureWorks, list all tables with a
foreign key to SalesLT.Customer, and save the list to a file called
customer-dependents.md.
Find every stored procedure that uses dynamic SQL and open each one
in a new editor tab so I can review them.

Modifiche dello schema delegate

Note

Le modifiche dello schema sono candidati validi per l'esecuzione tramite la modalità di piano . Pianificare le modifiche, esaminarle, quindi consegnare il piano alla modalità agente per l'esecuzione.

Add createdAt and updatedAt audit columns to every table in the Sales
schema that doesn't already have them. Use DATETIME2(7) with a default
of GETUTCDATE().
Regenerate every stored procedure that inserts into SalesLT.Customer
to include the new email column.