Inicio rápido: Uso del modo agente de Copilot de GitHub

El modo de agente permite GitHub Copilot orquestar las herramientas aportadas por la extensión MSSQL para Visual Studio Code. Cuando la extensión está instalada y activa, GitHub Copilot puede enumerar Microsoft SQL Server conexiones, conectarse a un servidor y una base de datos, recuperar metadatos de esquema y ejecutar consultas, todas ellas desde mensajes de lenguaje natural, con su aprobación en cada acción.

Todas las acciones usan el mismo contexto de conexión y credenciales que la extensión MSSQL. El modo de agente no introduce otros cambios de autenticación o permiso.

Tip

Use el modo de agente para flujos de trabajo de varios pasos, exploración a escala y cambios delegados. Use el modo de pregunta cuando necesite una sola respuesta o una consulta de una sola toma. Use el modo de planeación cuando necesite analizar un diseño antes de escribir lenguaje de definición de datos (DDL) de Transact-SQL (T-SQL).

Conclusiones clave

  • El modo de agente recoge automáticamente las herramientas de extensión de MSSQL. No se requiere ninguna mención de @mssql.
  • Cada llamada a herramienta requiere la aprobación antes de la ejecución.
  • El modo de agente tiene conocimiento del esquema gracias a sus herramientas: cada llamada a una herramienta devuelve datos reales de tu base de datos conectada.
  • Para ver el contexto arquitectónico en todas las superficies, consulte Cómo funciona GitHub Copilot con la extensión MSSQL.

Cuándo usar el modo de agente

El modo de agente es el mejor para:

  • Flujos de trabajo de varios pasos. "Conéctese a LocalDev, cambie a AdventureWorks y, a continuación, muéstrame todas las tablas con una clave externa al cliente".
  • Exploración a gran escala. "Busque los procedimientos almacenados que hagan referencia a SalesOrderHeader y resuma lo que hace cada uno".
  • Cambios delegados. "Agregue columnas de auditoría a cada tabla del esquema Sales y vuelva a generar los procedimientos almacenados relacionados".

Use el modo de pregunta cuando una sola pregunta o una consulta de una sola toma responda a su necesidad. Use comandos de barra diagonal cuando ya sepa qué acción desea. Use el modo de plan cuando desee un plan escrito antes de cualquier cambio.

Para obtener más información sobre cómo el modo de agente selecciona y ejecuta herramientas, consulte la documentación de Visual Studio Code en el modo de agente.

¿Qué es el modo de agente?

El modo agente permite a GitHub Copilot realizar acciones relacionadas con SQL mediante la extensión MSSQL y se requiere confirmación del usuario antes de la ejecución.

Puede invocar estas acciones mediante variables de chat como #mssql_connect, o emitiendo solicitudes de lenguaje natural equivalentes, por ejemplo:

Connect to my Library database using my LocalDev profile

Captura de pantalla de la interfaz de chat del modo de agente copilot de GitHub.

Referencia de la herramienta para el modo agente de MSSQL

En esta sección se proporciona una referencia detallada para las herramientas específicas de SQL disponibles en el modo del agente copilot de GitHub. La extensión MSSQL contribuye a estas herramientas, lo que permite a GitHub Copilot ejecutar acciones a través de variables de chat o mensajes de lenguaje natural. Todas las herramientas requieren confirmación del usuario antes de la ejecución.

Captura de pantalla de la lista de herramientas específicas de SQL que ha contribuido la extensión MSSQL en el modo agente de Copilot.

Tip

También puede usar variables de chat como #mssql_connect invocar estas herramientas directamente o escribir mensajes en lenguaje natural, como:

Connect to my development database

GitHub Copilot controla automáticamente la selección de herramientas.

Administración de conexiones

Nombre de la herramienta Description
connect Se conecta a una base de datos mediante un perfil de conexión guardado o un servidor y una base de datos especificados.
disconnect Finaliza la sesión de conexión activa actual.
change_database Cambia la base de datos de una sesión de conexión existente.
get_connection_details Obtiene los detalles de conexión de una conexión MSSQL específica.
list_servers Enumera todos los perfiles de conexión de SQL Server guardados en su entorno.
list_databases Enumera todas las bases de datos disponibles para un servidor MSSQL conectado.

Examples

Use las siguientes frases para interactuar 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

Captura de pantalla del ejemplo mediante una herramienta de agente para conectarse a una base de datos en el chat de GitHub Copilot.

Funcionamiento de la lógica de conexión

El modo agente copilot de GitHub admite formas flexibles de conectarse a la base de datos SQL, ya sea haciendo referencia a perfiles guardados o especificando directamente un servidor y una base de datos. Aquí se muestra cómo funciona la lógica de conexión.

Cuando te conectas con un perfil guardado:

  1. Para conectarse, haga referencia al nombre de un perfil de conexión guardado.
  2. GitHub Copilot usa la mssql_list_servers herramienta para comprobar que el perfil existe.
  3. A continuación, la herramienta mssql_connect usa el profileId guardado y sus parámetros para establecer la conexión.

Al conectarse especificando un servidor y una base de datos:

  • Si un perfil guardado coincide con el servidor y la base de datos especificados:

    1. GitHub Copilot usa mssql_list_servers para buscar la coincidencia.
    2. A continuación, llama a mssql_connect utilizando el perfil completo.
  • Si un perfil guardado coincide solo con el servidor:

    1. GitHub Copilot busca el perfil de servidor coincidente.
    2. Intenta conectarse sustituyendo la base de datos solicitada por el usuario en ese perfil.
    3. Si se produce un error en la conexión, se muestra un error.
  • Si ningún perfil coincide con el servidor especificado:

    • GitHub Copilot notifica un error.

Este sistema de coincidencia flexible permite GitHub Copilot controlar una variedad de escenarios de conexión. Minimiza el esfuerzo del usuario a la vez que garantiza acciones seguras y confirmables.

Exploración de esquemas

Nombre de la herramienta Description
show_schema Muestra un diagrama de alto nivel del esquema de base de datos conectado, incluidas las tablas y las relaciones.
list_schemas Enumera todos los esquemas de una base de datos para un servidor MSSQL conectado.
list_tables Enumera todas las tablas de una base de datos para un servidor MSSQL conectado.
list_views Enumera todas las vistas de una base de datos para un servidor MSSQL conectado.
list_functions Enumera todas las funciones de una base de datos para un servidor MSSQL conectado.

Examples

Use las siguientes frases para interactuar 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?

Captura de pantalla de la animación que muestra la herramienta visualizador de esquemas de base de datos en modo agente de Copilot.

Ejecución de consultas

Nombre de la herramienta Description
run_query Ejecuta una consulta SQL en la base de datos conectada.

Examples

Use las siguientes frases para interactuar 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

Captura de pantalla del ejemplo mediante una herramienta de agente para conectarse a una base de datos y recuperar datos.

Captura de pantalla de otro ejemplo mediante una herramienta de agente para conectarse a una base de datos y recuperar datos.

Cómo se administran las herramientas en modo agente

GitHub Copilot puede usar herramientas específicas de MSSQL y otras herramientas de extensión aportadas mientras procesa la solicitud. Puede ver estas herramientas en la interfaz modo de agente en el menú Herramientas , donde también puede activar o desactivar herramientas específicas.

Al invocar una herramienta, especialmente si interactúa con la máquina o la base de datos, GitHub Copilot solicita confirmación para garantizar la ejecución segura. Puede permitir esta herramienta solo para la sesión actual, el área de trabajo o permanentemente.

Para obtener más información sobre la visibilidad y las aprobaciones de herramientas, consulte Administración de aprobaciones de herramientas.

Flujo de trabajo de confirmación del modo de agente

Cuando GitHub Copilot selecciona una herramienta, se le presenta un cuadro de diálogo de confirmación que muestra detalles sobre la acción solicitada. Debe aprobar explícitamente la solicitud para poder ejecutar cualquier comando que interactúe con la máquina o la base de datos:

  • Permitir en esta sesión
  • Permitir en este espacio de trabajo
  • Permitir siempre

Este paso de confirmación ayuda a garantizar interacciones seguras e intencionadas con el entorno de desarrollo.

Note

Para obtener más información sobre cómo funciona la confirmación en todas las herramientas del modo agente, consulte la documentación de Visual Studio Code sobre aprobaciones de herramientas.

Catálogo de mensajes del modo de agente

Use estas indicaciones de lenguaje natural para invocar las herramientas de extensión de MSSQL a través del modo de agente. Para cada categoría, se hace referencia cruzada a un comando de barra diagonal equivalente o al símbolo del modo de solicitud .

Administración de conexiones

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.

Comandos de barra diagonal equivalentes: /connect, /listServers, /changeDatabase, /disconnect.

Exploración de esquemas

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?

Los equivalentes solicitan indicaciones: consulte Chatear con el @mssql participante.

Ejecución de consultas

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.

Flujos de trabajo de varios pasos

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.

Cambios de esquema delegados

Note

Los cambios de esquema son buenos candidatos para pasar primero por el modo de planificación. Planee los cambios, repárelos y, a continuación, entregue el plan al modo de agente para su ejecución.

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.